├── Installer ├── 7za.exe ├── dependencies │ ├── netcorecheck.exe │ └── netcorecheck_x64.exe ├── unzip.iss ├── Fusion-ID-Installer.iss └── CodeDependencies.iss ├── Mods ├── PVZ_Hyper_Fusion.dll ├── PVZ_Hyper_Fusion │ ├── Textures │ │ ├── image │ │ │ └── Sproing.png │ │ ├── particle │ │ │ ├── guang.png │ │ │ ├── doom │ │ │ │ └── Doom.png │ │ │ ├── ExplosionPowie.png │ │ │ ├── ExplosionSpudow.png │ │ │ └── SunExplosionPowie.png │ │ ├── board │ │ │ ├── rsp │ │ │ │ ├── FinalWave.png │ │ │ │ ├── HugeWave.png │ │ │ │ ├── StartSet.png │ │ │ │ ├── StartPlant.png │ │ │ │ └── StartReady.png │ │ │ └── FlagMeterLevelProgress.png │ │ └── ui │ │ │ └── sprite │ │ │ ├── menu │ │ │ └── options_menuback.png │ │ │ └── mainmenu │ │ │ ├── SelectorScreen_Help1.png │ │ │ ├── SelectorScreen_Help2.png │ │ │ ├── SelectorScreen_Quit1.png │ │ │ ├── SelectorScreen_Quit2.png │ │ │ ├── SelectorScreen_Store.png │ │ │ ├── SelectorScreen_Almanac.png │ │ │ ├── SelectorScreen_Options1.png │ │ │ ├── SelectorScreen_Options2.png │ │ │ ├── SelectorScreen_WoodSign1.png │ │ │ ├── SelectorScreen_WoodSign2.png │ │ │ ├── SelectorScreen_ZenGarden.png │ │ │ ├── SelectorScreen_StoreHighlight.png │ │ │ ├── SelectorScreen_Survival_button.png │ │ │ ├── SelectorScreen_WoodSign2_press.png │ │ │ ├── SelectorScreen_Adventure_button.png │ │ │ ├── SelectorScreen_AlmanacHighlight.png │ │ │ ├── SelectorScreen_Challenge_button.png │ │ │ ├── SelectorScreen_Challenges_button.png │ │ │ ├── SelectorScreen_Survival_highlight.png │ │ │ ├── SelectorScreen_Vasebreaker_button.png │ │ │ ├── SelectorScreen_ZenGardenHighlight.png │ │ │ ├── SelectorScreen_Adventure_highlight.png │ │ │ ├── SelectorScreen_Challenge_highlight.png │ │ │ ├── SelectorScreen_Challenges_highlight.png │ │ │ ├── SelectorScreen_StartAdventure_Button1.png │ │ │ ├── SelectorScreen_vasebreaker_highlight.png │ │ │ └── SelectorScreen_StartAdventure_Highlight.png │ └── Strings │ │ └── translation_regexs.json └── PVZ_Hyper_Fusion.deps.json ├── NOTICE.txt ├── .gitignore ├── .github └── workflows │ └── build-iss.yaml ├── README.md ├── README.txt └── LICENSE /Installer/7za.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Installer/7za.exe -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion.dll -------------------------------------------------------------------------------- /Installer/dependencies/netcorecheck.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Installer/dependencies/netcorecheck.exe -------------------------------------------------------------------------------- /Installer/dependencies/netcorecheck_x64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Installer/dependencies/netcorecheck_x64.exe -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/image/Sproing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/image/Sproing.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/particle/guang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/particle/guang.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/board/rsp/FinalWave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/board/rsp/FinalWave.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/board/rsp/HugeWave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/board/rsp/HugeWave.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/board/rsp/StartSet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/board/rsp/StartSet.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/particle/doom/Doom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/particle/doom/Doom.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/board/rsp/StartPlant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/board/rsp/StartPlant.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/board/rsp/StartReady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/board/rsp/StartReady.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/particle/ExplosionPowie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/particle/ExplosionPowie.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/particle/ExplosionSpudow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/particle/ExplosionSpudow.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/particle/SunExplosionPowie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/particle/SunExplosionPowie.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/board/FlagMeterLevelProgress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/board/FlagMeterLevelProgress.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/menu/options_menuback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/menu/options_menuback.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Help1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Help1.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Help2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Help2.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Quit1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Quit1.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Quit2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Quit2.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Store.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Almanac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Almanac.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Options1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Options1.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Options2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Options2.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_WoodSign1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_WoodSign1.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_WoodSign2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_WoodSign2.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_ZenGarden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_ZenGarden.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_StoreHighlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_StoreHighlight.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Survival_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Survival_button.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_WoodSign2_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_WoodSign2_press.png -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- 1 | MelonLoader 2 | Copyright 2020 - 2022 Lava Gang 3 | 4 | This product contains software (https://github.com/LavaGang/MelonLoader) developed 5 | by Lava Gang, licensed under the Apache-2.0 license. -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Adventure_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Adventure_button.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_AlmanacHighlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_AlmanacHighlight.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Challenge_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Challenge_button.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Challenges_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Challenges_button.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Survival_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Survival_highlight.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Vasebreaker_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Vasebreaker_button.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_ZenGardenHighlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_ZenGardenHighlight.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Adventure_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Adventure_highlight.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Challenge_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Challenge_highlight.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Challenges_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_Challenges_highlight.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_StartAdventure_Button1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_StartAdventure_Button1.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_vasebreaker_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_vasebreaker_highlight.png -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_StartAdventure_Highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotValen/Fusion-ID/HEAD/Mods/PVZ_Hyper_Fusion/Textures/ui/sprite/mainmenu/SelectorScreen_StartAdventure_Highlight.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # RH File 2 | version.dll 3 | UnityPlayer.dll 4 | UnityCrashHandler64.exe 5 | Texture2DDecoderNative.dll 6 | PlantsVsZombiesRH.exe 7 | GameAssembly.dll 8 | dobby.dll 9 | compile_time.txt 10 | baselib.dll 11 | PlantsVsZombiesRH_Data/* 12 | *.log 13 | unins000.dat 14 | unins000.exe 15 | unins001.dat 16 | unins001.exe 17 | unins002.dat 18 | unins002.exe 19 | unins003.dat 20 | unins003.exe 21 | 22 | # DEV Tools 23 | PVZ_Hyper_Fusion_Dev_Tools.exe 24 | PVZ_Hyper_Fusion_Dev_Tools.exe.config 25 | translation_strings.json.bak 26 | translation_strings.json.x 27 | Installer/Output/* 28 | Installer/Certs/* 29 | Installer/*.exe 30 | 31 | # Melon Loader File 32 | AutoTranslator 33 | MelonLoader 34 | Plugins 35 | UserData 36 | UserLibs 37 | Mods/README (AutoTranslator).md 38 | Mods/XUnity.AutoTranslator.Plugin.MelonMod.dll 39 | -------------------------------------------------------------------------------- /.github/workflows/build-iss.yaml: -------------------------------------------------------------------------------- 1 | permissions: 2 | contents: write 3 | 4 | name: Build Installer 5 | 6 | # Controls when the workflow will run 7 | on: 8 | push: 9 | tags: 10 | - "**" 11 | 12 | # Allows you to run this workflow manually from the Actions tab 13 | workflow_dispatch: 14 | 15 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 16 | jobs: 17 | # This workflow contains a single job called "build" 18 | build: 19 | # The type of runner that the job will run on 20 | runs-on: windows-latest 21 | 22 | # Steps represent a sequence of tasks that will be executed as part of the job 23 | steps: 24 | - uses: actions/checkout@v4 25 | 26 | - name: Compile .ISS to .EXE Installer 27 | uses: Minionguyjpro/Inno-Setup-Action@v1.2.2 28 | with: 29 | path: Installer/Fusion-ID-Installer.iss 30 | options: /O+ 31 | - name: Upload Release 32 | uses: ncipollo/release-action@v1.12.0 33 | with: 34 | allowUpdates: "true" 35 | omitBody: true 36 | artifacts: "Installer/Output/Fusion-ID-Installer.exe" 37 | token: ${{ secrets.GITHUB_TOKEN }} 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ``` 2 | ____ __ __ 3 | / __ \/ /___ _____ / /______ _ __ _____ 4 | / /_/ / / __ `/ __ \/ __/ ___/ | | / / / ___/ 5 | / ____/ / /_/ / / / / /_(__ ) | |/ / (__ ) 6 | /_/ /_/\__,_/_/ /_/\__/____/ |___/ /____/ 7 | ______ _ _ 8 | |___ / | | (_) 9 | / / ___ _ __ ___ | |__ _ ___ ___ 10 | / / / _ \| '_ ` _ \| '_ \| |/ _ \/ __| 11 | / /_| (_) | | | | | | |_) | | __/\__ \ 12 | /_____\___/|_| |_| |_|_.__/|_|\___||___/ Fusion 13 | Diterjemahkan oleh: FUSION-ID TEAM 14 | ``` 15 | 16 | 17 | KALAU MAU LEBIH MUDAH DOWNLOAD VERSI FAN ENGLISH 18 | 19 | [KLIK UNTUK DOWNLOAD PVZ FUSION CHINA/ENGLISH](https://rentry.co/fusion-id) 20 | 21 | 22 | Harap pastikan Anda menginstal [.NET DESKTOP 6.0 x64](https://dotnet.microsoft.com/id-id/download/dotnet/6.0). 23 | 24 | JIKA MENEMUKAN TRANSLATE YG SAMA NAMUN TIDAK DARI SINI MOHON CEPAT HAPUS. karena virus. 25 | 26 | 27 | Terjemahan: nama tanaman, dan nama zombie tidak resmi. Hal ini tidak didukung oleh tim pengembang resmi dengan cara atau apa pun. Semua yang disajikan di sini, selain tanaman dan zombie yang berasal dari game aslinya, adalah buatan penggemar. 28 | 29 | Terjemahan diperoleh dengan campuran Google Terjemahan dan masukan dari sesama anggota komunitas, dan banyak pendapat pribadi. Ambillah ini dengan hati-hati. Selain itu mohon maaf jika ada kesalahan dalam translasi karena saya juga manusia. 30 | 31 | Jika Kamu Punya saran atau keluhan apa pun, silakan menghubungi komunitas Discord. 32 | 33 | Discord Link: 34 |

35 | 36 | Discord Tag | valenferbyan 37 | 38 | Catatan: Kalau kamu dapatkan terjemahan ini *DIMANA PUN* seperti Plants Hybrid dan superhybrid.online, mereka mencurinya. Kunjungi komunitas untuk pembaruan di masa mendatang. 39 | 40 | DAN periksa Trello Board milik Dyna untuk penjelasan mendalam tentang mekanisme yang ditambahkan oleh game ini. 41 | 42 | LINK | https://trello.com/b/DcdT1kUp 43 | 44 | Terima kasih. 45 | 46 | Kredit: 47 | 48 | [LanPiaoPiao](https://space.bilibili.com/3546619314178489?spm_id_from=333.1369.opus.module_author_name.click) ↔︎ Pengembang asli game ini. 49 | 50 | [NaKune](https://github.com/ArifRios1st) → Membuat plugin yang memungkinkan terjemahan. [MAKASIH BANG ARIF!](https://github.com/ArifRios1st/PVZ-Hyper-Fusion-Mod) 51 | 52 | Lokasi Save an | C:\Users\[Your Username]\AppData\LocalLow\LanPiaoPiao\PlantsVsZombiesRH 53 | 54 | 55 | 56 | 57 | 58 | 59 | Cara Instalasi (Versi CHINA/EN): 60 | 61 | * [KLIK UDAH ADA INSTALLER NYA PILIH YANG DOTNET DAN MELONLOADER INSTALLER](https://github.com/NotValen/Fusion-ID/releases/tag/beta-0.4) 62 | 63 | * HAPUS FILE BERBAHASA CHINA (jika ada) DAN GANTI NAMA FOLDER BERBAHASA CHINA MENJADI "PVZrh" 64 | -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | 2 | ____ __ __ 3 | / __ \/ /___ _____ / /______ _ __ _____ 4 | / /_/ / / __ `/ __ \/ __/ ___/ | | / / / ___/ 5 | / ____/ / /_/ / / / / /_(__ ) | |/ / (__ ) 6 | /_/ /_/\__,_/_/ /_/\__/____/ |___/ /____/ 7 | ______ _ _ 8 | |___ / | | (_) 9 | / / ___ _ __ ___ | |__ _ ___ ___ 10 | / / / _ \| '_ ` _ \| '_ \| |/ _ \/ __| 11 | / /_| (_) | | | | | | |_) | | __/\__ \ 12 | /_____\___/|_| |_| |_|_.__/|_|\___||___/ Fusion 13 | Diterjemahkan oleh: Valen & Angga 14 | 15 | 16 | Terjemahan: nama tanaman, dan nama zombie tidak resmi. Hal ini tidak didukung oleh tim pengembang resmi dengan cara atau apa pun. Semua yang disajikan di sini, selain tanaman dan zombie yang berasal dari game aslinya, adalah buatan penggemar. 17 | 18 | Terjemahan diperoleh dengan campuran Google Terjemahan dan masukan dari sesama anggota komunitas, dan banyak pendapat pribadi. Ambillah ini dengan hati-hati. Selain itu mohon maaf jika ada kesalahan dalam translasi karena saya juga manusia. 19 | 20 | Jika Kamu Punya saran atau keluhan apa pun, silakan menghubungi komunitas Discord. 21 | 22 | Discord Link | https://discord.gg/FTfz45NGxh 23 | Discord Tag | valenferbyan 24 | 25 | Catatan: Kalau kamu dapatkan terjemahan ini *DIMANA PUN* seperti Plants Hybrid dan superhybrid.online, mereka mencurinya. Kunjungi komunitas untuk pembaruan di masa mendatang. 26 | 27 | DAN periksa Trello Board milik Dyna untuk penjelasan mendalam tentang mekanisme yang ditambahkan oleh game ini. 28 | 29 | LINK | https://trello.com/b/DcdT1kUp 30 | 31 | Terima kasih. 32 | 33 | Kredit: 34 | 35 | LanPiaoPiao ↔︎ Pengembang asli game ini. 36 | NaKune → Membuat plugin yang memungkinkan terjemahan. MAKASIH BANG ARIF! 37 | 38 | Lokasi Save an | C:\Users\[Your Username]\AppData\LocalLow\LanPiaoPiao\PlantsVsZombiesRH 39 | 40 | Basic Troubleshooting: 41 | 42 | - Game ini tidak akan berjalan pada sistem 32-bit. 43 | - Terjemahan ini hanya tersedia di PC. 44 | 45 | T: Bagaimana cara menjalankan gamenya? 46 | A: Klik dua kali `Luncurkan Game.bat`. 47 | 48 | T: Saya mendapatkan Kesalahan 0x00000005. 49 | J: Sistem Anda 32-bit. Game ini hanya akan berjalan pada sistem 64-bit. 50 | 51 | T: Ada kesalahan seperti "Mencoba membaca atau menulis memori yang dilindungi...", apa yang harus saya lakukan? 52 | A: Pindahkan folder game ke lokasi lain yaitu **BUKAN** C:\ *atau* Desktop. 53 | 54 | T: Kesalahan VCRUNTIME140.dll, apa yang harus saya lakukan? 55 | J: Instal VC-Redist-x64.exe dari .\_Redist 56 | 57 | T: Gagal menginisialisasi MelonLoader: Gagal memuat perpustakaan! Apa yang harus dilakukan? 58 | J: Instal WindowsDesktop-Runtime-6.0.18-WIN-x64.exe dari .\_Redist 59 | A: Alternatifnya, Anda dapat mencoba mengganti nama folder game menjadi PVZRH atau yang lainnya. 60 | 61 | T: Saya mendapatkan kesalahan berikut: 62 | * Harap pastikan Anda menginstal .NET 6.0. 63 | * Tidak mungkin menemukan versi kerangka kerja yang kompatibel. 64 | J: Instal WindowsDesktop-Runtime-6.0.18-WIN-x64.exe dari .\_Redist 65 | 66 | -------------------------------------------------------------------------------- /Installer/unzip.iss: -------------------------------------------------------------------------------- 1 | [Code] 2 | { 3 | Unzip Helper for executing 7zip without blocking the InnoSetup GUI 4 | 5 | ---- 6 | 7 | The main procedure is the non-blocking Unzip(). 8 | Your GUI will remain responsive during the unzip operation. 9 | 10 | Written by Rik and Jens A. Koch (@jakoch) on StackOverflow: 11 | http://stackoverflow.com/questions/32256432/how-to-execute-7zip-without-blocking-the-innosetup-ui 12 | 13 | ---- 14 | 15 | Usage: 16 | 17 | 1. Include this ISS with 18 | 19 | // #include "..\some\where\unzip.iss" 20 | 21 | 2. Add the unzip tool "7za.exe" to the [Files] section of your installer 22 | and copy it to the temp folder during installation. 23 | 24 | // [Files] 25 | // Source: ..\some\where\7za.exe; DestDir: {tmp}; Flags: dontcopy 26 | 27 | 3. Finally, extract your files using Unzip(source, target); in the [Code] section. 28 | } 29 | 30 | #IFDEF UNICODE 31 | #DEFINE AW "W" 32 | #ELSE 33 | #DEFINE AW "A" 34 | #ENDIF 35 | 36 | // --- Start "ShellExecuteEx" Helper 37 | 38 | const 39 | WAIT_TIMEOUT = $00000102; 40 | SEE_MASK_NOCLOSEPROCESS = $00000040; 41 | INFINITE = $FFFFFFFF; { Infinite timeout } 42 | 43 | type 44 | TShellExecuteInfo = record 45 | cbSize: DWORD; 46 | fMask: Cardinal; 47 | Wnd: HWND; 48 | lpVerb: string; 49 | lpFile: string; 50 | lpParameters: string; 51 | lpDirectory: string; 52 | nShow: Integer; 53 | hInstApp: THandle; 54 | lpIDList: DWORD; 55 | lpClass: string; 56 | hkeyClass: THandle; 57 | dwHotKey: DWORD; 58 | hMonitor: THandle; 59 | hProcess: THandle; 60 | end; 61 | 62 | function ShellExecuteEx(var lpExecInfo: TShellExecuteInfo): BOOL; 63 | external 'ShellExecuteEx{#AW}@shell32.dll stdcall'; 64 | function WaitForSingleObject(hHandle: THandle; dwMilliseconds: DWORD): DWORD; 65 | external 'WaitForSingleObject@kernel32.dll stdcall'; 66 | function CloseHandle(hObject: THandle): BOOL; external 'CloseHandle@kernel32.dll stdcall'; 67 | 68 | // --- End "ShellExecuteEx" Helper 69 | 70 | // --- Start "Application.ProcessMessage" Helper 71 | { 72 | InnoSetup does not provide Application.ProcessMessage(). 73 | This is "generic" code to recreate a "Application.ProcessMessages"-ish procedure, 74 | using the WinAPI function PeekMessage(), TranslateMessage() and DispatchMessage(). 75 | } 76 | type 77 | TMsg = record 78 | hwnd: HWND; 79 | message: UINT; 80 | wParam: Longint; 81 | lParam: Longint; 82 | time: DWORD; 83 | pt: TPoint; 84 | end; 85 | 86 | const 87 | PM_REMOVE = 1; 88 | 89 | function PeekMessage(var lpMsg: TMsg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL; external 'PeekMessageA@user32.dll stdcall'; 90 | function TranslateMessage(const lpMsg: TMsg): BOOL; external 'TranslateMessage@user32.dll stdcall'; 91 | function DispatchMessage(const lpMsg: TMsg): Longint; external 'DispatchMessageA@user32.dll stdcall'; 92 | 93 | procedure AppProcessMessage; 94 | var 95 | Msg: TMsg; 96 | begin 97 | while PeekMessage(Msg, WizardForm.Handle, 0, 0, PM_REMOVE) do begin 98 | TranslateMessage(Msg); 99 | DispatchMessage(Msg); 100 | end; 101 | end; 102 | 103 | // --- End "Application.ProcessMessage" Helper 104 | 105 | function Unzip(source: String; targetdir: String) : Boolean; 106 | var 107 | unzipTool, unzipParams : String; // path and param for the unzip tool 108 | ExecInfo: TShellExecuteInfo; // info object for ShellExecuteEx() 109 | begin 110 | // source and targetdir might contain {tmp} or {app} constant, so expand/resolve it to path names 111 | source := ExpandConstant(source); 112 | targetdir := ExpandConstant(targetdir); 113 | 114 | // prepare 7zip execution 115 | unzipTool := ExpandConstant('{tmp}\7za.exe'); 116 | unzipParams := ' x "' + source + '" -o"' + targetdir + '" -y'; 117 | 118 | // prepare information about the application being executed by ShellExecuteEx() 119 | ExecInfo.cbSize := SizeOf(ExecInfo); 120 | ExecInfo.fMask := SEE_MASK_NOCLOSEPROCESS; 121 | ExecInfo.Wnd := 0; 122 | ExecInfo.lpFile := unzipTool; 123 | ExecInfo.lpParameters := unzipParams; 124 | ExecInfo.nShow := SW_HIDE; 125 | 126 | if not FileExists(unzipTool) 127 | then begin 128 | MsgBox('UnzipTool not found: ' + unzipTool, mbError, MB_OK); 129 | result := False; 130 | end 131 | else if not FileExists(source) 132 | then begin 133 | MsgBox('File was not found while trying to unzip: ' + source, mbError, MB_OK); 134 | result := False; 135 | end 136 | else begin 137 | 138 | { 139 | The unzip tool is executed via ShellExecuteEx() 140 | Then the installer uses a while loop with the condition 141 | WaitForSingleObject and a very minimal timeout 142 | to execute AppProcessMessage. 143 | 144 | AppProcessMessage is itself a helper function, because 145 | Innosetup does not provide Application.ProcessMessages(). 146 | Its job is to be the message pump to the InnoSetup GUI. 147 | 148 | This trick makes the window responsive/dragable again, 149 | while the extraction is done in the background. 150 | } 151 | 152 | if ShellExecuteEx(ExecInfo) then 153 | begin 154 | while WaitForSingleObject(ExecInfo.hProcess, 100) = WAIT_TIMEOUT 155 | do begin 156 | AppProcessMessage; 157 | WizardForm.Refresh(); 158 | end; 159 | CloseHandle(ExecInfo.hProcess); 160 | result := True; 161 | end; 162 | 163 | end; 164 | end; -------------------------------------------------------------------------------- /Installer/Fusion-ID-Installer.iss: -------------------------------------------------------------------------------- 1 | ; Script generated by the Inno Setup Script Wizard. 2 | ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! 3 | 4 | #define MyAppName "Fusion-ID" 5 | #define MyAppVersion "Beta 0.5" 6 | #define MyAppPublisher "Fusion-ID Dev Team" 7 | #define MyAppURL "https://github.com/NotValen/Fusion-ID" 8 | #define MyAppExeName "Fusion-ID" 9 | 10 | #define public Dependency_Path_NetCoreCheck "dependencies\" 11 | 12 | #include "CodeDependencies.iss" 13 | #include "unzip.iss" 14 | 15 | [Setup] 16 | ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. 17 | ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) 18 | AppId={{DB33067A-DE78-436A-8619-03D65F359FED} 19 | AppName={#MyAppName} 20 | AppVersion={#MyAppVersion} 21 | AppVerName={#MyAppName} {#MyAppVersion} 22 | AppPublisher={#MyAppPublisher} 23 | AppPublisherURL={#MyAppURL} 24 | AppSupportURL={#MyAppURL} 25 | AppUpdatesURL={#MyAppURL} 26 | DefaultDirName=. 27 | LicenseFile=..\LICENSE 28 | InfoBeforeFile=..\README.txt 29 | UninstallDisplayName={#MyAppName} {#MyAppVersion} 30 | 31 | OutputBaseFilename=Fusion-ID-Installer 32 | 33 | DisableFinishedPage=no 34 | DisableWelcomePage=yes 35 | DisableReadyPage=yes 36 | DirExistsWarning=no 37 | AppendDefaultDirName=no 38 | 39 | ; Remove the following line to run in administrative install mode (install for all users.) 40 | PrivilegesRequired=lowest 41 | Compression=lzma 42 | SolidCompression=yes 43 | WizardStyle=modern 44 | 45 | [Languages] 46 | Name: "english"; MessagesFile: "compiler:Default.isl" 47 | 48 | [Files] 49 | //Source: "VC_redist.x64.exe"; DestDir: "{tmp}"; Flags: ignoreversion; AfterInstall: RunVCRedistIntaller 50 | Source: "7za.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall dontcopy; 51 | Source: "..\Mods\PVZ_Hyper_Fusion\LawnStringsTranslate.json"; DestDir: "{app}\Mods\PVZ_Hyper_Fusion\"; Flags: ignoreversion 52 | Source: "..\Mods\PVZ_Hyper_Fusion\ZombieStringsTranslate.json"; DestDir: "{app}\Mods\PVZ_Hyper_Fusion\"; Flags: ignoreversion 53 | Source: "..\Mods\PVZ_Hyper_Fusion.dll"; DestDir: "{app}\Mods\"; Flags: ignoreversion 54 | Source: "..\Mods\PVZ_Hyper_Fusion\Textures\*"; DestDir: "{app}\Mods\PVZ_Hyper_Fusion\Textures\"; Flags: ignoreversion recursesubdirs createallsubdirs 55 | Source: "..\Mods\PVZ_Hyper_Fusion\Strings\*"; DestDir: "{app}\Mods\PVZ_Hyper_Fusion\Strings\"; Flags: ignoreversion recursesubdirs createallsubdirs 56 | Source: "..\Mods\PVZ_Hyper_Fusion\Dumps\*"; DestDir: "{app}\Mods\PVZ_Hyper_Fusion\Dumps\"; Flags: ignoreversion recursesubdirs createallsubdirs 57 | ; NOTE: Don't use "Flags: ignoreversion" on any shared system files 58 | 59 | [UninstallDelete] 60 | Type: filesandordirs; Name: "{app}\MelonLoader"; 61 | Type: filesandordirs; Name: "{app}\version.dll"; 62 | Type: filesandordirs; Name: "{app}\dobby.dll"; 63 | Type: filesandordirs; Name: "{app}\NOTICE.txt"; 64 | 65 | [Code] 66 | 67 | var Page : TOutputProgressWizardPage; 68 | 69 | function OnDownloadProgress(const Url, Filename: string; const Progress, ProgressMax: Int64): Boolean; 70 | begin 71 | if ProgressMax <> 0 then 72 | begin 73 | Page.ProgressBar.Position := Page.ProgressBar.Position + (1); 74 | Page.Msg1Label.Caption := Format('Downloading Melon Loader .... %d of %d bytes done.', [Progress, ProgressMax]) 75 | end 76 | else 77 | begin 78 | Page.ProgressBar.Position := Page.ProgressBar.Position + (1); 79 | Page.Msg1Label.Caption := Format('Downloading Melon Loader .... %d bytes done.', [Progress]); 80 | end; 81 | Result := True; 82 | end; 83 | 84 | var 85 | LastStep: TSetupStep; 86 | 87 | procedure CurStepChanged(CurStep: TSetupStep); 88 | begin 89 | Log(Format('Step: %d', [CurStep])); 90 | LastStep := CurStep; 91 | end; 92 | 93 | procedure DeinitializeSetup(); 94 | begin 95 | { Installation started, but never finished => It must have been cancelled. } 96 | if LastStep = ssInstall then 97 | begin 98 | DelTree(WizardDirValue() + '\MelonLoader', True, True, True); 99 | DeleteFile(WizardDirValue() + '\version.dll'); 100 | DeleteFile(WizardDirValue() + '\dobby.dll'); 101 | DeleteFile(WizardDirValue() + '\NOTICE.txt'); 102 | MsgBox('The installation was successfully aborted.', mbInformation, MB_OK); 103 | end; 104 | end; 105 | 106 | const 107 | SHCONTCH_NOPROGRESSBOX = 4; 108 | SHCONTCH_RESPONDYESTOALL = 16; 109 | 110 | function NextCheck(Sender: TWizardPage): Boolean; 111 | var 112 | ZipPath: String; 113 | begin 114 | if not FileExists((WizardDirValue() + '\PlantsVsZombiesRH.exe')) 115 | then 116 | begin 117 | MsgBox('Select a directory with the PlantsVsZombiesRH.exe', mbInformation, MB_OK) 118 | result := False 119 | end 120 | else 121 | if not DirExists((WizardDirValue() + '\MelonLoader')) and not FileExists((WizardDirValue() + '\dobby.dll')) and not FileExists((WizardDirValue() + '\version.dll')) 122 | then 123 | begin 124 | MsgBox('This Game Doesn`t Has Melon Loader... So We Download it Automaticly', mbInformation, MB_OK) 125 | Page := CreateOutputProgressPage('Preparing melon loader installations', ''); 126 | Page.Show(); 127 | Page.SetProgress(10, 100); 128 | try 129 | Page.Msg1Label.Caption := 'Downloading Melon Loader ....'; 130 | DownloadTemporaryFile('https://github.com/LavaGang/MelonLoader/releases/download/v0.6.5/MelonLoader.x64.zip', 'melonloader.zip', '', @OnDownloadProgress); 131 | Page.SetProgress(50, 100); 132 | Page.Msg1Label.Caption := 'Extracting ....'; 133 | ZipPath := ExpandConstant('{tmp}\' + 'melonloader.zip'); 134 | Unzip(ZipPath, WizardDirValue()); 135 | Page.SetProgress(100, 100); 136 | MsgBox('Melon loader installed successfully', mbInformation, MB_OK) 137 | Result := True; 138 | except 139 | MsgBox('Melon loader failed to install', mbInformation, MB_OK) 140 | Log(GetExceptionMessage); 141 | Result := False; 142 | finally 143 | Page.Hide(); 144 | end; 145 | end 146 | else 147 | result := True 148 | end; 149 | 150 | procedure CreateCheckVCPage; 151 | var 152 | Page: TWizardPage; 153 | begin 154 | Page := CreateCustomPage(wpSelectDir, 'Test', 'Test'); 155 | end; 156 | 157 | procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); 158 | begin 159 | Confirm := False; 160 | end; 161 | 162 | function InitializeSetup: Boolean; 163 | begin 164 | Dependency_AddDotNet60; 165 | Dependency_AddVC2015To2022 166 | ExtractTemporaryFile('7za.exe'); 167 | Result:= True; 168 | end; 169 | 170 | procedure InitializeWizard(); 171 | var 172 | Page: TWizardPage; 173 | begin 174 | Page := PageFromID(wpSelectDir); 175 | 176 | Page.Caption := 'Location Plant Vs Zombies RH' 177 | Page.Description := 'To continue the installation, select the folder with the game.' 178 | 179 | Page.OnNextButtonClick := @NextCheck; 180 | end; 181 | 182 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Attribution-NonCommercial-ShareAlike 4.0 International 2 | ======================================================================= 3 | 4 | Creative Commons Corporation ("Creative Commons") is not a law firm and 5 | does not provide legal services or legal advice. Distribution of 6 | Creative Commons public licenses does not create a lawyer-client or 7 | other relationship. Creative Commons makes its licenses and related 8 | information available on an "as-is" basis. Creative Commons gives no 9 | warranties regarding its licenses, any material licensed under their 10 | terms and conditions, or any related information. Creative Commons 11 | disclaims all liability for damages resulting from their use to the 12 | fullest extent possible. 13 | 14 | Using Creative Commons Public Licenses 15 | 16 | Creative Commons public licenses provide a standard set of terms and 17 | conditions that creators and other rights holders may use to share 18 | original works of authorship and other material subject to copyright 19 | and certain other rights specified in the public license below. The 20 | following considerations are for informational purposes only, are not 21 | exhaustive, and do not form part of our licenses. 22 | 23 | Considerations for licensors: Our public licenses are 24 | intended for use by those authorized to give the public 25 | permission to use material in ways otherwise restricted by 26 | copyright and certain other rights. Our licenses are 27 | irrevocable. Licensors should read and understand the terms 28 | and conditions of the license they choose before applying it. 29 | Licensors should also secure all rights necessary before 30 | applying our licenses so that the public can reuse the 31 | material as expected. Licensors should clearly mark any 32 | material not subject to the license. This includes other CC- 33 | licensed material, or material used under an exception or 34 | limitation to copyright. More considerations for licensors: 35 | wiki.creativecommons.org/Considerations_for_licensors 36 | 37 | Considerations for the public: By using one of our public 38 | licenses, a licensor grants the public permission to use the 39 | licensed material under specified terms and conditions. If 40 | the licensor's permission is not necessary for any reason--for 41 | example, because of any applicable exception or limitation to 42 | copyright--then that use is not regulated by the license. Our 43 | licenses grant only permissions under copyright and certain 44 | other rights that a licensor has authority to grant. Use of 45 | the licensed material may still be restricted for other 46 | reasons, including because others have copyright or other 47 | rights in the material. A licensor may make special requests, 48 | such as asking that all changes be marked or described. 49 | Although not required by our licenses, you are encouraged to 50 | respect those requests where reasonable. More considerations 51 | for the public: 52 | wiki.creativecommons.org/Considerations_for_licensees 53 | 54 | ======================================================================= 55 | 56 | Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International 57 | Public License 58 | 59 | By exercising the Licensed Rights (defined below), You accept and agree 60 | to be bound by the terms and conditions of this Creative Commons 61 | Attribution-NonCommercial-ShareAlike 4.0 International Public License 62 | ("Public License"). To the extent this Public License may be 63 | interpreted as a contract, You are granted the Licensed Rights in 64 | consideration of Your acceptance of these terms and conditions, and the 65 | Licensor grants You such rights in consideration of benefits the 66 | Licensor receives from making the Licensed Material available under 67 | these terms and conditions. 68 | 69 | 70 | Section 1 -- Definitions. 71 | 72 | a. Adapted Material means material subject to Copyright and Similar 73 | Rights that is derived from or based upon the Licensed Material 74 | and in which the Licensed Material is translated, altered, 75 | arranged, transformed, or otherwise modified in a manner requiring 76 | permission under the Copyright and Similar Rights held by the 77 | Licensor. For purposes of this Public License, where the Licensed 78 | Material is a musical work, performance, or sound recording, 79 | Adapted Material is always produced where the Licensed Material is 80 | synched in timed relation with a moving image. 81 | 82 | b. Adapter's License means the license You apply to Your Copyright 83 | and Similar Rights in Your contributions to Adapted Material in 84 | accordance with the terms and conditions of this Public License. 85 | 86 | c. BY-NC-SA Compatible License means a license listed at 87 | creativecommons.org/compatiblelicenses, approved by Creative 88 | Commons as essentially the equivalent of this Public License. 89 | 90 | d. Copyright and Similar Rights means copyright and/or similar rights 91 | closely related to copyright including, without limitation, 92 | performance, broadcast, sound recording, and Sui Generis Database 93 | Rights, without regard to how the rights are labeled or 94 | categorized. For purposes of this Public License, the rights 95 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 96 | Rights. 97 | 98 | e. Effective Technological Measures means those measures that, in the 99 | absence of proper authority, may not be circumvented under laws 100 | fulfilling obligations under Article 11 of the WIPO Copyright 101 | Treaty adopted on December 20, 1996, and/or similar international 102 | agreements. 103 | 104 | f. Exceptions and Limitations means fair use, fair dealing, and/or 105 | any other exception or limitation to Copyright and Similar Rights 106 | that applies to Your use of the Licensed Material. 107 | 108 | g. License Elements means the license attributes listed in the name 109 | of a Creative Commons Public License. The License Elements of this 110 | Public License are Attribution, NonCommercial, and ShareAlike. 111 | 112 | h. Licensed Material means the artistic or literary work, database, 113 | or other material to which the Licensor applied this Public 114 | License. 115 | 116 | i. Licensed Rights means the rights granted to You subject to the 117 | terms and conditions of this Public License, which are limited to 118 | all Copyright and Similar Rights that apply to Your use of the 119 | Licensed Material and that the Licensor has authority to license. 120 | 121 | j. Licensor means the individual(s) or entity(ies) granting rights 122 | under this Public License. 123 | 124 | k. NonCommercial means not primarily intended for or directed towards 125 | commercial advantage or monetary compensation. For purposes of 126 | this Public License, the exchange of the Licensed Material for 127 | other material subject to Copyright and Similar Rights by digital 128 | file-sharing or similar means is NonCommercial provided there is 129 | no payment of monetary compensation in connection with the 130 | exchange. 131 | 132 | l. Share means to provide material to the public by any means or 133 | process that requires permission under the Licensed Rights, such 134 | as reproduction, public display, public performance, distribution, 135 | dissemination, communication, or importation, and to make material 136 | available to the public including in ways that members of the 137 | public may access the material from a place and at a time 138 | individually chosen by them. 139 | 140 | m. Sui Generis Database Rights means rights other than copyright 141 | resulting from Directive 96/9/EC of the European Parliament and of 142 | the Council of 11 March 1996 on the legal protection of databases, 143 | as amended and/or succeeded, as well as other essentially 144 | equivalent rights anywhere in the world. 145 | 146 | n. You means the individual or entity exercising the Licensed Rights 147 | under this Public License. Your has a corresponding meaning. 148 | 149 | 150 | Section 2 -- Scope. 151 | 152 | a. License grant. 153 | 154 | 1. Subject to the terms and conditions of this Public License, 155 | the Licensor hereby grants You a worldwide, royalty-free, 156 | non-sublicensable, non-exclusive, irrevocable license to 157 | exercise the Licensed Rights in the Licensed Material to: 158 | 159 | a. reproduce and Share the Licensed Material, in whole or 160 | in part, for NonCommercial purposes only; and 161 | 162 | b. produce, reproduce, and Share Adapted Material for 163 | NonCommercial purposes only. 164 | 165 | 2. Exceptions and Limitations. For the avoidance of doubt, where 166 | Exceptions and Limitations apply to Your use, this Public 167 | License does not apply, and You do not need to comply with 168 | its terms and conditions. 169 | 170 | 3. Term. The term of this Public License is specified in Section 171 | 6(a). 172 | 173 | 4. Media and formats; technical modifications allowed. The 174 | Licensor authorizes You to exercise the Licensed Rights in 175 | all media and formats whether now known or hereafter created, 176 | and to make technical modifications necessary to do so. The 177 | Licensor waives and/or agrees not to assert any right or 178 | authority to forbid You from making technical modifications 179 | necessary to exercise the Licensed Rights, including 180 | technical modifications necessary to circumvent Effective 181 | Technological Measures. For purposes of this Public License, 182 | simply making modifications authorized by this Section 2(a) 183 | (4) never produces Adapted Material. 184 | 185 | 5. Downstream recipients. 186 | 187 | a. Offer from the Licensor -- Licensed Material. Every 188 | recipient of the Licensed Material automatically 189 | receives an offer from the Licensor to exercise the 190 | Licensed Rights under the terms and conditions of this 191 | Public License. 192 | 193 | b. Additional offer from the Licensor -- Adapted Material. 194 | Every recipient of Adapted Material from You 195 | automatically receives an offer from the Licensor to 196 | exercise the Licensed Rights in the Adapted Material 197 | under the conditions of the Adapter's License You apply. 198 | 199 | c. No downstream restrictions. You may not offer or impose 200 | any additional or different terms or conditions on, or 201 | apply any Effective Technological Measures to, the 202 | Licensed Material if doing so restricts exercise of the 203 | Licensed Rights by any recipient of the Licensed 204 | Material. 205 | 206 | 6. No endorsement. Nothing in this Public License constitutes or 207 | may be construed as permission to assert or imply that You 208 | are, or that Your use of the Licensed Material is, connected 209 | with, or sponsored, endorsed, or granted official status by, 210 | the Licensor or others designated to receive attribution as 211 | provided in Section 3(a)(1)(A)(i). 212 | 213 | b. Other rights. 214 | 215 | 1. Moral rights, such as the right of integrity, are not 216 | licensed under this Public License, nor are publicity, 217 | privacy, and/or other similar personality rights; however, to 218 | the extent possible, the Licensor waives and/or agrees not to 219 | assert any such rights held by the Licensor to the limited 220 | extent necessary to allow You to exercise the Licensed 221 | Rights, but not otherwise. 222 | 223 | 2. Patent and trademark rights are not licensed under this 224 | Public License. 225 | 226 | 3. To the extent possible, the Licensor waives any right to 227 | collect royalties from You for the exercise of the Licensed 228 | Rights, whether directly or through a collecting society 229 | under any voluntary or waivable statutory or compulsory 230 | licensing scheme. In all other cases the Licensor expressly 231 | reserves any right to collect such royalties, including when 232 | the Licensed Material is used other than for NonCommercial 233 | purposes. 234 | 235 | 236 | Section 3 -- License Conditions. 237 | 238 | Your exercise of the Licensed Rights is expressly made subject to the 239 | following conditions. 240 | 241 | a. Attribution. 242 | 243 | 1. If You Share the Licensed Material (including in modified 244 | form), You must: 245 | 246 | a. retain the following if it is supplied by the Licensor 247 | with the Licensed Material: 248 | 249 | i. identification of the creator(s) of the Licensed 250 | Material and any others designated to receive 251 | attribution, in any reasonable manner requested by 252 | the Licensor (including by pseudonym if 253 | designated); 254 | 255 | ii. a copyright notice; 256 | 257 | iii. a notice that refers to this Public License; 258 | 259 | iv. a notice that refers to the disclaimer of 260 | warranties; 261 | 262 | v. a URI or hyperlink to the Licensed Material to the 263 | extent reasonably practicable; 264 | 265 | b. indicate if You modified the Licensed Material and 266 | retain an indication of any previous modifications; and 267 | 268 | c. indicate the Licensed Material is licensed under this 269 | Public License, and include the text of, or the URI or 270 | hyperlink to, this Public License. 271 | 272 | 2. You may satisfy the conditions in Section 3(a)(1) in any 273 | reasonable manner based on the medium, means, and context in 274 | which You Share the Licensed Material. For example, it may be 275 | reasonable to satisfy the conditions by providing a URI or 276 | hyperlink to a resource that includes the required 277 | information. 278 | 3. If requested by the Licensor, You must remove any of the 279 | information required by Section 3(a)(1)(A) to the extent 280 | reasonably practicable. 281 | 282 | b. ShareAlike. 283 | 284 | In addition to the conditions in Section 3(a), if You Share 285 | Adapted Material You produce, the following conditions also apply. 286 | 287 | 1. The Adapter's License You apply must be a Creative Commons 288 | license with the same License Elements, this version or 289 | later, or a BY-NC-SA Compatible License. 290 | 291 | 2. You must include the text of, or the URI or hyperlink to, the 292 | Adapter's License You apply. You may satisfy this condition 293 | in any reasonable manner based on the medium, means, and 294 | context in which You Share Adapted Material. 295 | 296 | 3. You may not offer or impose any additional or different terms 297 | or conditions on, or apply any Effective Technological 298 | Measures to, Adapted Material that restrict exercise of the 299 | rights granted under the Adapter's License You apply. 300 | 301 | 302 | Section 4 -- Sui Generis Database Rights. 303 | 304 | Where the Licensed Rights include Sui Generis Database Rights that 305 | apply to Your use of the Licensed Material: 306 | 307 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 308 | to extract, reuse, reproduce, and Share all or a substantial 309 | portion of the contents of the database for NonCommercial purposes 310 | only; 311 | 312 | b. if You include all or a substantial portion of the database 313 | contents in a database in which You have Sui Generis Database 314 | Rights, then the database in which You have Sui Generis Database 315 | Rights (but not its individual contents) is Adapted Material, 316 | including for purposes of Section 3(b); and 317 | 318 | c. You must comply with the conditions in Section 3(a) if You Share 319 | all or a substantial portion of the contents of the database. 320 | 321 | For the avoidance of doubt, this Section 4 supplements and does not 322 | replace Your obligations under this Public License where the Licensed 323 | Rights include other Copyright and Similar Rights. 324 | 325 | 326 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 327 | 328 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 329 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 330 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 331 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 332 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 333 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 334 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 335 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 336 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 337 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 338 | 339 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 340 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 341 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 342 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 343 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 344 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 345 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 346 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 347 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 348 | 349 | c. The disclaimer of warranties and limitation of liability provided 350 | above shall be interpreted in a manner that, to the extent 351 | possible, most closely approximates an absolute disclaimer and 352 | waiver of all liability. 353 | 354 | 355 | Section 6 -- Term and Termination. 356 | 357 | a. This Public License applies for the term of the Copyright and 358 | Similar Rights licensed here. However, if You fail to comply with 359 | this Public License, then Your rights under this Public License 360 | terminate automatically. 361 | 362 | b. Where Your right to use the Licensed Material has terminated under 363 | Section 6(a), it reinstates: 364 | 365 | 1. automatically as of the date the violation is cured, provided 366 | it is cured within 30 days of Your discovery of the 367 | violation; or 368 | 369 | 2. upon express reinstatement by the Licensor. 370 | 371 | For the avoidance of doubt, this Section 6(b) does not affect any 372 | right the Licensor may have to seek remedies for Your violations 373 | of this Public License. 374 | 375 | c. For the avoidance of doubt, the Licensor may also offer the 376 | Licensed Material under separate terms or conditions or stop 377 | distributing the Licensed Material at any time; however, doing so 378 | will not terminate this Public License. 379 | 380 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 381 | License. 382 | 383 | 384 | Section 7 -- Other Terms and Conditions. 385 | 386 | a. The Licensor shall not be bound by any additional or different 387 | terms or conditions communicated by You unless expressly agreed. 388 | 389 | b. Any arrangements, understandings, or agreements regarding the 390 | Licensed Material not stated herein are separate from and 391 | independent of the terms and conditions of this Public License. 392 | 393 | 394 | Section 8 -- Interpretation. 395 | 396 | a. For the avoidance of doubt, this Public License does not, and 397 | shall not be interpreted to, reduce, limit, restrict, or impose 398 | conditions on any use of the Licensed Material that could lawfully 399 | be made without permission under this Public License. 400 | 401 | b. To the extent possible, if any provision of this Public License is 402 | deemed unenforceable, it shall be automatically reformed to the 403 | minimum extent necessary to make it enforceable. If the provision 404 | cannot be reformed, it shall be severed from this Public License 405 | without affecting the enforceability of the remaining terms and 406 | conditions. 407 | 408 | c. No term or condition of this Public License will be waived and no 409 | failure to comply consented to unless expressly agreed to by the 410 | Licensor. 411 | 412 | d. Nothing in this Public License constitutes or may be interpreted 413 | as a limitation upon, or waiver of, any privileges and immunities 414 | that apply to the Licensor or You, including from the legal 415 | processes of any jurisdiction or authority. 416 | 417 | ======================================================================= 418 | 419 | Creative Commons is not a party to its public 420 | licenses. Notwithstanding, Creative Commons may elect to apply one of 421 | its public licenses to material it publishes and in those instances 422 | will be considered the “Licensor.” The text of the Creative Commons 423 | public licenses is dedicated to the public domain under the CC0 Public 424 | Domain Dedication. Except for the limited purpose of indicating that 425 | material is shared under a Creative Commons public license or as 426 | otherwise permitted by the Creative Commons policies published at 427 | creativecommons.org/policies, Creative Commons does not authorize the 428 | use of the trademark "Creative Commons" or any other trademark or logo 429 | of Creative Commons without its prior written consent including, 430 | without limitation, in connection with any unauthorized modifications 431 | to any of its public licenses or any other arrangements, 432 | understandings, or agreements concerning use of licensed material. For 433 | the avoidance of doubt, this paragraph does not form part of the 434 | public licenses. 435 | 436 | Creative Commons may be contacted at creativecommons.org. 437 | -------------------------------------------------------------------------------- /Installer/CodeDependencies.iss: -------------------------------------------------------------------------------- 1 | [Code] 2 | // https://github.com/DomGries/InnoDependencyInstaller 3 | 4 | // types and variables 5 | type 6 | TDependency_Entry = record 7 | Filename: String; 8 | Parameters: String; 9 | Title: String; 10 | URL: String; 11 | Checksum: String; 12 | ForceSuccess: Boolean; 13 | RestartAfter: Boolean; 14 | end; 15 | 16 | var 17 | Dependency_Memo: String; 18 | Dependency_List: array of TDependency_Entry; 19 | Dependency_NeedToRestart, Dependency_ForceX86: Boolean; 20 | Dependency_DownloadPage: TDownloadWizardPage; 21 | 22 | procedure Dependency_Add(const Filename, Parameters, Title, URL, Checksum: String; const ForceSuccess, RestartAfter: Boolean); 23 | var 24 | Dependency: TDependency_Entry; 25 | DependencyCount: Integer; 26 | begin 27 | Dependency_Memo := Dependency_Memo + #13#10 + '%1' + Title; 28 | 29 | Dependency.Filename := Filename; 30 | Dependency.Parameters := Parameters; 31 | Dependency.Title := Title; 32 | 33 | if FileExists(ExpandConstant('{tmp}{\}') + Filename) then begin 34 | Dependency.URL := ''; 35 | end else begin 36 | Dependency.URL := URL; 37 | end; 38 | 39 | Dependency.Checksum := Checksum; 40 | Dependency.ForceSuccess := ForceSuccess; 41 | Dependency.RestartAfter := RestartAfter; 42 | 43 | DependencyCount := GetArrayLength(Dependency_List); 44 | SetArrayLength(Dependency_List, DependencyCount + 1); 45 | Dependency_List[DependencyCount] := Dependency; 46 | end; 47 | 48 | 49 | procedure Dependency_InitializeWizard; 50 | begin 51 | Dependency_DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), nil); 52 | end; 53 | 54 | 55 | function Dependency_PrepareToInstall(var NeedsRestart: Boolean): String; 56 | var 57 | DependencyCount, DependencyIndex, ResultCode: Integer; 58 | Retry: Boolean; 59 | TempValue: String; 60 | begin 61 | DependencyCount := GetArrayLength(Dependency_List); 62 | 63 | if DependencyCount > 0 then begin 64 | Dependency_DownloadPage.Show; 65 | 66 | for DependencyIndex := 0 to DependencyCount - 1 do begin 67 | if Dependency_List[DependencyIndex].URL <> '' then begin 68 | Dependency_DownloadPage.Clear; 69 | Dependency_DownloadPage.Add(Dependency_List[DependencyIndex].URL, Dependency_List[DependencyIndex].Filename, Dependency_List[DependencyIndex].Checksum); 70 | 71 | Retry := True; 72 | while Retry do begin 73 | Retry := False; 74 | 75 | try 76 | Dependency_DownloadPage.Download; 77 | except 78 | if Dependency_DownloadPage.AbortedByUser then begin 79 | Result := Dependency_List[DependencyIndex].Title; 80 | DependencyIndex := DependencyCount; 81 | end else begin 82 | case SuppressibleMsgBox(AddPeriod(GetExceptionMessage), mbError, MB_ABORTRETRYIGNORE, IDIGNORE) of 83 | IDABORT: begin 84 | Result := Dependency_List[DependencyIndex].Title; 85 | DependencyIndex := DependencyCount; 86 | end; 87 | IDRETRY: begin 88 | Retry := True; 89 | end; 90 | end; 91 | end; 92 | end; 93 | end; 94 | end; 95 | end; 96 | 97 | if Result = '' then begin 98 | for DependencyIndex := 0 to DependencyCount - 1 do begin 99 | Dependency_DownloadPage.SetText(Dependency_List[DependencyIndex].Title, ''); 100 | Dependency_DownloadPage.SetProgress(DependencyIndex + 1, DependencyCount + 1); 101 | 102 | while True do begin 103 | ResultCode := 0; 104 | #ifdef Dependency_CustomExecute 105 | if {#Dependency_CustomExecute}(ExpandConstant('{tmp}{\}') + Dependency_List[DependencyIndex].Filename, Dependency_List[DependencyIndex].Parameters, ResultCode) then begin 106 | #else 107 | if ShellExec('', ExpandConstant('{tmp}{\}') + Dependency_List[DependencyIndex].Filename, Dependency_List[DependencyIndex].Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode) then begin 108 | #endif 109 | if Dependency_List[DependencyIndex].RestartAfter then begin 110 | if DependencyIndex = DependencyCount - 1 then begin 111 | Dependency_NeedToRestart := True; 112 | end else begin 113 | NeedsRestart := True; 114 | Result := Dependency_List[DependencyIndex].Title; 115 | end; 116 | break; 117 | end else if (ResultCode = 0) or Dependency_List[DependencyIndex].ForceSuccess then begin // ERROR_SUCCESS (0) 118 | break; 119 | end else if ResultCode = 1641 then begin // ERROR_SUCCESS_REBOOT_INITIATED (1641) 120 | NeedsRestart := True; 121 | Result := Dependency_List[DependencyIndex].Title; 122 | break; 123 | end else if ResultCode = 3010 then begin // ERROR_SUCCESS_REBOOT_REQUIRED (3010) 124 | Dependency_NeedToRestart := True; 125 | break; 126 | end; 127 | end; 128 | 129 | case SuppressibleMsgBox(FmtMessage(SetupMessage(msgErrorFunctionFailed), [Dependency_List[DependencyIndex].Title, IntToStr(ResultCode)]), mbError, MB_ABORTRETRYIGNORE, IDIGNORE) of 130 | IDABORT: begin 131 | Result := Dependency_List[DependencyIndex].Title; 132 | break; 133 | end; 134 | IDIGNORE: begin 135 | break; 136 | end; 137 | end; 138 | end; 139 | 140 | if Result <> '' then begin 141 | break; 142 | end; 143 | end; 144 | 145 | if NeedsRestart then begin 146 | TempValue := '"' + ExpandConstant('{srcexe}') + '" /restart=1 /LANG="' + ExpandConstant('{language}') + '" /DIR="' + WizardDirValue + '" /GROUP="' + WizardGroupValue + '" /TYPE="' + WizardSetupType(False) + '" /COMPONENTS="' + WizardSelectedComponents(False) + '" /TASKS="' + WizardSelectedTasks(False) + '"'; 147 | if WizardNoIcons then begin 148 | TempValue := TempValue + ' /NOICONS'; 149 | end; 150 | RegWriteStringValue(HKA, 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', '{#SetupSetting("AppName")}', TempValue); 151 | end; 152 | end; 153 | 154 | Dependency_DownloadPage.Hide; 155 | end; 156 | end; 157 | 158 | #ifndef Dependency_NoUpdateReadyMemo 159 | 160 | #endif 161 | function Dependency_UpdateReadyMemo(const Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; 162 | begin 163 | Result := ''; 164 | if MemoUserInfoInfo <> '' then begin 165 | Result := Result + MemoUserInfoInfo + Newline + NewLine; 166 | end; 167 | if MemoDirInfo <> '' then begin 168 | Result := Result + MemoDirInfo + Newline + NewLine; 169 | end; 170 | if MemoTypeInfo <> '' then begin 171 | Result := Result + MemoTypeInfo + Newline + NewLine; 172 | end; 173 | if MemoComponentsInfo <> '' then begin 174 | Result := Result + MemoComponentsInfo + Newline + NewLine; 175 | end; 176 | if MemoGroupInfo <> '' then begin 177 | Result := Result + MemoGroupInfo + Newline + NewLine; 178 | end; 179 | if MemoTasksInfo <> '' then begin 180 | Result := Result + MemoTasksInfo; 181 | end; 182 | 183 | if Dependency_Memo <> '' then begin 184 | if MemoTasksInfo = '' then begin 185 | Result := Result + SetupMessage(msgReadyMemoTasks); 186 | end; 187 | Result := Result + FmtMessage(Dependency_Memo, [Space]); 188 | end; 189 | end; 190 | 191 | 192 | function Dependency_NeedRestart: Boolean; 193 | begin 194 | Result := Dependency_NeedToRestart; 195 | end; 196 | 197 | function Dependency_IsX64: Boolean; 198 | begin 199 | Result := not Dependency_ForceX86 and Is64BitInstallMode; 200 | end; 201 | 202 | function Dependency_String(const x86, x64: String): String; 203 | begin 204 | if Dependency_IsX64 then begin 205 | Result := x64; 206 | end else begin 207 | Result := x86; 208 | end; 209 | end; 210 | 211 | function Dependency_ArchSuffix: String; 212 | begin 213 | Result := Dependency_String('', '_x64'); 214 | end; 215 | 216 | function Dependency_ArchTitle: String; 217 | begin 218 | Result := Dependency_String(' (x86)', ' (x64)'); 219 | end; 220 | 221 | function Dependency_IsNetCoreInstalled(const Version: String): Boolean; 222 | var 223 | ResultCode: Integer; 224 | begin 225 | // source code: https://github.com/dotnet/deployment-tools/tree/main/src/clickonce/native/projects/NetCoreCheck 226 | if not FileExists(ExpandConstant('{tmp}{\}') + 'netcorecheck' + Dependency_ArchSuffix + '.exe') then begin 227 | ExtractTemporaryFile('netcorecheck' + Dependency_ArchSuffix + '.exe'); 228 | end; 229 | Result := ShellExec('', ExpandConstant('{tmp}{\}') + 'netcorecheck' + Dependency_ArchSuffix + '.exe', Version, '', SW_HIDE, ewWaitUntilTerminated, ResultCode) and (ResultCode = 0); 230 | end; 231 | 232 | procedure Dependency_AddDotNet35; 233 | begin 234 | // https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1 235 | if not IsDotNetInstalled(net35, 1) then begin 236 | Dependency_Add('dotnetfx35.exe', 237 | '/lang:enu /passive /norestart', 238 | '.NET Framework 3.5 Service Pack 1', 239 | 'https://download.microsoft.com/download/2/0/E/20E90413-712F-438C-988E-FDAA79A8AC3D/dotnetfx35.exe', 240 | '', False, False); 241 | end; 242 | end; 243 | 244 | procedure Dependency_AddDotNet40; 245 | begin 246 | // https://dotnet.microsoft.com/download/dotnet-framework/net40 247 | if not IsDotNetInstalled(net4full, 0) then begin 248 | Dependency_Add('dotNetFx40_Full_setup.exe', 249 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 250 | '.NET Framework 4.0', 251 | 'https://download.microsoft.com/download/1/B/E/1BE39E79-7E39-46A3-96FF-047F95396215/dotNetFx40_Full_setup.exe', 252 | '', False, False); 253 | end; 254 | end; 255 | 256 | procedure Dependency_AddDotNet45; 257 | begin 258 | // https://dotnet.microsoft.com/download/dotnet-framework/net452 259 | if not IsDotNetInstalled(net452, 0) then begin 260 | Dependency_Add('dotnetfx45.exe', 261 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 262 | '.NET Framework 4.5.2', 263 | 'https://go.microsoft.com/fwlink/?LinkId=397707', 264 | '', False, False); 265 | end; 266 | end; 267 | 268 | procedure Dependency_AddDotNet46; 269 | begin 270 | // https://dotnet.microsoft.com/download/dotnet-framework/net462 271 | if not IsDotNetInstalled(net462, 0) then begin 272 | Dependency_Add('dotnetfx46.exe', 273 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 274 | '.NET Framework 4.6.2', 275 | 'https://go.microsoft.com/fwlink/?linkid=780596', 276 | '', False, False); 277 | end; 278 | end; 279 | 280 | procedure Dependency_AddDotNet47; 281 | begin 282 | // https://dotnet.microsoft.com/download/dotnet-framework/net472 283 | if not IsDotNetInstalled(net472, 0) then begin 284 | Dependency_Add('dotnetfx47.exe', 285 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 286 | '.NET Framework 4.7.2', 287 | 'https://go.microsoft.com/fwlink/?LinkId=863262', 288 | '', False, False); 289 | end; 290 | end; 291 | 292 | procedure Dependency_AddDotNet48; 293 | begin 294 | // https://dotnet.microsoft.com/download/dotnet-framework/net48 295 | if not IsDotNetInstalled(net48, 0) then begin 296 | Dependency_Add('dotnetfx48.exe', 297 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 298 | '.NET Framework 4.8', 299 | 'https://go.microsoft.com/fwlink/?LinkId=2085155', 300 | '', False, False); 301 | end; 302 | end; 303 | 304 | procedure Dependency_AddDotNet481; 305 | var 306 | Version: Cardinal; 307 | begin 308 | // https://dotnet.microsoft.com/download/dotnet-framework/net481 309 | if not RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full', 'Release', Version) or (Version < 533320) then begin 310 | Dependency_Add('dotnetfx481.exe', 311 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 312 | '.NET Framework 4.8.1', 313 | 'https://go.microsoft.com/fwlink/?LinkId=2203304', 314 | '', False, False); 315 | end; 316 | end; 317 | 318 | procedure Dependency_AddNetCore31; 319 | begin 320 | // https://dotnet.microsoft.com/download/dotnet-core/3.1 321 | if not Dependency_IsNetCoreInstalled('-n Microsoft.NETCore.App -v 3.1.32') then begin 322 | Dependency_Add('netcore31' + Dependency_ArchSuffix + '.exe', 323 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 324 | '.NET Core Runtime 3.1.32' + Dependency_ArchTitle, 325 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/de4b3438-24a2-4d1d-a845-97355cf97b71/515abb880478b49f7c1bced8fbf07b16/dotnet-runtime-3.1.32-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/476eba79-f17f-49c8-a213-0f24a22cd026/37c02de81ff5b76ac57a5427462395f1/dotnet-runtime-3.1.32-win-x64.exe'), 326 | '', False, False); 327 | end; 328 | end; 329 | 330 | procedure Dependency_AddNetCore31Asp; 331 | begin 332 | // https://dotnet.microsoft.com/download/dotnet-core/3.1 333 | if not Dependency_IsNetCoreInstalled('-n Microsoft.AspNetCore.App -v 3.1.32') then begin 334 | Dependency_Add('netcore31asp' + Dependency_ArchSuffix + '.exe', 335 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 336 | 'ASP.NET Core Runtime 3.1.32' + Dependency_ArchTitle, 337 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/63b482d2-04b2-4dd4-baaf-d1e78de80738/40321091c872f4e77337b68fc61a5a07/aspnetcore-runtime-3.1.32-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/98910750-2644-472c-ab2b-17f315ccb953/c2a4c223ee11e2eec7d13744e7a45547/aspnetcore-runtime-3.1.32-win-x64.exe'), 338 | '', False, False); 339 | end; 340 | end; 341 | 342 | procedure Dependency_AddNetCore31Desktop; 343 | begin 344 | // https://dotnet.microsoft.com/download/dotnet-core/3.1 345 | if not Dependency_IsNetCoreInstalled('-n Microsoft.WindowsDesktop.App -v 3.1.32') then begin 346 | Dependency_Add('netcore31desktop' + Dependency_ArchSuffix + '.exe', 347 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 348 | '.NET Desktop Runtime 3.1.32' + Dependency_ArchTitle, 349 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/3f353d2c-0431-48c5-bdf6-fbbe8f901bb5/542a4af07c1df5136a98a1c2df6f3d62/windowsdesktop-runtime-3.1.32-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/b92958c6-ae36-4efa-aafe-569fced953a5/1654639ef3b20eb576174c1cc200f33a/windowsdesktop-runtime-3.1.32-win-x64.exe'), 350 | '', False, False); 351 | end; 352 | end; 353 | 354 | procedure Dependency_AddDotNet50; 355 | begin 356 | // https://dotnet.microsoft.com/download/dotnet/5.0 357 | if not Dependency_IsNetCoreInstalled('-n Microsoft.NETCore.App -v 5.0.17') then begin 358 | Dependency_Add('dotnet50' + Dependency_ArchSuffix + '.exe', 359 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 360 | '.NET Runtime 5.0.17' + Dependency_ArchTitle, 361 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/54683c13-6b04-4d7d-b4d4-1f055b50ea43/e99048e2840d57040e8312058853a5b9/dotnet-runtime-5.0.17-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/a0832b5a-6900-442b-af79-6ffddddd6ba4/e2df0b25dd851ee0b38a86947dd0e42e/dotnet-runtime-5.0.17-win-x64.exe'), 362 | '', False, False); 363 | end; 364 | end; 365 | 366 | procedure Dependency_AddDotNet50Asp; 367 | begin 368 | // https://dotnet.microsoft.com/download/dotnet/5.0 369 | if not Dependency_IsNetCoreInstalled('-n Microsoft.AspNetCore.App -v 5.0.17') then begin 370 | Dependency_Add('dotnet50asp' + Dependency_ArchSuffix + '.exe', 371 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 372 | 'ASP.NET Core Runtime 5.0.17' + Dependency_ArchTitle, 373 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/4bfa247d-321d-4b29-a34b-62320849059b/8df7a17d9aad4044efe9b5b1c423e82c/aspnetcore-runtime-5.0.17-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/3789ec90-2717-424f-8b9c-3adbbcea6c16/2085cc5ff077b8789ff938015392e406/aspnetcore-runtime-5.0.17-win-x64.exe'), 374 | '', False, False); 375 | end; 376 | end; 377 | 378 | procedure Dependency_AddDotNet50Desktop; 379 | begin 380 | // https://dotnet.microsoft.com/download/dotnet/5.0 381 | if not Dependency_IsNetCoreInstalled('-n Microsoft.WindowsDesktop.App -v 5.0.17') then begin 382 | Dependency_Add('dotnet50desktop' + Dependency_ArchSuffix + '.exe', 383 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 384 | '.NET Desktop Runtime 5.0.17' + Dependency_ArchTitle, 385 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/b6fe5f2a-95f4-46f1-9824-f5994f10bc69/db5ec9b47ec877b5276f83a185fdb6a0/windowsdesktop-runtime-5.0.17-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/3aa4e942-42cd-4bf5-afe7-fc23bd9c69c5/64da54c8864e473c19a7d3de15790418/windowsdesktop-runtime-5.0.17-win-x64.exe'), 386 | '', False, False); 387 | end; 388 | end; 389 | 390 | procedure Dependency_AddDotNet60; 391 | begin 392 | // https://dotnet.microsoft.com/download/dotnet/6.0 393 | if not Dependency_IsNetCoreInstalled('-n Microsoft.NETCore.App -v 6.0.20') then begin 394 | Dependency_Add('dotnet60' + Dependency_ArchSuffix + '.exe', 395 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 396 | '.NET Runtime 6.0.20' + Dependency_ArchTitle, 397 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/3be5ee3a-c171-4cd2-ab98-00ca5c11eb8c/6fd31294b0c6c670ab5c060592935203/dotnet-runtime-6.0.20-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/3cfb6d2a-afbe-4ae7-8e5b-776f350654cc/6e8d858a60fe15381f3c84d8ca66c4a7/dotnet-runtime-6.0.20-win-x64.exe'), 398 | '', False, False); 399 | end; 400 | end; 401 | 402 | procedure Dependency_AddDotNet60Asp; 403 | begin 404 | // https://dotnet.microsoft.com/download/dotnet/6.0 405 | if not Dependency_IsNetCoreInstalled('-n Microsoft.AspNetCore.App -v 6.0.20') then begin 406 | Dependency_Add('dotnet60asp' + Dependency_ArchSuffix + '.exe', 407 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 408 | 'ASP.NET Core Runtime 6.0.20' + Dependency_ArchTitle, 409 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/0e37c76c-53b4-4eea-8f5c-6ad2f8d5fe3c/88a8620329ced1aee271992a5b56d236/aspnetcore-runtime-6.0.20-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/be9f67fd-60af-45b1-9bca-a7bcc0e86e7e/6a750f7d7432937b3999bb4c5325062a/aspnetcore-runtime-6.0.20-win-x64.exe'), 410 | '', False, False); 411 | end; 412 | end; 413 | 414 | procedure Dependency_AddDotNet60Desktop; 415 | begin 416 | // https://dotnet.microsoft.com/download/dotnet/6.0 417 | if not Dependency_IsNetCoreInstalled('-n Microsoft.WindowsDesktop.App -v 6.0.20') then begin 418 | Dependency_Add('dotnet60desktop' + Dependency_ArchSuffix + '.exe', 419 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 420 | '.NET Desktop Runtime 6.0.20' + Dependency_ArchTitle, 421 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/0413b619-3eb2-4178-a78e-8d1aafab1a01/5247f08ea3c13849b68074a2142fbf31/windowsdesktop-runtime-6.0.20-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/1146f414-17c7-4184-8b10-1addfa5315e4/39db5573efb029130add485566320d74/windowsdesktop-runtime-6.0.20-win-x64.exe'), 422 | '', False, False); 423 | end; 424 | end; 425 | 426 | procedure Dependency_AddDotNet70; 427 | begin 428 | // https://dotnet.microsoft.com/download/dotnet/7.0 429 | if not Dependency_IsNetCoreInstalled('-n Microsoft.NETCore.App -v 7.0.9') then begin 430 | Dependency_Add('dotnet70' + Dependency_ArchSuffix + '.exe', 431 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 432 | '.NET Runtime 7.0.9' + Dependency_ArchTitle, 433 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/305a85f5-2b0d-459b-b2ea-caf71b98d25d/805edc610efa49432e5e268bbba4eacb/dotnet-runtime-7.0.9-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/73058888-02a4-4f6d-b3cd-845531c2d7d0/a785e54b7f12046c00714b2ba759e173/dotnet-runtime-7.0.9-win-x64.exe'), 434 | '', False, False); 435 | end; 436 | end; 437 | 438 | procedure Dependency_AddDotNet70Asp; 439 | begin 440 | // https://dotnet.microsoft.com/download/dotnet/7.0 441 | if not Dependency_IsNetCoreInstalled('-n Microsoft.AspNetCore.App -v 7.0.9') then begin 442 | Dependency_Add('dotnet70asp' + Dependency_ArchSuffix + '.exe', 443 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 444 | 'ASP.NET Core Runtime 7.0.9' + Dependency_ArchTitle, 445 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/6ec3b357-31df-4b18-948f-4979a5b4b99f/fdeec71fc7f0f34ecfa0cb8b2b897da0/aspnetcore-runtime-7.0.9-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/edd9c9b1-0c49-4297-9197-9392b2462318/d06fedaefb256d801ce94ade76af3ad9/aspnetcore-runtime-7.0.9-win-x64.exe'), 446 | '', False, False); 447 | end; 448 | end; 449 | 450 | procedure Dependency_AddDotNet70Desktop; 451 | begin 452 | // https://dotnet.microsoft.com/download/dotnet/7.0 453 | if not Dependency_IsNetCoreInstalled('-n Microsoft.WindowsDesktop.App -v 7.0.9') then begin 454 | Dependency_Add('dotnet70desktop' + Dependency_ArchSuffix + '.exe', 455 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 456 | '.NET Desktop Runtime 7.0.9' + Dependency_ArchTitle, 457 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/139b19d0-2d39-48ce-b59a-aec437509c20/ea6a2711eec53660c3b14d78b9fb2963/windowsdesktop-runtime-7.0.9-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/7727acb3-25ca-473b-a392-75afeb33cab7/f11f0477fd2fcfbb3111881377d0c9bb/windowsdesktop-runtime-7.0.9-win-x64.exe'), 458 | '', False, False); 459 | end; 460 | end; 461 | 462 | 463 | procedure Dependency_AddDotNet80; 464 | begin 465 | // https://dotnet.microsoft.com/download/dotnet/8.0 466 | if not Dependency_IsNetCoreInstalled('-n Microsoft.NETCore.App -v 8.0.10') then begin 467 | Dependency_Add('dotnet80' + Dependency_ArchSuffix + '.exe', 468 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 469 | '.NET Runtime 8.0.10' + Dependency_ArchTitle, 470 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/3f9cf5a6-d4d6-4fe0-a02b-cd700df1899b/75c95e00aab7258aed5f4ffe80526803/dotnet-runtime-8.0.10-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/f55ed80e-ba58-4ac8-a2b3-f2227cd628de/6fabf1c613cf9386d14ddbaaca1a5eb8/dotnet-runtime-8.0.10-win-x64.exe'), 471 | '', False, False); 472 | end; 473 | end; 474 | 475 | procedure Dependency_AddDotNet80Asp; 476 | begin 477 | // https://dotnet.microsoft.com/download/dotnet/8.0 478 | if not Dependency_IsNetCoreInstalled('-n Microsoft.AspNetCore.App -v 8.0.10') then begin 479 | Dependency_Add('dotnet80asp' + Dependency_ArchSuffix + '.exe', 480 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 481 | 'ASP.NET Core Runtime 8.0.10' + Dependency_ArchTitle, 482 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/175256c9-8d8d-4f9a-a873-ff7b36161506/1b91f2b288e6077e30714485ebe8acb5/aspnetcore-runtime-8.0.10-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/a17b907f-8457-45a8-90db-53f2665ee49e/49bccd33593ebceb2847674fe5fd768e/aspnetcore-runtime-8.0.10-win-x64.exe'), 483 | '', False, False); 484 | end; 485 | end; 486 | 487 | procedure Dependency_AddDotNet80Desktop; 488 | begin 489 | // https://dotnet.microsoft.com/download/dotnet/8.0 490 | if not Dependency_IsNetCoreInstalled('-n Microsoft.WindowsDesktop.App -v 8.0.10') then begin 491 | Dependency_Add('dotnet80desktop' + Dependency_ArchSuffix + '.exe', 492 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 493 | '.NET Desktop Runtime 8.0.10' + Dependency_ArchTitle, 494 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/9836a475-66af-47eb-a726-8046c47ce6d5/ccb7d60db407a6d022a856852ef9e763/windowsdesktop-runtime-8.0.10-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/f398d462-9d4e-4b9c-abd3-86c54262869a/4a8e3a10ca0a9903a989578140ef0499/windowsdesktop-runtime-8.0.10-win-x64.exe'), 495 | '', False, False); 496 | end; 497 | end; 498 | 499 | procedure Dependency_AddDotNet90; 500 | begin 501 | // https://dotnet.microsoft.com/download/dotnet/9.0 502 | if not Dependency_IsNetCoreInstalled('-n Microsoft.NETCore.App -v 9.0.0-rc.2') then begin 503 | Dependency_Add('dotnet90' + Dependency_ArchSuffix + '.exe', 504 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 505 | '.NET Runtime 9.0.0 RC 2' + Dependency_ArchTitle, 506 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/508704e7-25d0-4df6-864a-f070091a7a6b/45ec71800b5b829815ba861e1f510e2c/dotnet-runtime-9.0.0-rc.2.24473.5-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/19f3f64f-4734-44d8-aa2b-aba6f2940bfe/405c15d5bd31713faaddf9cd9e8d4fc0/dotnet-runtime-9.0.0-rc.2.24473.5-win-x64.exe'), 507 | '', False, False); 508 | end; 509 | end; 510 | 511 | procedure Dependency_AddDotNet90Asp; 512 | begin 513 | // https://dotnet.microsoft.com/download/dotnet/9.0 514 | if not Dependency_IsNetCoreInstalled('-n Microsoft.AspNetCore.App -v 9.0.0-rc.2') then begin 515 | Dependency_Add('dotnet90asp' + Dependency_ArchSuffix + '.exe', 516 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 517 | 'ASP.NET Core Runtime 9.0.0 RC 2' + Dependency_ArchTitle, 518 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/a5f93dba-813b-45e5-8c8b-62ed494214b7/a28cec13a364ca326827bcb97211bd66/aspnetcore-runtime-9.0.0-rc.2.24474.3-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/a6506b9a-1839-476a-91c1-61ea79144b45/4158c6a3ba3eeccbaed806abcfad7d07/aspnetcore-runtime-9.0.0-rc.2.24474.3-win-x64.exe'), 519 | '', False, False); 520 | end; 521 | end; 522 | 523 | procedure Dependency_AddDotNet90Desktop; 524 | begin 525 | // https://dotnet.microsoft.com/download/dotnet/9.0 526 | if not Dependency_IsNetCoreInstalled('-n Microsoft.WindowsDesktop.App -v 9.0.0-rc.2') then begin 527 | Dependency_Add('dotnet90desktop' + Dependency_ArchSuffix + '.exe', 528 | '/lcid ' + IntToStr(GetUILanguage) + ' /passive /norestart', 529 | '.NET Desktop Runtime 9.0.0 RC 2' + Dependency_ArchTitle, 530 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/f6a4c462-a2a6-4488-9448-574b659c31e5/7eb8840cb5e42e0fd41a57964fe3472c/windowsdesktop-runtime-9.0.0-rc.2.24474.4-win-x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/30d1fcdb-8bf1-4b6e-ad06-f66ed68017bf/20abf38df849587b0a2de99a31f5c1c8/windowsdesktop-runtime-9.0.0-rc.2.24474.4-win-x64.exe'), 531 | '', False, False); 532 | end; 533 | end; 534 | 535 | procedure Dependency_AddVC2005; 536 | begin 537 | // https://www.microsoft.com/en-us/download/details.aspx?id=26347 538 | if not IsMsiProductInstalled(Dependency_String('{86C9D5AA-F00C-4921-B3F2-C60AF92E2844}', '{A8D19029-8E5C-4E22-8011-48070F9E796E}'), PackVersionComponents(8, 0, 61000, 0)) then begin 539 | Dependency_Add('vcredist2005' + Dependency_ArchSuffix + '.exe', 540 | '/q', 541 | 'Visual C++ 2005 Service Pack 1 Redistributable' + Dependency_ArchTitle, 542 | Dependency_String('https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE', 'https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.EXE'), 543 | '', False, False); 544 | end; 545 | end; 546 | 547 | procedure Dependency_AddVC2008; 548 | begin 549 | // https://www.microsoft.com/en-us/download/details.aspx?id=26368 550 | if not IsMsiProductInstalled(Dependency_String('{DE2C306F-A067-38EF-B86C-03DE4B0312F9}', '{FDA45DDF-8E17-336F-A3ED-356B7B7C688A}'), PackVersionComponents(9, 0, 30729, 6161)) then begin 551 | Dependency_Add('vcredist2008' + Dependency_ArchSuffix + '.exe', 552 | '/q', 553 | 'Visual C++ 2008 Service Pack 1 Redistributable' + Dependency_ArchTitle, 554 | Dependency_String('https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe', 'https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe'), 555 | '', False, False); 556 | end; 557 | end; 558 | 559 | procedure Dependency_AddVC2010; 560 | begin 561 | // https://www.microsoft.com/en-us/download/details.aspx?id=26999 562 | if not IsMsiProductInstalled(Dependency_String('{1F4F1D2A-D9DA-32CF-9909-48485DA06DD5}', '{5B75F761-BAC8-33BC-A381-464DDDD813A3}'), PackVersionComponents(10, 0, 40219, 0)) then begin 563 | Dependency_Add('vcredist2010' + Dependency_ArchSuffix + '.exe', 564 | '/passive /norestart', 565 | 'Visual C++ 2010 Service Pack 1 Redistributable' + Dependency_ArchTitle, 566 | Dependency_String('https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe', 'https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe'), 567 | '', False, False); 568 | end; 569 | end; 570 | 571 | procedure Dependency_AddVC2012; 572 | begin 573 | // https://www.microsoft.com/en-us/download/details.aspx?id=30679 574 | if not IsMsiProductInstalled(Dependency_String('{4121ED58-4BD9-3E7B-A8B5-9F8BAAE045B7}', '{EFA6AFA1-738E-3E00-8101-FD03B86B29D1}'), PackVersionComponents(11, 0, 61030, 0)) then begin 575 | Dependency_Add('vcredist2012' + Dependency_ArchSuffix + '.exe', 576 | '/passive /norestart', 577 | 'Visual C++ 2012 Update 4 Redistributable' + Dependency_ArchTitle, 578 | Dependency_String('https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe', 'https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe'), 579 | '', False, False); 580 | end; 581 | end; 582 | 583 | procedure Dependency_AddVC2013; 584 | begin 585 | // https://support.microsoft.com/en-us/help/4032938 586 | if not IsMsiProductInstalled(Dependency_String('{B59F5BF1-67C8-3802-8E59-2CE551A39FC5}', '{20400CF0-DE7C-327E-9AE4-F0F38D9085F8}'), PackVersionComponents(12, 0, 40664, 0)) then begin 587 | Dependency_Add('vcredist2013' + Dependency_ArchSuffix + '.exe', 588 | '/passive /norestart', 589 | 'Visual C++ 2013 Update 5 Redistributable' + Dependency_ArchTitle, 590 | Dependency_String('https://download.visualstudio.microsoft.com/download/pr/10912113/5da66ddebb0ad32ebd4b922fd82e8e25/vcredist_x86.exe', 'https://download.visualstudio.microsoft.com/download/pr/10912041/cee5d6bca2ddbcd039da727bf4acb48a/vcredist_x64.exe'), 591 | '', False, False); 592 | end; 593 | end; 594 | 595 | procedure Dependency_AddVC2015To2022; 596 | begin 597 | // https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist 598 | if not IsMsiProductInstalled(Dependency_String('{65E5BD06-6392-3027-8C26-853107D3CF1A}', '{36F68A90-239C-34DF-B58C-64B30153CE35}'), PackVersionComponents(14, 30, 33810, 0)) then begin 599 | Dependency_Add('vcredist2022' + Dependency_ArchSuffix + '.exe', 600 | '/passive /norestart', 601 | 'Visual C++ 2015-2022 Redistributable' + Dependency_ArchTitle, 602 | Dependency_String('https://aka.ms/vs/17/release/vc_redist.x86.exe', 'https://aka.ms/vs/17/release/vc_redist.x64.exe'), 603 | '', False, False); 604 | end; 605 | end; 606 | 607 | procedure Dependency_AddDirectX; 608 | begin 609 | #ifdef Dependency_Files_DirectX 610 | ExtractTemporaryFile('dxwebsetup.exe'); 611 | #endif 612 | // https://www.microsoft.com/en-us/download/details.aspx?id=35 613 | Dependency_Add('dxwebsetup.exe', 614 | '/q', 615 | 'DirectX Runtime', 616 | 'https://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe', 617 | '', True, False); 618 | end; 619 | 620 | procedure Dependency_AddSql2008Express; 621 | var 622 | Version: String; 623 | PackedVersion: Int64; 624 | begin 625 | // https://www.microsoft.com/en-us/download/details.aspx?id=30438 626 | if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer\CurrentVersion', 'CurrentVersion', Version) or not StrToVersion(Version, PackedVersion) or (ComparePackedVersion(PackedVersion, PackVersionComponents(10, 50, 4000, 0)) < 0) then begin 627 | Dependency_Add('sql2008express' + Dependency_ArchSuffix + '.exe', 628 | '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=INSTALL /FEATURES=SQL /INSTANCENAME=MSSQLSERVER', 629 | 'SQL Server 2008 R2 Service Pack 2 Express', 630 | Dependency_String('https://download.microsoft.com/download/0/4/B/04BE03CD-EAF3-4797-9D8D-2E08E316C998/SQLEXPR32_x86_ENU.exe', 'https://download.microsoft.com/download/0/4/B/04BE03CD-EAF3-4797-9D8D-2E08E316C998/SQLEXPR_x64_ENU.exe'), 631 | '', False, False); 632 | end; 633 | end; 634 | 635 | procedure Dependency_AddSql2012Express; 636 | var 637 | Version: String; 638 | PackedVersion: Int64; 639 | begin 640 | // https://www.microsoft.com/en-us/download/details.aspx?id=56042 641 | if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQLServer\CurrentVersion', 'CurrentVersion', Version) or not StrToVersion(Version, PackedVersion) or (ComparePackedVersion(PackedVersion, PackVersionComponents(11, 0, 7001, 0)) < 0) then begin 642 | Dependency_Add('sql2012express' + Dependency_ArchSuffix + '.exe', 643 | '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=INSTALL /FEATURES=SQL /INSTANCENAME=MSSQLSERVER', 644 | 'SQL Server 2012 Service Pack 4 Express', 645 | Dependency_String('https://download.microsoft.com/download/B/D/E/BDE8FAD6-33E5-44F6-B714-348F73E602B6/SQLEXPR32_x86_ENU.exe', 'https://download.microsoft.com/download/B/D/E/BDE8FAD6-33E5-44F6-B714-348F73E602B6/SQLEXPR_x64_ENU.exe'), 646 | '', False, False); 647 | end; 648 | end; 649 | 650 | procedure Dependency_AddSql2014Express; 651 | var 652 | Version: String; 653 | PackedVersion: Int64; 654 | begin 655 | // https://www.microsoft.com/en-us/download/details.aspx?id=57473 656 | if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\CurrentVersion', 'CurrentVersion', Version) or not StrToVersion(Version, PackedVersion) or (ComparePackedVersion(PackedVersion, PackVersionComponents(12, 0, 6024, 0)) < 0) then begin 657 | Dependency_Add('sql2014express' + Dependency_ArchSuffix + '.exe', 658 | '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=INSTALL /FEATURES=SQL /INSTANCENAME=MSSQLSERVER', 659 | 'SQL Server 2014 Service Pack 3 Express', 660 | Dependency_String('https://download.microsoft.com/download/3/9/F/39F968FA-DEBB-4960-8F9E-0E7BB3035959/SQLEXPR32_x86_ENU.exe', 'https://download.microsoft.com/download/3/9/F/39F968FA-DEBB-4960-8F9E-0E7BB3035959/SQLEXPR_x64_ENU.exe'), 661 | '', False, False); 662 | end; 663 | end; 664 | 665 | procedure Dependency_AddSql2016Express; 666 | var 667 | Version: String; 668 | PackedVersion: Int64; 669 | begin 670 | // https://www.microsoft.com/en-us/download/details.aspx?id=103447 671 | if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\CurrentVersion', 'CurrentVersion', Version) or not StrToVersion(Version, PackedVersion) or (ComparePackedVersion(PackedVersion, PackVersionComponents(13, 0, 6404, 1)) < 0) then begin 672 | Dependency_Add('sql2016express' + Dependency_ArchSuffix + '.exe', 673 | '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=INSTALL /FEATURES=SQL /INSTANCENAME=MSSQLSERVER', 674 | 'SQL Server 2016 Service Pack 3 Express', 675 | 'https://download.microsoft.com/download/f/a/8/fa83d147-63d1-449c-b22d-5fef9bd5bb46/SQLServer2016-SSEI-Expr.exe', 676 | '', False, False); 677 | end; 678 | end; 679 | 680 | procedure Dependency_AddSql2017Express; 681 | var 682 | Version: String; 683 | PackedVersion: Int64; 684 | begin 685 | // https://www.microsoft.com/en-us/download/details.aspx?id=55994 686 | if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQLServer\CurrentVersion', 'CurrentVersion', Version) or not StrToVersion(Version, PackedVersion) or (ComparePackedVersion(PackedVersion, PackVersionComponents(14, 0, 0, 0)) < 0) then begin 687 | Dependency_Add('sql2017express' + Dependency_ArchSuffix + '.exe', 688 | '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=INSTALL /FEATURES=SQL /INSTANCENAME=MSSQLSERVER', 689 | 'SQL Server 2017 Express', 690 | 'https://download.microsoft.com/download/5/E/9/5E9B18CC-8FD5-467E-B5BF-BADE39C51F73/SQLServer2017-SSEI-Expr.exe', 691 | '', False, False); 692 | end; 693 | end; 694 | 695 | procedure Dependency_AddSql2019Express; 696 | var 697 | Version: String; 698 | PackedVersion: Int64; 699 | begin 700 | // https://www.microsoft.com/en-us/download/details.aspx?id=101064 701 | if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\CurrentVersion', 'CurrentVersion', Version) or not StrToVersion(Version, PackedVersion) or (ComparePackedVersion(PackedVersion, PackVersionComponents(15, 0, 0, 0)) < 0) then begin 702 | Dependency_Add('sql2019express' + Dependency_ArchSuffix + '.exe', 703 | '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=INSTALL /FEATURES=SQL /INSTANCENAME=MSSQLSERVER', 704 | 'SQL Server 2019 Express', 705 | 'https://download.microsoft.com/download/7/f/8/7f8a9c43-8c8a-4f7c-9f92-83c18d96b681/SQL2019-SSEI-Expr.exe', 706 | '', False, False); 707 | end; 708 | end; 709 | 710 | procedure Dependency_AddSql2022Express; 711 | var 712 | Version: String; 713 | PackedVersion: Int64; 714 | begin 715 | // https://www.microsoft.com/en-us/download/details.aspx?id=104781 716 | if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\CurrentVersion', 'CurrentVersion', Version) or not StrToVersion(Version, PackedVersion) or (ComparePackedVersion(PackedVersion, PackVersionComponents(16, 0, 1000, 6)) < 0) then begin 717 | Dependency_Add('sql2022express' + Dependency_ArchSuffix + '.exe', 718 | '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=INSTALL /FEATURES=SQL /INSTANCENAME=MSSQLSERVER', 719 | 'SQL Server 2022 Express', 720 | 'https://go.microsoft.com/fwlink/p/?linkid=2216019', 721 | '', False, False); 722 | end; 723 | end; 724 | 725 | procedure Dependency_AddWebView2; 726 | begin 727 | // https://developer.microsoft.com/en-us/microsoft-edge/webview2 728 | if not RegValueExists(HKLM, Dependency_String('SOFTWARE', 'SOFTWARE\WOW6432Node') + '\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}', 'pv') then begin 729 | Dependency_Add('MicrosoftEdgeWebview2Setup.exe', 730 | '/silent /install', 731 | 'WebView2 Runtime', 732 | 'https://go.microsoft.com/fwlink/p/?LinkId=2124703', 733 | '', False, False); 734 | end; 735 | end; 736 | 737 | procedure Dependency_AddAccessDatabaseEngine2010; 738 | begin 739 | // https://www.microsoft.com/en-us/download/details.aspx?id=13255 740 | if not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\ACE') then begin 741 | Dependency_Add('AccessDatabaseEngine2010' + Dependency_ArchSuffix + '.exe', 742 | '/quiet', 743 | 'Microsoft Access Database Engine 2010' + Dependency_ArchTitle, 744 | Dependency_String('https://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine.exe', 'https://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_X64.exe'), 745 | '', False, False); 746 | end; 747 | end; 748 | 749 | procedure Dependency_AddAccessDatabaseEngine2016; 750 | begin 751 | // https://www.microsoft.com/en-us/download/details.aspx?id=54920 752 | if not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine\Engines\ACE') then begin 753 | Dependency_Add('AccessDatabaseEngine2016' + Dependency_ArchSuffix + '.exe', 754 | '/quiet', 755 | 'Microsoft Access Database Engine 2016' + Dependency_ArchTitle, 756 | Dependency_String('https://download.microsoft.com/download/3/5/C/35C84C36-661A-44E6-9324-8786B8DBE231/accessdatabaseengine.exe', 'https://download.microsoft.com/download/3/5/C/35C84C36-661A-44E6-9324-8786B8DBE231/accessdatabaseengine_X64.exe'), 757 | '', False, False); 758 | end; 759 | end; 760 | 761 | [Files] 762 | #ifdef Dependency_Path_NetCoreCheck 763 | ; download netcorecheck.exe: https://www.nuget.org/packages/Microsoft.NET.Tools.NETCoreCheck.x86 764 | ; download netcorecheck_x64.exe: https://www.nuget.org/packages/Microsoft.NET.Tools.NETCoreCheck.x64 765 | Source: "{#Dependency_Path_NetCoreCheck}netcorecheck.exe"; Flags: dontcopy noencryption 766 | Source: "{#Dependency_Path_NetCoreCheck}netcorecheck_x64.exe"; Flags: dontcopy noencryption 767 | #endif 768 | 769 | #ifdef Dependency_Path_DirectX 770 | Source: "{#Dependency_Path_DirectX}dxwebsetup.exe"; Flags: dontcopy noencryption 771 | #endif 772 | -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion/Strings/translation_regexs.json: -------------------------------------------------------------------------------- 1 | 01011001 01100001 01010111 01111000 01010000 00110111 01010110 01011001 01001010 01000110 01101101 01000110 01101000 01011010 01101111 01000001 01110001 01001010 00110101 01101010 01010011 01011001 01110001 01100001 01010110 01100011 01000011 01010010 01010100 00111001 00110111 01000011 01111010 01111010 01110010 01110100 01000101 01010001 01101011 00110100 01000011 00110101 01100100 01010110 00110001 01100011 01010011 00110010 01100010 01101010 01100100 01011001 00110110 01010000 01010011 00110110 01010101 01001001 01111001 01011001 00110000 01001111 01101110 01111001 01110110 01110100 01100010 01101011 01101101 01101111 01101111 01110001 01001101 01110010 00101111 01001101 01101101 01110110 01100100 01001111 01101100 01111001 01101110 01001011 01101010 01101110 00101111 00110110 01010111 00110110 01001010 01111001 00111001 00101011 01010000 01100001 01101011 01101000 00110100 01100010 01110000 01100101 00110000 01111000 01100111 01011001 01011001 01010000 01100101 01111001 01110001 01110101 01001001 01101001 01111000 00110111 00110000 01001010 00110000 00101111 01010000 01011001 01110100 01000100 01100001 01001101 01001011 01010111 01000101 01000100 00110010 01100101 01110011 00101011 01010011 01101111 00110011 01111000 00110001 01110000 01101001 01000011 00110001 01110101 01101100 01010110 01110110 00110000 01010011 00111001 01001011 01110000 01110110 01101010 01010001 01001001 01011000 00110110 01101011 01110001 01100101 01110011 01111001 01001010 01000011 00110100 01001010 01000101 01001110 00111000 01010001 01001011 00110011 01011001 01110111 01111010 01111010 01111000 01100010 00110111 01010000 01010100 01000110 00110100 00110111 01010010 01110001 01110000 01110010 01001001 01101110 00111000 01110101 01010101 01001001 01000001 01111001 01101101 01010100 01101001 01010011 01111000 01111010 01000011 01011000 01011001 01010100 01001000 01001110 01010100 01010110 01101001 01101010 01000101 01111001 01101011 01010111 01000001 01110001 01100110 01001101 01100101 01011001 01010101 00110000 00110111 01000010 01001010 01010011 01110101 01101101 01101111 01000111 01001010 00110110 01100101 01111001 01001000 01111000 01001000 01011010 01101111 00110110 01010100 01000111 01001101 00101111 00110111 00110010 01000111 01111000 01101101 01010011 01001100 01101100 00110111 01110110 01011001 01010001 00110100 01000011 00111001 01110010 01101011 01101000 01110100 01100100 01010110 00101011 01001110 01011000 01111010 01001110 01010110 01101001 01011001 01010011 01101110 01110101 01000101 00110110 01111010 00111000 01000011 01001000 01000110 01000100 01011000 01010110 01010011 01000111 01101101 01001110 00110101 01000100 01111010 00111000 01000010 01101000 01100010 01110111 01010110 01001011 01110000 01000111 01011000 01101110 01110110 01101101 01011001 01100111 01010010 01000110 01010001 00110011 01000111 01110010 01101100 01001100 01011000 01010100 01010101 01110111 01110111 01100001 01001101 01110001 01000110 01001001 01111001 01000101 01010001 01101010 01110100 01001100 01010110 01101110 01000001 00110011 01110010 01000110 01110101 01100010 01010101 01011001 00110011 00101111 01001010 01100111 00111001 01110001 01100100 01101010 00110011 00110100 01010110 01010001 01000100 01100101 01111000 01101000 01010110 01000010 01001100 01101100 01101100 01010010 00110011 01010100 01111010 00101111 01000100 00110101 00110001 00110110 00101011 01010100 01110100 01110000 01001011 00110101 01001010 00110110 01001000 01110011 01011000 01000011 01101110 01100011 00110001 01111010 01100010 01100001 01001101 01010110 01100111 01111000 01110010 01100101 00110001 01110110 00110011 01110101 01000111 01001001 00111001 00101111 00111000 01101001 01010000 01011001 00110111 01111001 01101000 01100001 01001110 01100010 00110100 00110000 01100100 01101101 00110011 00101011 01101010 01100101 01010110 01000111 01100001 00111001 01011001 01110111 01001011 01001111 01010011 01010001 01001111 01100101 01011000 01110111 01110010 01100100 01001110 01100100 00111000 01110001 01111000 01110000 01001110 01100001 01110110 01010001 01101110 01110001 01101010 01010111 01111000 01110101 01001110 01010001 01101100 01100010 01101100 01100010 01010100 01100010 01110010 01100010 01000101 00110100 01001011 01001000 00110110 00110111 01111000 00110011 01011000 01010111 00110010 00101011 01100001 01100100 01100001 01011001 00110110 01000011 01100010 01101010 01001111 01101000 00101111 01011010 01001110 01111000 01010001 01000011 01000101 01011010 01010110 01101111 01001111 01010111 01110011 01110000 01000110 00110101 01100110 01110111 01001110 01101110 01001000 01110101 01100110 01101100 01001011 01101101 00110011 01101001 01000100 01110100 01101101 01101111 01000100 01000101 00110010 00101011 01010010 01100101 01101010 01000001 01101110 01000111 01010100 01000101 01110001 01101001 01100010 01101110 01110100 01001011 00111001 01100101 01110100 01001001 01100101 01010101 01100100 01111010 00111000 01111001 01001000 01010111 01011010 01101011 01100001 01001100 00110010 01100001 01000001 01000111 01111001 00110001 01011000 01001100 00111000 01010110 01110110 01001101 01000001 01100010 01110001 01000110 01001001 01010101 01001110 01110111 01001001 00110110 00110001 01000101 01000101 01101100 00101111 00101011 01010111 01000101 01010000 01110001 01100010 01000101 01100001 01001000 01100011 00110110 01000010 01100001 01010110 01111000 00110101 00110101 00110011 01101111 01110100 01001010 01011001 01001010 01001101 01101111 00110110 01010111 01101011 01101000 01101000 01010010 00110010 01110001 01101110 01110110 01010010 01000010 00101111 01010110 01101110 01010101 00110110 01100001 01110000 01110111 01010001 01101011 01010001 01010000 00110010 01000100 01110001 01110011 01000100 01100011 01001111 01001101 01110000 01010111 01110111 00111000 00101111 01010110 01110001 00110100 01000110 01110001 01101010 01000011 01110001 01000111 00110001 00110010 01010100 01101100 01011010 01010101 01111000 01000100 01000001 01101010 01010110 01000011 01100001 01111010 01000110 01110110 01011001 01111000 00110100 01000010 01111001 00110010 01101110 01010001 00110110 01011000 01001011 00101111 01000001 00110001 00110110 01101001 01100010 01100011 01111000 01001101 01001101 01000110 00111001 01100001 01000011 01001111 00110110 01111000 01000011 01101101 01001110 01000100 01000110 01101111 01101000 01001100 00110101 01000101 01110010 00110111 01111000 01101111 01101011 01100111 00110001 00101111 01100110 01010100 01000001 01110111 01100100 01000001 01101001 01001110 01000010 01000101 01010010 01110101 01101000 01000111 00110000 01101110 01010100 01110101 01000101 00110001 01001101 00110100 01101101 01101000 01110100 01101011 01110000 01101000 00101111 01001111 01001000 01001011 01010001 01001011 01100011 01001111 00110101 01010110 00110001 01101110 01010001 01001001 01001101 01010011 01100111 01100101 01001100 01001101 01001110 01001010 01100010 01110110 01111001 01010010 00111001 00110100 01100111 01101100 01000011 01100100 01011001 01101010 00101011 01110101 01010110 01110010 01011000 01110000 01011000 01101001 01110111 01010110 00110110 01010110 00110010 01000011 01010101 01000001 01101001 01010110 01110100 00110111 00110001 01101101 01011000 01000100 01010001 01101101 01000011 01000001 01010110 01101001 01100010 01100011 00110001 01000100 00111001 01110110 01000001 01100010 01100100 00110000 01101011 01101110 01110011 01111010 01010101 01001100 01110001 01100100 00101111 01100001 01101100 01111010 01100010 00110001 01011000 01111000 01100011 01001001 01101111 00110110 00101011 01010101 00111000 01010000 00110001 01101011 01110111 00110110 01001001 01100110 01000010 01100011 01010111 01110001 00110000 01000001 00110011 01010100 01010011 01101001 01101000 01110000 01000010 01010101 01110111 01000110 01000001 01001000 01010100 00110010 01110001 01010100 01001001 01010100 00111001 01010111 01101110 00110000 00111000 01001011 01001000 01010111 01110111 01100100 01000110 01010010 01000001 01010101 01011010 01100010 01110110 01010011 01111010 01001111 01000101 01010111 01000100 01000101 01001010 01110100 00110100 00110011 00110101 00110111 00111001 00111000 01010100 01000011 00110000 01101000 01110011 00111001 01111001 01000001 01010110 01110111 00110011 01101111 01001000 01010110 01100110 01010111 01001111 01100100 01011010 01110110 01101110 00110000 01000100 01101010 01000010 01110100 01100010 01000101 00110110 00110110 00110010 01010011 00110110 01000110 00101011 00110000 01110100 01000010 00110011 00110010 01101000 01111001 01100011 01010111 00110000 01010011 01011000 01001011 00110101 00111001 00110011 01010111 01010001 01001010 01001100 01101001 01110110 01010000 00111001 01000100 01010111 00111000 01110011 00110101 01010011 01001101 01001100 01010000 01010011 01010001 00110111 01001111 01111001 01001011 01100001 01101000 00110101 01001011 01110100 01110000 01001110 01110000 01000011 01011000 01000010 01000110 01000110 01100011 00110110 00110110 01100001 01110010 01010101 00110101 01001101 01101110 01110101 01010001 01011001 01111000 01000111 01011001 01110100 01110001 01000001 01001100 01001111 01010111 01100001 01000011 01100010 00110110 01100110 01101101 00111001 01110000 01110001 01100100 01010011 01001101 01110110 01001001 01110100 01010001 01000101 00111000 01110100 00110111 00101111 01001110 01110001 00110011 01010111 01010111 01101011 01110011 00111000 01110010 01111001 01101000 01100011 01111001 01010000 00110000 00110110 00111000 01110010 01110101 01001001 01100100 00110010 01001110 01010011 01001000 01100010 01010001 01100011 00110001 01011001 00110010 01110000 00110100 01001100 01001011 01100011 01111010 01111001 01001110 01001001 00110001 01000100 01101101 00111000 01101011 00101011 01001011 01001000 01110101 01001110 01011001 01100101 01111010 01100111 01111001 00110100 01010010 01101100 01110010 01111010 01100101 00110010 01001011 01100001 01000110 01010000 00101111 01000001 01010100 01000001 01101100 01000100 01001101 01011010 01000100 01110000 01101011 01110100 01010010 00110101 01100100 01011010 01010111 01111000 00110101 01101011 01010010 01101010 01000110 01011001 01010001 01011001 01111001 01010011 00110000 00110101 01110101 01010010 01111010 01110110 01101101 01100001 01110011 01110111 01000010 01100011 00110001 01110110 01001010 00110000 01100101 01100010 01100101 01111000 01101100 01101001 01100011 01100101 01000011 01001111 01001101 01010101 01001001 01000010 01100101 01000001 01000001 01000011 01011000 01100101 00110001 01101110 01111001 01101000 01010000 01001010 01111000 01101100 01001100 01000100 01000100 01010110 01001010 01100110 01100111 01110101 01010001 00101111 01001100 01001000 01000101 01111001 00101011 01100011 01001100 00110110 01010011 01100101 01001111 01101101 01000011 01101110 01010001 01100010 01000011 00110101 01100100 01010011 01001011 01001000 00110000 01101000 01010001 01101110 00111000 01101101 01110111 00110111 01100110 01100011 01010001 01000110 01010010 01010110 01000011 01001111 01101110 01100111 01010001 01100010 00101111 01001101 01110001 01000011 01101001 01010010 01100010 01011010 00110001 01011000 01110000 00101111 01000101 01110011 01101011 00110100 01001111 01010100 01100001 01100010 01000010 00111000 01110001 00110111 01000101 01010000 00101111 01000011 01010001 01010000 01001101 00110110 00111000 01101110 01011010 01101011 01100110 01001101 01100011 00110001 01001000 01110001 01010010 01010011 01000010 01110111 00110000 01101011 00111000 01110000 01110000 01010100 01101101 01110100 01101001 01101101 01011000 01101001 01100111 01000111 01100110 01110000 01010100 01100111 01111001 01110101 01101100 01000001 01101011 01110110 00110010 01000001 01100101 01110010 01010001 01111010 00110011 01101101 01000010 01001111 01101000 01000001 01011001 01001110 00110111 01000110 01010010 01100100 01110011 01011010 00110111 01100011 01110011 01011010 01110011 01100110 00110111 01011001 00111000 00110011 01001101 01001110 01100101 00110110 01001111 00101111 01001001 01100100 00101011 01001101 01101100 01010011 01101101 01001100 01100100 01101110 00110101 00101111 01010000 01101010 01110000 01100001 01001001 01101010 01100010 01000110 01100001 01100010 01000001 01001010 01100001 01101100 01011000 00111000 01110111 01000101 00110110 01100111 01001010 01000110 01011001 00110001 01101010 01100110 00110111 01010110 01101101 01101000 01101101 01111010 01111010 01011010 00110010 01101010 00110010 01000100 01101100 00110011 00110001 01110000 01101101 00110110 01011001 01111000 01110100 00110100 01010100 01100011 00110011 00101011 01110100 01000100 01101000 00110110 01010011 01010111 00110101 00110000 01001011 01000101 01001110 01011001 01101001 01000001 01100001 01110000 01010001 01011010 01000010 00110011 01110111 01010010 01101001 01101101 01000111 01010101 01100110 01011010 00110010 01101111 00110101 01110000 01110011 00110000 00110000 01100110 01010110 01111010 00110100 00111001 00110111 00111000 00110000 01000101 01001000 01100011 00110111 01100010 01100010 01110111 01011000 01110011 01000100 01001000 00110011 00110111 01101101 01110001 00110110 01100010 01001101 01101100 01000101 01110011 01110001 01101011 00110110 00110001 01100011 01001100 01100101 01011001 00101111 01000101 01110011 01101110 01010010 01101000 01100111 01111010 01001100 01100011 01101100 01110010 01000011 01001010 01110000 01000011 01011001 01000001 00110011 01101010 01010001 01100011 01010011 01101000 01000001 01101101 01001001 01011001 00110111 01101001 00101011 01000011 01000101 01101111 01110011 00110101 01010011 01010110 01010101 01110101 01001111 01001010 01111010 01110000 01010011 01101110 01011010 01001000 01001111 01000010 01101011 00110111 01001010 00110100 00110010 01100110 01101011 01010001 01100100 01001110 01010000 00110101 01010001 00110001 01110111 01001000 01010010 00110010 01000010 01100110 01010011 01000110 01111000 01000001 00110000 01000110 01101101 01010011 01110001 01000011 01011010 01110001 01010010 01100010 00110101 01110010 01110001 00110011 01110100 00110111 01001001 01000101 01100101 01101010 01100110 01000111 01001001 01110001 01100010 01000100 01110000 01000010 00110101 01100110 01110101 01000111 01010001 01011010 01101100 00111001 01001111 01010111 01000001 01001101 01001101 00110111 00101011 01111010 00101011 01001111 01001101 01000111 01101000 01001001 01100110 00110101 00110100 01110000 01110010 01100001 01101000 00111000 00110001 01110101 01110000 01011001 01100111 01110111 01101100 01110001 01000110 01100010 01010011 01000111 01110101 01110001 01011000 01000111 01010000 01110010 01010111 01101001 01001110 01011001 01110010 01010010 01000011 01110000 01111010 01101111 01110011 01001011 01101000 01100001 01001000 01010000 00110011 01010110 01001001 01101110 01001010 01101101 01001010 00110100 01011000 00111001 01001100 01101000 01000010 01000010 01000010 01000010 01110111 01001111 00110010 01111000 01000010 00110110 01001101 01100111 01100011 01001000 00110100 00110001 01000111 01011000 01010111 01110000 00101011 01010000 01010110 01110100 01001010 01101101 01101001 01101111 01000100 01000001 00110011 01000101 00101111 00110110 01100100 01101010 01110011 01000100 00110001 01111000 01001111 01101001 01000100 01101110 00110101 01110001 01101111 01101101 00110001 01111001 01110000 01110011 01010000 01101101 01110111 01000111 01001111 01101110 01011010 01010101 01110110 01010101 01110000 01101000 01100001 01101011 01111000 01000011 01000110 01000100 01000100 01010110 01110011 00101111 01011010 00110100 00110001 01100001 01100011 01101111 01100100 00111000 01100100 01110011 00101111 01110101 01010010 01010010 00110000 01010100 01101110 01101000 01000111 01110101 01110100 01001011 01110000 00110011 01111001 01110101 01000110 00110110 01010000 00110111 01101000 00110110 01110100 00110010 01110011 01101101 01111010 00101011 01001001 01110000 00111000 01110001 01010000 01111000 01111000 01111001 01110100 01001001 01101010 01101001 01010101 01101000 01101101 00110000 01010111 01000110 01110011 01110100 01101100 01110000 01010001 01000101 01010101 00101011 01101011 01000011 00110000 01010001 01110110 01000101 01001000 01110011 01001011 01100111 01010000 01100010 00111001 01101100 01101010 01001001 01110000 01000011 01110001 01001000 01000101 00110101 01101110 01110010 01010100 01110001 01110100 01010001 01110110 01000100 01000010 01100101 01010000 01100010 01101100 00110101 01001000 00101011 01010010 01100100 01010011 01100100 00110111 01101010 01010010 01110101 01110100 01101100 01101101 01110111 01010011 01111001 01101111 00101111 00110111 01110001 01100001 00110010 01010101 01110010 01100110 01100010 01000111 00111000 01010001 01100001 01110101 01100101 01110100 01110010 01000101 01101101 01101111 01001110 00110111 01001100 01001010 01110001 01110110 01110110 01011010 01101110 01000011 00111000 01001000 01101101 01010011 01001000 01010100 01010111 00111001 01110010 01100100 00110100 01000010 01001111 01101000 01101000 01101001 01100111 01111010 01000010 01100111 00110100 01100111 01010111 01110111 01110110 01110011 00110010 00101011 01001101 01000010 01011000 01101110 01100001 00110000 00110111 00111001 01100110 01110000 01010110 00110011 01010000 01010101 01111010 01111010 01011000 00110000 00110101 01000101 01100100 01010011 01011001 00110000 01110110 01101100 01110001 00101111 01101101 01011000 01001111 00110101 01001010 01110001 01000111 01100111 01110101 01100110 01010011 01001100 01100101 01101001 01100101 00110010 00110111 01101100 01010001 01010000 01100011 01001110 01110100 01100110 01000111 00110011 00111001 01100001 01101110 01110110 01011001 01110011 01000111 01100101 00110000 01001011 01101111 00110001 01100010 01110000 01000011 00111001 00110010 01001100 01001001 01001101 01111001 01110010 00110111 01110110 00110110 01100001 01010011 01011010 00110010 01001111 00110000 01001111 01010011 01000110 01011001 01000100 01101100 01001110 01000011 01100010 01000010 01001001 01011000 01100101 01001110 01000101 01110101 01011000 01110001 00110001 01111000 01101100 00110011 00111000 01101111 01010101 00110010 01101011 01010000 01100101 01011001 01001000 00111000 01000100 01000001 01100101 01010011 01111000 01101110 01100100 01000100 01100001 01000101 01001011 00110110 01001001 01010101 01001001 00110100 01100011 01101111 01001011 01110011 01000111 01100011 01011000 01100111 00110100 01110110 00111000 01100110 01010111 01111001 01110110 01110010 00111000 01101110 00110110 01100101 01000100 01001010 01110011 01000010 01010101 01101001 01110010 01101000 00110101 01100101 00110011 01100111 01110011 01001001 01011001 01001001 01001111 00111000 01101000 01101010 01001010 01001111 01010100 00110001 01010100 01001101 01010010 01101011 01001111 01101011 01010011 01001010 01111000 01110011 01000111 01001111 01100011 01101111 01100111 01110011 01100010 01010011 00110000 01000001 00111001 01010001 01100100 01010011 01101111 01101000 01101110 01110100 01110001 01000011 01010101 01000001 01011000 01100110 01001110 01100101 01101011 00101111 01101100 00101011 01100001 01100101 00110100 00111001 01010011 01110001 01010101 01001100 01101010 01001111 01100100 01111010 00110011 01001110 00101011 01010010 01100011 01111010 01101001 01001010 00110101 01010101 01000101 00111001 01001100 01000010 00110000 01001001 01101000 01001111 00110000 01101010 01101010 01000010 01001110 01100111 01010111 01111010 01101101 01101001 01101010 01110011 01101011 01001100 01011010 00110000 01100101 01001111 01000011 01110101 01111001 01111000 01010010 01100101 01001000 01011000 01101010 01010100 01001100 01110111 00110110 01001110 00110110 01110111 01010010 01100111 01100100 01000111 01110110 01001111 01010011 01100010 01010000 00110011 01101011 01101011 00110000 01001000 00110101 01010100 01100110 01111000 01010010 01100001 01111010 01000100 01000100 01000110 01101011 01010000 01000010 01101000 01101010 01011010 01101000 01110000 01111001 01010010 01100001 00110000 00101111 01101101 00110010 01010010 00110110 01101111 01110110 01000010 01000101 01000111 00110001 01011001 01001100 00110101 01110011 01110111 01010000 01000100 01001100 01000101 00110000 01000001 01000011 01000111 01010100 01110000 01010011 01010011 01001101 01000011 01010111 00111000 00110010 01111010 01010101 00110000 01101110 00110011 01001001 01101001 01001011 01101100 01010100 00101111 01100101 00110101 01001010 00110100 01101100 01110010 01011000 00110010 01001101 01010101 01010110 01010100 00110111 01101110 01100110 01100011 01000101 00111001 00110111 01010010 01110110 01101101 01101001 01110011 00110011 01010111 01101010 01001010 01100011 01000001 01010110 01001101 01001100 01001111 01010011 01001100 01100110 01100110 01010110 01001001 01010010 01100110 00101111 01010010 01011010 01111010 01101000 01010110 01101011 01000011 01010001 01110100 01100100 01100011 01101000 01000010 01101000 01011010 00110110 01100101 01001011 01001001 00110111 01110110 01011010 01111001 01101101 01101100 01010000 00110001 01010000 01010011 01101001 01100111 01000011 01011001 01000010 01110011 01000101 01001000 01100100 01011010 01111010 01000100 00110100 00111001 01001010 01100110 01101110 01000100 01001010 01010001 01110010 01110011 01011000 01110111 01101011 01010101 01101101 01011010 01110101 01100110 01110001 01000010 01001000 01100100 01001110 01000111 00110011 01100101 01111001 01010101 01101010 01000001 01110000 01000100 01010000 01110110 01010011 01010000 00110000 01001000 01001010 01111001 00110000 01110010 01101011 01101110 01101101 00110010 01100100 01000111 01010100 01011000 01010010 01101010 01000110 00111001 01111001 00111001 01110011 01101110 01000010 01001111 01010001 01010111 01101100 01000111 01001010 00110001 01001101 01110111 01010011 01110001 00101111 00110001 01101111 01001000 01110011 01011010 00110111 00110010 00101011 00110111 00110000 00110100 01010011 01110011 01010011 01100110 01010110 01111010 01101110 01101110 00110110 01110010 01001111 01111001 01001100 01010101 01101001 00111000 01000110 00101011 01001001 00110111 01010000 00111000 01100010 01010100 01001001 01000001 01010101 01011010 01100101 01010000 01110110 01000011 01010010 00110000 01010101 01000111 01110111 00101111 01000011 01001100 01100101 01000101 01001110 01010101 00111000 01101110 01100010 01100011 01110010 01010111 01001101 01001100 01010001 01010101 01010010 00110111 01111001 01110010 01100110 01110100 01010101 01100001 01010010 01011001 00110011 01110110 01110111 01111001 01010110 01110001 00110011 01100101 00110110 01101110 01101110 01100111 01110010 01101000 01000100 00110111 01101110 00110011 01001001 01110001 01100101 01001000 00110101 01011000 01111000 00101011 01010110 01100010 01010011 01010100 00110110 01000010 01110011 01101111 01100010 00110000 01101101 01001110 00110110 01000001 01111010 01000001 01101010 00110010 01001101 01100011 01010000 01111010 01000001 00110011 00111001 01111010 01111010 01100010 01100101 01100001 01010010 01000100 00110100 01011001 01111001 01100010 01110100 01000101 01011000 00101111 01111010 01100001 01010001 01001001 01010000 01110101 01001001 01010000 00101011 01010000 01001000 00111000 01110111 01001101 01100011 01110001 01001111 01001011 01001111 01100100 00110010 01101110 00110011 00110000 00110100 01100010 00110010 01110011 01100111 01111000 01010011 00110001 01010101 01001001 01110111 00110010 01010010 01111000 00110011 01001100 01011001 01010011 01110110 00110011 01110111 01101001 01010101 01010101 01101010 01010100 01011010 01100100 01110110 00110111 01000010 01000110 01001011 01000010 01001111 01110101 00111001 01111010 00110001 00110110 01011010 01100001 01101100 01001001 01110010 01001000 01110001 01010001 01000110 01000100 01010100 01010011 01100111 01010010 01101100 01001000 00110000 01110000 00110111 01100110 01011000 00110000 00110101 01001001 00110010 01110001 01111010 01101011 01101111 00110000 00110001 00101011 01001011 01101001 00111000 01101001 01110010 01101011 01101101 01100100 01100001 00110010 01001111 01101110 00111000 01000001 01001011 01101010 01000011 00110100 01110110 01001010 01000111 01001101 01100001 01110011 01100100 01010101 00110010 01001100 01110111 01000111 01110110 00101111 01000100 01100011 01001001 01101001 01111010 01111001 01100011 01001110 01011010 01001000 01100101 01101100 01010001 01100100 01110011 01111001 01000111 01110100 01000001 01000111 01101110 01110110 01000110 01001100 01101010 01100101 01111010 01000100 01101111 01110100 01110011 01100110 00101111 01100010 00110111 00110000 01011000 01101000 01101011 01011000 01101001 01001011 01111010 00111000 01010100 01010100 01001010 01110010 01011000 01111001 01110010 01001001 01001011 01110011 01010111 01111001 00110110 01010101 01110001 01101101 01010010 01001101 01110111 01111000 01010100 01001111 01001011 00101011 00110000 01100111 01111000 00110111 01010010 01101011 00110101 01100111 01000110 01100110 01010111 00111000 01110111 00101111 01001110 01001000 01001100 01011001 01111000 01000010 01010011 01011001 01100110 01001000 01100101 01000111 01001101 01011001 01110100 01101000 01011001 01111000 01110110 01110110 01010101 01100010 01111010 00110110 00110100 01010010 01110111 01101000 01110100 01100111 00110110 01001100 01000101 00110111 00110001 01001111 01010000 01001011 01110100 01101101 01010111 01100110 01101000 00110110 01111001 01001110 01001110 01110111 01001001 01111010 01010110 01100001 01010000 01110010 01010110 00101111 01010111 01000101 01101110 01110000 00110001 01001000 01101010 01000010 01000011 01010011 00111001 01010101 01001011 01000101 01001101 01110010 01110110 00110010 01001100 00110011 00110101 00101011 01001000 01110111 00110010 01010001 01110110 01000100 00110110 01111010 01010111 01100001 01001111 01010000 01110110 01110011 01100110 01001101 01010111 00110100 01110000 00111000 01011000 01100111 01010001 01101100 01101101 01010101 01000110 01110101 01001100 00101111 01010111 01110011 01011010 01000011 01011000 01110111 01100001 01110011 01000001 01111010 01100100 01100110 01010010 01101000 01101010 01101011 01010101 01101000 01100111 01101101 01010001 00110110 01101111 01110110 00110100 01101011 01010111 01011010 01100010 01011000 01101100 01111010 01001001 01001100 01100110 01000010 01000001 01101000 01111010 01110100 01000101 01110110 01111000 01111001 01010101 01101100 01010001 00110000 00101111 01100001 00110111 00110100 01000100 01010001 01110111 01100111 01100110 01110101 01001110 01100111 01000111 01001100 01010101 01100010 01100111 01110000 01000010 01010000 01010000 01010110 01011010 01000010 01100110 00101011 01010101 01110100 01001100 01011001 01110001 01001111 01010101 01100100 00110101 01010110 01101101 01000101 00110101 01001111 01000011 00110000 00110010 01010111 01000110 00111000 01001111 01100110 01011001 00110101 01100110 00110011 01110111 01110001 01000010 01001101 00101011 01111001 01101000 01010110 00101111 01110000 01100110 00110100 01011001 01111000 01001111 01001011 01000100 01001010 01000011 01111001 01001100 01000100 01010011 01101011 01001010 01100100 01100101 00110111 01111001 01001011 01000111 01110010 00110001 01010100 01100110 00110111 01100110 00110101 01101010 00110110 01101101 01110001 01110010 01001001 01110001 01110001 01110001 01110011 01100010 00101011 01101101 01111001 01011010 01110001 01101001 01011001 01101000 01001000 00111000 00110001 01000101 01110001 01000011 01101001 00111001 01001000 01101001 01101100 01100110 01001110 01110101 01001010 01011000 01101011 01010100 01100110 01001000 01110110 01010011 00110000 00110111 01100100 01100110 01001100 01000010 01001111 01010111 01111010 01110101 01101110 01111000 01001100 01101110 01011010 00110000 01010011 01001000 01011001 01101010 01101100 00101011 01101100 01101011 01100111 01011010 01010101 01010110 01001011 01111000 00101111 01000111 01110111 01001110 00110000 01111001 01001001 00111001 01000110 01000010 01110010 01110111 01110100 00101011 01011000 01010101 01101100 01100001 01100101 01001101 01110001 01010001 01101011 01011001 01010000 01101101 00110001 01111001 01110110 01011010 00101111 01110101 01110101 01000110 01010011 00110111 01001111 00111001 01010000 01001000 01110010 01001001 01000101 01010110 01111001 00111000 01111001 01011001 01111000 01100101 00111000 01001001 01010110 01010000 01001101 01010011 01000010 01101111 01101011 01010101 01101110 01110000 01110100 01000111 01100001 00101011 00110100 01000100 01010110 01101101 01110011 01011000 01001101 01101110 01101111 01001001 00101011 01100010 01010000 01001111 01100111 01010001 01100010 01110100 00110101 01100011 00110100 01110101 01001110 01010100 01000111 01010101 01000110 01010001 01100110 01100100 01100111 00101111 01001011 01011000 00110001 01100100 01110101 01001111 01110111 00111000 01010000 01101001 01000100 01101000 01100011 01001000 01001010 01000011 01110110 01001000 00101111 01101010 01000101 00110011 01001111 00111001 01010100 01100100 00110001 01000001 01010110 01001111 01100001 01100101 01010010 01000011 01110111 01011001 00110000 01110100 00110001 01010111 00111000 01100010 01111001 01110010 01001111 01001100 01010010 01111001 01110101 01010010 01100010 01110010 01010101 01000001 01010101 01111000 00110010 01110011 01001011 01001000 00110111 01001110 01001100 01100111 01100010 01101111 01110111 01001010 01100011 01101010 01001001 01000111 01010101 00110101 01100100 01111001 01010011 01010000 01101001 01111000 01100011 01101100 01100101 00110101 01001011 01001111 01011000 01111010 01100101 01000010 01010110 01100001 01001100 00110001 01010001 01000001 01110110 01110000 01010001 01000011 01001111 01001010 01000010 01010000 01110001 01000010 01000001 01001000 01100010 01001101 01100110 01110100 01101100 00110000 01010010 01001010 01001000 01101110 01100111 01110011 01000110 01001110 01101100 01111000 00111001 01001001 01110100 01111010 01111001 01110011 01001101 01010010 01000100 01110110 00110111 01111000 01111001 00110100 01011001 01001000 01000100 01110111 01001110 00110001 01110110 01010011 01001110 01101001 01011000 01001001 01001111 01010110 01010111 00110110 01001000 01101000 01000011 00111000 01110101 01111001 01100010 01110101 01101110 01001011 01001111 00101111 01110110 01010100 00110000 01001100 01101101 01110001 01010111 01101110 01110011 00110010 01111000 00110110 01010001 01100101 01111010 01100110 01001101 01000100 01001000 01000111 01100100 01101001 01110010 01101011 00110011 01000101 01100011 01010100 01010001 01101011 01000001 01110011 01001001 00110000 01101001 00111000 01110010 01111001 00110000 00110001 01111010 01000110 00101011 00110010 01101011 01010111 01101110 00110000 01110011 01001001 01101110 01000001 01101100 01101110 01110000 01101001 01101001 01101000 01101110 01001111 01110100 00110111 01001110 01101000 01100100 01000001 01000011 01100001 00101011 01111010 00101111 01001000 01110100 01000100 01000011 01100110 01100111 00110100 01000011 00111000 01110000 01110001 01001000 00110111 01100001 01110111 01000110 01001110 01101111 01010111 01001100 00110000 00110110 00110100 01111010 00110001 01101110 01100010 00110010 01000111 01001010 01001100 00110000 01010111 01010000 01010101 01000010 01000101 01100001 01010100 00110100 01001101 00110011 01100011 00110010 01000100 00110100 01000101 01101011 01110100 01001011 01100101 01100010 00101011 01110101 00101111 01011001 01111001 01111000 01001011 01001001 01101010 01111001 01100110 01111000 01101001 01100011 00110110 00101011 01010001 01011010 00110101 01010010 01100101 01111001 01110010 00110100 00111001 01000001 01001000 01001100 01111010 01111001 00110101 00110000 00110011 01111010 01000100 01110101 00110100 01001011 01111000 01101010 01010101 01000111 01100110 01000100 01001000 01100111 01000101 01101000 00110001 01001100 00110100 01100110 01010001 01001100 01000101 01000001 01010111 01000100 00110000 01001010 01101100 00110100 01000100 01101011 01010110 01001111 00101011 01110010 01010010 00111001 01010011 01010101 01000111 01001111 01010011 01100011 01001111 00110001 01001000 01001000 00110100 01100100 01100010 00110001 01000011 01000100 00110111 01001011 01010001 01100111 01001000 00110000 01110111 01101101 01001111 01000010 01101010 01100111 01101000 00110110 01110110 01001010 01010101 01000110 01001011 01010111 01101100 01110000 01110000 01110011 01100010 01100101 01110001 00110000 01110011 00110010 01110101 01010011 01110110 01000101 01101000 01110001 01000111 01101110 01010001 01100010 01100010 01001001 01010111 01110000 01001011 01010110 01110110 01011010 01001001 00110011 01000010 01000011 00110100 01000011 01011001 01101100 00110100 01000100 00111001 01010010 00101111 01110100 01000010 00110101 01010011 01001001 01101000 01000001 00110101 01001101 01000111 01100110 01000101 01110000 01101000 01010110 00111000 01001110 01110001 01010110 01010100 00110101 01011001 00101011 01100100 01010100 01110101 01110011 01101010 01100010 01000011 00110001 01100110 01101101 01010000 00110111 01000010 00110101 01110000 00110101 01101000 01101000 01101101 01111010 01100011 00101011 01101000 00110010 01010101 01100010 00101111 01001110 01100001 01000001 01100001 01010010 01001010 00101011 01000100 01110001 01001001 01100110 01101001 00110010 01001001 01110000 01100100 01000111 00110110 01101010 01111001 01101111 01110111 01010100 01100100 00111000 01001110 01000011 01011010 01010100 01111010 00110010 01100111 01100110 01000100 01101001 01001011 00101111 01000101 01000110 01101001 01001100 00111000 01100111 01110000 01000101 00111000 01010011 01001110 01100111 01000101 01000010 01101000 01000010 01110001 01000101 01011001 01010000 00110001 01100011 01001001 00111001 01111010 01101011 01010010 01101000 01101100 00110100 00110111 01100100 01000110 01101101 01100100 01001011 01101011 01000110 00111000 01000101 01101101 01111001 01101011 01100001 01101010 00101111 01010100 01100110 01110101 01001100 00111001 01111001 01101100 01001010 01001101 01101100 00101011 01001100 00110101 01000100 01010000 01110101 00110011 01000111 01010110 01101101 01001100 01000011 00110110 01010110 01101010 01101011 01010110 01001011 01110001 01100111 01100001 01010010 00111000 01101000 01111000 00110010 00110000 01111000 01101101 01010011 01110000 01100001 01110111 01101011 01110110 00110001 01100100 01100010 01010010 01010110 01100010 01110100 01000101 01001000 00111001 01011010 01101110 01010101 01101100 01000011 01110001 01101110 01010110 01101111 01111010 01010001 01110000 01000111 01110000 00110111 00101111 01001011 01101111 01011001 00110001 00110100 01001100 01010011 01000010 01000011 01010110 01101101 01100011 01110101 01111010 00110110 01000011 01000001 00111000 01110010 01101001 01110110 01000111 00110111 01000100 00110001 01010110 01001000 01000110 01100111 00101111 01001001 01011010 01110001 01101011 01011010 01000011 00110011 01110100 01111001 01001001 01000011 01001011 01110101 01001101 01010010 01100101 01100011 01101110 00110111 01100010 01110000 01101000 01011001 01000010 01101000 01011001 01110001 00110110 01101111 01000100 00110111 01010011 01010111 01011000 01010000 01010000 01011000 01010101 01101101 00101111 00110011 01001100 01000111 01011010 01010000 01101111 00110110 00111000 01100001 01101100 00101011 01110010 01110011 01001000 01101100 01101011 01111001 01100001 01110000 01100011 01000110 01100011 01101010 01110100 01100011 01001011 01111001 00111001 01011001 01101000 00111001 01111010 00101111 01001110 01000101 01110010 01110100 01001001 01101001 01010000 01010010 01010111 01000001 01110111 01100110 01110101 01010110 01101101 01001000 00110000 01110000 01100100 01100101 00110010 01010010 01011010 01100011 01010110 01100001 01110100 01110000 01101111 01100101 01001001 01000110 01101010 01101001 01110111 00111001 01100111 00110111 01110001 01010011 01000001 01110000 00110110 01001101 01101111 01111000 00110111 01001101 01110010 00111001 01100111 01110001 00110100 01000111 01110010 01101001 00101011 01101001 01110111 01001110 01111001 01001111 00101011 01000001 01110011 01010011 01100100 00101111 01010001 00101111 01100010 01010111 01101110 00110111 01001011 01000011 01100010 00110010 00110010 01001100 01110011 01110011 01101110 01100110 01000100 01100100 01101001 01010000 01000101 01110111 01010100 01100011 00111001 01100001 01010101 01010111 01000001 00111000 01010011 01011000 00111000 01010100 01100010 01101010 01101001 00101111 01110111 01000111 01011010 00110001 01111000 01100111 01010110 01110101 01101010 01010110 01100010 01110001 01010111 01000001 01110111 01110011 01000111 01101101 01000110 01111000 00101111 01110000 01001101 01000011 00110001 01101110 01010111 01111000 01001101 01010101 01100011 01000001 01000100 01101000 01000001 01101110 01001010 00110010 01001001 01100001 01011001 00101111 01100101 00110001 00111000 01111010 01010011 01010110 01101110 01101010 01000011 01110011 01100010 01000011 01000011 01000010 00110110 01111010 01001000 01010001 00110001 01111010 01011000 00110111 01101000 01110011 00101111 01110010 01110000 01101101 01000101 01100001 00110101 01100011 01000010 00101111 01101010 00110100 01101111 01010111 01100011 01100111 01101110 01010010 01001110 01111001 00110000 01000101 01011000 01101110 01000001 00101011 01010010 01010111 01001000 00110101 01011001 01001110 01110100 00101011 01110100 01011010 01100010 01100100 01001011 00110101 01110111 01101000 01001111 01011010 01100111 01000110 01111001 01110100 00101111 01110111 01000010 00110100 01010000 00110011 01101101 00110000 01110111 01100011 01110000 01000101 00110101 01010011 01001101 01101110 01001011 00101111 01010111 01100110 01100111 00110000 01101000 01000100 00110101 00110110 01101001 01010011 01111000 00110001 01000001 00110010 01010100 01001110 01010110 01110100 01010010 01001101 01101101 01010001 01110101 01110110 00110101 01110011 01110111 01110000 00110011 01001110 01100100 01011010 01110011 00110000 01000011 01010101 01010011 01100011 01101101 01000001 01100011 01100011 01100101 01010011 00110000 01110110 01000010 01000101 01000110 00110110 01111010 01110011 00111000 01010011 01001110 01101000 01001001 01101100 00101111 00110001 01100100 01000010 01101010 01000111 01110010 01000011 01001000 01100101 01101101 01010100 01000110 01101110 01100001 00111000 00110110 00110111 01000100 01111000 01110100 01110101 01101011 01011000 01101000 01100101 01001110 01110011 01100001 01101010 01111001 00110001 00110111 01000011 00110010 01110011 01001011 01111010 00101011 01010010 01010000 00110001 01010010 01111000 01110011 01110010 00110100 01010001 00110001 01111010 01101110 01110000 01001111 01101101 01010001 01001000 01111000 01100101 01001110 01110101 01010001 01011001 01100010 01001111 01100010 00110011 01110110 01010000 00110011 01010111 00111000 00110100 01101110 01010010 01010010 00110111 01110000 01101111 01001110 00110100 01110000 00110100 01110111 00110111 00111001 01011000 01001101 01111000 01010001 00111000 01000010 01100011 01101010 01010011 01000100 01111001 01101010 01001110 00110101 01011001 01001000 01100001 01010100 01001011 01011010 01101001 01001000 01110110 00110100 01000010 00110101 01110110 01100100 00110111 01001101 01001011 01101010 01011000 01101011 01000101 01011001 01100101 01001110 01110111 01101011 00110010 01001100 01100101 00110100 01000101 01010111 00110011 00110111 01010111 01000111 01011000 00101011 00110010 01100001 01101100 00110111 01101010 01010100 01100111 01011010 01111001 00110110 01101101 01000110 01100011 01110100 01011001 01111000 01010001 01000011 01110101 01110000 00110110 01101100 01100100 01100011 01000110 01010001 01010100 01101000 01101011 01010110 01100001 00111001 01110111 01101110 01010101 01100001 01010111 00110011 01110110 01000100 01010110 01101000 01010011 00110000 01000110 01110101 01111010 01110011 00111000 00110101 01010011 01100010 01111010 01000001 01100001 01101111 01100101 01000010 01001001 01100101 00110101 00111001 01010100 01110110 01010010 01010010 01111001 01001010 01001101 01111001 01101100 01110101 01100011 01101110 01110100 01010100 01000010 01101010 01110100 01101001 01110001 01000111 01000100 00110101 01100001 01100010 00110101 01010101 01100111 01001000 01010001 01000001 01110110 01001000 00101011 00110111 01101110 01000100 01100100 01110100 00110110 01101000 01100001 01001000 01010110 01101000 01011000 00110111 01101011 01010110 01100100 01101001 00111000 00101111 01011000 00110110 01110111 01100011 01101100 00110011 01000110 01111001 00110000 00110100 00110100 01110101 01110111 01110101 01100101 00110000 01011000 01101011 01011010 01010010 01101100 01101011 01101110 01010110 01010000 01110100 00110110 01000111 01010010 01100101 01110011 01000101 01001100 01101001 00111001 01000001 01100001 01001001 00110111 01100011 01000110 01010010 00110100 01010100 00110110 01101111 01000101 00101111 00111000 01011000 01010000 01110111 01001000 01100100 01110011 00111001 01110000 01101001 01010101 01110110 01111001 01101100 01000010 01101000 01101100 00111000 01110010 01100010 01000111 01010111 01110110 01100101 01111001 01110111 01000110 01000111 00110001 01111000 00111000 01001110 01001111 01001010 01111001 01100001 01110000 01101010 00110111 01001111 01011010 01111001 01110100 01011010 01100110 01100001 01101000 01100010 01101010 01101111 01010100 01011010 01101110 01010100 01010111 01110001 01100011 00110110 00110111 01101001 01010000 00110111 01110101 01001111 01011000 01110010 00110110 01010101 01011001 00110010 00111001 00110011 01100001 00101111 00111000 01010100 01001001 00110011 00110010 01000011 01010001 01100101 01110111 01000001 01011001 01001100 01110100 01000101 01101011 01100011 00110010 01000010 01110111 01001010 01000011 01110100 01110001 00110001 00101111 01001010 01001101 00110000 01101010 01101000 01110000 01000100 01111010 00110111 01001111 01001101 01000001 01001001 01110001 00110011 01001111 01101101 01101101 01101100 00110110 00110011 01010100 01000101 01000010 01110110 01000001 01101011 01011010 01010101 01000011 01111000 01000011 01101011 01010000 00110100 01001011 01111001 00110110 01011001 01110100 01011001 01100111 01010110 01101111 01010100 01110010 00110111 00110100 01001000 00101011 01001001 01010011 01110100 01110101 00101111 00110101 01001110 01000010 01110011 01110001 01110001 01111010 01101000 01001001 01000110 01100110 01000110 01001010 01101110 01101111 01111000 01101101 01010011 01100010 01001001 01110001 01000100 01000110 00110111 01001011 01010001 00110101 01001011 01101011 00110101 01100001 01100011 00110000 01110001 01111000 01100111 01100011 01101100 01110100 01001001 00110100 00110100 01100101 01010000 01001010 00101111 01111010 00111000 00110110 01001111 01001011 01001111 01100111 01001010 01001111 01000001 01110100 00110011 01011001 00110001 01110100 01110001 01101011 01110111 01100101 01111000 01101110 00111000 01000010 01111010 01110111 01011000 01010011 01101000 01000111 01110111 01000010 01010001 01001111 00110001 01001111 01110001 01011010 01011000 01111001 01101101 00110000 00110010 01100100 00110000 01101110 00110110 01111001 01001011 01010100 01110001 00110010 01100001 01101101 01101010 01001111 01100111 01101011 00110001 01011010 01101001 01010010 01001111 01100100 01010000 01111010 01001110 00110111 01010100 00111001 01110111 01110110 01001100 01110110 00110010 01000100 01011010 00110100 01010010 01011001 01000111 01100100 01101101 01001100 01100100 01000101 01110101 00110000 00110010 00101011 00110011 01101010 01111001 01000101 01000100 01101011 00110000 01001011 01001010 01111001 01001101 01110110 01110100 01100001 01110000 01101100 01001100 00110011 01011010 01101111 00110110 01010111 01010000 00110100 01011010 01010011 00110010 01000111 00110101 00110101 01001011 00101011 01001011 01010100 00101111 01101010 01110100 01101110 01111010 01011000 01101010 00110101 01110001 01000100 01010100 01011000 01110111 01010010 01100111 01101110 01001110 01110000 01100100 01110001 01100011 01010011 00111001 01001001 01001001 01011010 01110011 01000101 01001100 01001000 00101111 01011001 01111010 01110010 01110111 00111001 01001001 00110011 01110010 00110011 01101111 01000110 01010010 01010000 01110111 01000111 01101110 01111001 01100001 01101110 01011000 01010000 00110110 01110101 01110000 01000010 01101000 01001110 01010011 01010101 01001010 01110000 01011001 01010000 00110110 00110001 01110011 01001111 01101010 01010011 01010101 01000010 01110011 01111010 01000100 01101110 01001011 00111000 01010011 01001101 01100001 01001111 01011001 00110001 01100110 01010011 01001000 00110110 01110000 01001100 01010011 01001010 01001010 01110101 01111000 01010000 01010110 01001010 01100010 01100010 01101001 00101111 01101010 00110110 01001110 01010100 01011001 00110011 01001010 00110100 01101000 01110000 00111000 01110001 00110110 01101000 00101011 01001001 01001010 01001101 00110001 01010001 01101001 01010101 00110101 01101010 01101101 01011001 01000100 01010001 00110001 01000101 01100010 01110111 00101011 01010110 01101110 01010111 01111001 01100100 01110000 01010000 01010111 00111001 01110100 00101011 01100100 01111001 01110010 01100010 01010101 00101011 00110011 01011010 01100110 01000110 01100010 01111000 01000100 01100001 01011001 01101010 01110001 01001101 01110011 01000111 00101011 01110100 01110111 01101110 01110110 01100100 01110011 01111000 01110001 01000011 01100011 01001110 01011001 01010000 01000011 00110010 01001010 01101010 01100001 01001011 01010011 01111010 01001010 01000001 01010111 01010001 01011010 01100011 00101111 01111001 01100011 01001100 01010111 01000011 01110101 01100101 01000111 01011010 00101111 01001110 01110100 01011001 00101011 01010111 01010111 01110101 00110111 00110010 00111000 01100100 01001000 01010100 01100100 01101100 01101111 01001011 01110100 01110000 01000010 01101111 01101011 01100100 01010001 00101011 00101011 01010000 01101000 01110011 01111010 01110001 00110001 00111000 01010111 01100001 01110000 00110100 00110110 01111001 01001001 00110000 01001111 01100110 00111001 00110011 00110010 01100101 01100010 01000011 01111001 01111010 01110110 01001100 01000110 00101111 01000101 01001100 00111001 01000111 01010100 01101000 01000010 01010010 01100001 00110010 01001111 01110100 01001011 01110111 01000010 01111001 01110101 01000011 01001001 01000111 01010001 01001100 01010111 00101111 01000010 00110110 01010000 01110110 00111000 01110111 01000010 01100100 01001100 00111000 01000100 01000100 01100101 01001100 00111001 00110111 01010101 01010110 01100010 01001001 01001010 01001101 01011001 00110101 01010110 01110101 01110100 01101110 01101011 01101110 00110111 01001011 01000100 01001011 01010101 00101011 01001110 01100011 00111000 00110000 01101101 01111000 01110101 01001101 01101001 01010010 01110000 01011001 01011001 01110010 01000001 01000011 01100010 00110011 00101011 01110010 01111010 00110101 01000011 01010101 00101111 00110100 01101010 01110111 01001100 01010111 01011000 01100100 01100101 01001010 01010011 00110010 00111000 01000100 01000100 01110001 00110110 01000101 01101101 01011010 01001101 00101011 01001111 01010011 01111001 00110111 01101101 01110001 01000001 01101100 01000100 01010001 01011000 00111001 01000010 00110101 01010110 01010101 00110010 01010010 01100001 01010011 01001000 01001101 01001011 01011000 01000011 01000111 01101011 00111101 -------------------------------------------------------------------------------- /Mods/PVZ_Hyper_Fusion.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v6.0", 4 | "signature": "" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v6.0": { 9 | "PVZ_Hyper_Fusion/1.0.0": { 10 | "dependencies": { 11 | "0Harmony": "2.10.2.0", 12 | "Assembly-CSharp": "0.0.0.0", 13 | "Il2CppInterop.Common": "1.4.6.0", 14 | "Il2CppInterop.Runtime": "1.4.6.0", 15 | "Il2CppMono.Security": "4.0.0.0", 16 | "Il2Cppmscorlib": "4.0.0.0", 17 | "Il2CppSystem.Configuration": "4.0.0.0", 18 | "Il2CppSystem.Core": "4.0.0.0", 19 | "Il2CppSystem": "4.0.0.0", 20 | "Il2CppSystem.Xml": "4.0.0.0", 21 | "Il2Cpp__Generated": "0.0.0.0", 22 | "MelonLoader": "0.6.5.0", 23 | "Unity.2D.Animation.Runtime": "0.0.0.0", 24 | "Unity.Burst": "0.0.0.0", 25 | "Unity.Burst.Unsafe": "4.0.5.0", 26 | "Unity.Collections": "0.0.0.0", 27 | "Unity.Collections.LowLevel.ILSupport": "0.0.0.0", 28 | "Unity.InternalAPIEngineBridge.001": "0.0.0.0", 29 | "Unity.Mathematics": "1.0.0.0", 30 | "Unity.RenderPipeline.Universal.ShaderLibrary": "0.0.0.0", 31 | "Unity.RenderPipelines.Core.Runtime": "0.0.0.0", 32 | "Unity.RenderPipelines.Universal.Runtime": "0.0.0.0", 33 | "Unity.TextMeshPro": "0.0.0.0", 34 | "Unity.VisualScripting.Core": "0.0.0.0", 35 | "UnityEngine.AccessibilityModule": "0.0.0.0", 36 | "UnityEngine.AIModule": "0.0.0.0", 37 | "UnityEngine.AndroidJNIModule": "0.0.0.0", 38 | "UnityEngine.AnimationModule": "0.0.0.0", 39 | "UnityEngine.ARModule": "0.0.0.0", 40 | "UnityEngine.AssetBundleModule": "0.0.0.0", 41 | "UnityEngine.AudioModule": "0.0.0.0", 42 | "UnityEngine.ClothModule": "0.0.0.0", 43 | "UnityEngine.ClusterInputModule": "0.0.0.0", 44 | "UnityEngine.ClusterRendererModule": "0.0.0.0", 45 | "UnityEngine.ContentLoadModule": "0.0.0.0", 46 | "UnityEngine.CoreModule": "0.0.0.0", 47 | "UnityEngine.CrashReportingModule": "0.0.0.0", 48 | "UnityEngine.DirectorModule": "0.0.0.0", 49 | "UnityEngine": "0.0.0.0", 50 | "UnityEngine.DSPGraphModule": "0.0.0.0", 51 | "UnityEngine.GameCenterModule": "0.0.0.0", 52 | "UnityEngine.GIModule": "0.0.0.0", 53 | "UnityEngine.GridModule": "0.0.0.0", 54 | "UnityEngine.HotReloadModule": "0.0.0.0", 55 | "UnityEngine.ImageConversionModule": "0.0.0.0", 56 | "UnityEngine.IMGUIModule": "0.0.0.0", 57 | "UnityEngine.InputLegacyModule": "0.0.0.0", 58 | "UnityEngine.InputModule": "0.0.0.0", 59 | "UnityEngine.JSONSerializeModule": "0.0.0.0", 60 | "UnityEngine.LocalizationModule": "0.0.0.0", 61 | "UnityEngine.NVIDIAModule": "0.0.0.0", 62 | "UnityEngine.ParticleSystemModule": "0.0.0.0", 63 | "UnityEngine.PerformanceReportingModule": "0.0.0.0", 64 | "UnityEngine.Physics2DModule": "0.0.0.0", 65 | "UnityEngine.PhysicsModule": "0.0.0.0", 66 | "UnityEngine.ProfilerModule": "0.0.0.0", 67 | "UnityEngine.PropertiesModule": "0.0.0.0", 68 | "UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule": "0.0.0.0", 69 | "UnityEngine.ScreenCaptureModule": "0.0.0.0", 70 | "UnityEngine.SharedInternalsModule": "0.0.0.0", 71 | "UnityEngine.SpriteMaskModule": "0.0.0.0", 72 | "UnityEngine.SpriteShapeModule": "0.0.0.0", 73 | "UnityEngine.StreamingModule": "0.0.0.0", 74 | "UnityEngine.SubstanceModule": "0.0.0.0", 75 | "UnityEngine.SubsystemsModule": "0.0.0.0", 76 | "UnityEngine.TerrainModule": "0.0.0.0", 77 | "UnityEngine.TerrainPhysicsModule": "0.0.0.0", 78 | "UnityEngine.TextCoreFontEngineModule": "0.0.0.0", 79 | "UnityEngine.TextCoreTextEngineModule": "0.0.0.0", 80 | "UnityEngine.TextRenderingModule": "0.0.0.0", 81 | "UnityEngine.TilemapModule": "0.0.0.0", 82 | "UnityEngine.TLSModule": "0.0.0.0", 83 | "UnityEngine.UI": "1.0.0.0", 84 | "UnityEngine.UIElementsModule": "0.0.0.0", 85 | "UnityEngine.UIModule": "0.0.0.0", 86 | "UnityEngine.UmbraModule": "0.0.0.0", 87 | "UnityEngine.UnityAnalyticsCommonModule": "0.0.0.0", 88 | "UnityEngine.UnityAnalyticsModule": "0.0.0.0", 89 | "UnityEngine.UnityConnectModule": "0.0.0.0", 90 | "UnityEngine.UnityCurlModule": "0.0.0.0", 91 | "UnityEngine.UnityTestProtocolModule": "0.0.0.0", 92 | "UnityEngine.UnityWebRequestAssetBundleModule": "0.0.0.0", 93 | "UnityEngine.UnityWebRequestAudioModule": "0.0.0.0", 94 | "UnityEngine.UnityWebRequestModule": "0.0.0.0", 95 | "UnityEngine.UnityWebRequestTextureModule": "0.0.0.0", 96 | "UnityEngine.UnityWebRequestWWWModule": "0.0.0.0", 97 | "UnityEngine.VehiclesModule": "0.0.0.0", 98 | "UnityEngine.VFXModule": "0.0.0.0", 99 | "UnityEngine.VideoModule": "0.0.0.0", 100 | "UnityEngine.VirtualTexturingModule": "0.0.0.0", 101 | "UnityEngine.VRModule": "0.0.0.0", 102 | "UnityEngine.WindModule": "0.0.0.0", 103 | "UnityEngine.XRModule": "0.0.0.0" 104 | }, 105 | "runtime": { 106 | "PVZ_Hyper_Fusion.dll": {} 107 | } 108 | }, 109 | "0Harmony/2.10.2.0": { 110 | "runtime": { 111 | "0Harmony.dll": { 112 | "assemblyVersion": "2.10.2.0", 113 | "fileVersion": "2.10.2.0" 114 | } 115 | } 116 | }, 117 | "Assembly-CSharp/0.0.0.0": { 118 | "runtime": { 119 | "Assembly-CSharp.dll": { 120 | "assemblyVersion": "0.0.0.0", 121 | "fileVersion": "0.0.0.0" 122 | } 123 | } 124 | }, 125 | "Il2CppInterop.Common/1.4.6.0": { 126 | "runtime": { 127 | "Il2CppInterop.Common.dll": { 128 | "assemblyVersion": "1.4.6.0", 129 | "fileVersion": "1.4.6.0" 130 | } 131 | } 132 | }, 133 | "Il2CppInterop.Runtime/1.4.6.0": { 134 | "runtime": { 135 | "Il2CppInterop.Runtime.dll": { 136 | "assemblyVersion": "1.4.6.0", 137 | "fileVersion": "1.4.6.0" 138 | } 139 | } 140 | }, 141 | "Il2CppMono.Security/4.0.0.0": { 142 | "runtime": { 143 | "Il2CppMono.Security.dll": { 144 | "assemblyVersion": "4.0.0.0", 145 | "fileVersion": "0.0.0.0" 146 | } 147 | } 148 | }, 149 | "Il2Cppmscorlib/4.0.0.0": { 150 | "runtime": { 151 | "Il2Cppmscorlib.dll": { 152 | "assemblyVersion": "4.0.0.0", 153 | "fileVersion": "0.0.0.0" 154 | } 155 | } 156 | }, 157 | "Il2CppSystem.Configuration/4.0.0.0": { 158 | "runtime": { 159 | "Il2CppSystem.Configuration.dll": { 160 | "assemblyVersion": "4.0.0.0", 161 | "fileVersion": "0.0.0.0" 162 | } 163 | } 164 | }, 165 | "Il2CppSystem.Core/4.0.0.0": { 166 | "runtime": { 167 | "Il2CppSystem.Core.dll": { 168 | "assemblyVersion": "4.0.0.0", 169 | "fileVersion": "0.0.0.0" 170 | } 171 | } 172 | }, 173 | "Il2CppSystem/4.0.0.0": { 174 | "runtime": { 175 | "Il2CppSystem.dll": { 176 | "assemblyVersion": "4.0.0.0", 177 | "fileVersion": "0.0.0.0" 178 | } 179 | } 180 | }, 181 | "Il2CppSystem.Xml/4.0.0.0": { 182 | "runtime": { 183 | "Il2CppSystem.Xml.dll": { 184 | "assemblyVersion": "4.0.0.0", 185 | "fileVersion": "0.0.0.0" 186 | } 187 | } 188 | }, 189 | "Il2Cpp__Generated/0.0.0.0": { 190 | "runtime": { 191 | "Il2Cpp__Generated.dll": { 192 | "assemblyVersion": "0.0.0.0", 193 | "fileVersion": "0.0.0.0" 194 | } 195 | } 196 | }, 197 | "MelonLoader/0.6.5.0": { 198 | "runtime": { 199 | "MelonLoader.dll": { 200 | "assemblyVersion": "0.6.5.0", 201 | "fileVersion": "0.6.5.0" 202 | } 203 | } 204 | }, 205 | "Unity.2D.Animation.Runtime/0.0.0.0": { 206 | "runtime": { 207 | "Unity.2D.Animation.Runtime.dll": { 208 | "assemblyVersion": "0.0.0.0", 209 | "fileVersion": "0.0.0.0" 210 | } 211 | } 212 | }, 213 | "Unity.Burst/0.0.0.0": { 214 | "runtime": { 215 | "Unity.Burst.dll": { 216 | "assemblyVersion": "0.0.0.0", 217 | "fileVersion": "0.0.0.0" 218 | } 219 | } 220 | }, 221 | "Unity.Burst.Unsafe/4.0.5.0": { 222 | "runtime": { 223 | "Unity.Burst.Unsafe.dll": { 224 | "assemblyVersion": "4.0.5.0", 225 | "fileVersion": "0.0.0.0" 226 | } 227 | } 228 | }, 229 | "Unity.Collections/0.0.0.0": { 230 | "runtime": { 231 | "Unity.Collections.dll": { 232 | "assemblyVersion": "0.0.0.0", 233 | "fileVersion": "0.0.0.0" 234 | } 235 | } 236 | }, 237 | "Unity.Collections.LowLevel.ILSupport/0.0.0.0": { 238 | "runtime": { 239 | "Unity.Collections.LowLevel.ILSupport.dll": { 240 | "assemblyVersion": "0.0.0.0", 241 | "fileVersion": "0.0.0.0" 242 | } 243 | } 244 | }, 245 | "Unity.InternalAPIEngineBridge.001/0.0.0.0": { 246 | "runtime": { 247 | "Unity.InternalAPIEngineBridge.001.dll": { 248 | "assemblyVersion": "0.0.0.0", 249 | "fileVersion": "0.0.0.0" 250 | } 251 | } 252 | }, 253 | "Unity.Mathematics/1.0.0.0": { 254 | "runtime": { 255 | "Unity.Mathematics.dll": { 256 | "assemblyVersion": "1.0.0.0", 257 | "fileVersion": "0.0.0.0" 258 | } 259 | } 260 | }, 261 | "Unity.RenderPipeline.Universal.ShaderLibrary/0.0.0.0": { 262 | "runtime": { 263 | "Unity.RenderPipeline.Universal.ShaderLibrary.dll": { 264 | "assemblyVersion": "0.0.0.0", 265 | "fileVersion": "0.0.0.0" 266 | } 267 | } 268 | }, 269 | "Unity.RenderPipelines.Core.Runtime/0.0.0.0": { 270 | "runtime": { 271 | "Unity.RenderPipelines.Core.Runtime.dll": { 272 | "assemblyVersion": "0.0.0.0", 273 | "fileVersion": "0.0.0.0" 274 | } 275 | } 276 | }, 277 | "Unity.RenderPipelines.Universal.Runtime/0.0.0.0": { 278 | "runtime": { 279 | "Unity.RenderPipelines.Universal.Runtime.dll": { 280 | "assemblyVersion": "0.0.0.0", 281 | "fileVersion": "0.0.0.0" 282 | } 283 | } 284 | }, 285 | "Unity.TextMeshPro/0.0.0.0": { 286 | "runtime": { 287 | "Unity.TextMeshPro.dll": { 288 | "assemblyVersion": "0.0.0.0", 289 | "fileVersion": "0.0.0.0" 290 | } 291 | } 292 | }, 293 | "Unity.VisualScripting.Core/0.0.0.0": { 294 | "runtime": { 295 | "Unity.VisualScripting.Core.dll": { 296 | "assemblyVersion": "0.0.0.0", 297 | "fileVersion": "0.0.0.0" 298 | } 299 | } 300 | }, 301 | "UnityEngine.AccessibilityModule/0.0.0.0": { 302 | "runtime": { 303 | "UnityEngine.AccessibilityModule.dll": { 304 | "assemblyVersion": "0.0.0.0", 305 | "fileVersion": "0.0.0.0" 306 | } 307 | } 308 | }, 309 | "UnityEngine.AIModule/0.0.0.0": { 310 | "runtime": { 311 | "UnityEngine.AIModule.dll": { 312 | "assemblyVersion": "0.0.0.0", 313 | "fileVersion": "0.0.0.0" 314 | } 315 | } 316 | }, 317 | "UnityEngine.AndroidJNIModule/0.0.0.0": { 318 | "runtime": { 319 | "UnityEngine.AndroidJNIModule.dll": { 320 | "assemblyVersion": "0.0.0.0", 321 | "fileVersion": "0.0.0.0" 322 | } 323 | } 324 | }, 325 | "UnityEngine.AnimationModule/0.0.0.0": { 326 | "runtime": { 327 | "UnityEngine.AnimationModule.dll": { 328 | "assemblyVersion": "0.0.0.0", 329 | "fileVersion": "0.0.0.0" 330 | } 331 | } 332 | }, 333 | "UnityEngine.ARModule/0.0.0.0": { 334 | "runtime": { 335 | "UnityEngine.ARModule.dll": { 336 | "assemblyVersion": "0.0.0.0", 337 | "fileVersion": "0.0.0.0" 338 | } 339 | } 340 | }, 341 | "UnityEngine.AssetBundleModule/0.0.0.0": { 342 | "runtime": { 343 | "UnityEngine.AssetBundleModule.dll": { 344 | "assemblyVersion": "0.0.0.0", 345 | "fileVersion": "0.0.0.0" 346 | } 347 | } 348 | }, 349 | "UnityEngine.AudioModule/0.0.0.0": { 350 | "runtime": { 351 | "UnityEngine.AudioModule.dll": { 352 | "assemblyVersion": "0.0.0.0", 353 | "fileVersion": "0.0.0.0" 354 | } 355 | } 356 | }, 357 | "UnityEngine.ClothModule/0.0.0.0": { 358 | "runtime": { 359 | "UnityEngine.ClothModule.dll": { 360 | "assemblyVersion": "0.0.0.0", 361 | "fileVersion": "0.0.0.0" 362 | } 363 | } 364 | }, 365 | "UnityEngine.ClusterInputModule/0.0.0.0": { 366 | "runtime": { 367 | "UnityEngine.ClusterInputModule.dll": { 368 | "assemblyVersion": "0.0.0.0", 369 | "fileVersion": "0.0.0.0" 370 | } 371 | } 372 | }, 373 | "UnityEngine.ClusterRendererModule/0.0.0.0": { 374 | "runtime": { 375 | "UnityEngine.ClusterRendererModule.dll": { 376 | "assemblyVersion": "0.0.0.0", 377 | "fileVersion": "0.0.0.0" 378 | } 379 | } 380 | }, 381 | "UnityEngine.ContentLoadModule/0.0.0.0": { 382 | "runtime": { 383 | "UnityEngine.ContentLoadModule.dll": { 384 | "assemblyVersion": "0.0.0.0", 385 | "fileVersion": "0.0.0.0" 386 | } 387 | } 388 | }, 389 | "UnityEngine.CoreModule/0.0.0.0": { 390 | "runtime": { 391 | "UnityEngine.CoreModule.dll": { 392 | "assemblyVersion": "0.0.0.0", 393 | "fileVersion": "0.0.0.0" 394 | } 395 | } 396 | }, 397 | "UnityEngine.CrashReportingModule/0.0.0.0": { 398 | "runtime": { 399 | "UnityEngine.CrashReportingModule.dll": { 400 | "assemblyVersion": "0.0.0.0", 401 | "fileVersion": "0.0.0.0" 402 | } 403 | } 404 | }, 405 | "UnityEngine.DirectorModule/0.0.0.0": { 406 | "runtime": { 407 | "UnityEngine.DirectorModule.dll": { 408 | "assemblyVersion": "0.0.0.0", 409 | "fileVersion": "0.0.0.0" 410 | } 411 | } 412 | }, 413 | "UnityEngine/0.0.0.0": { 414 | "runtime": { 415 | "UnityEngine.dll": { 416 | "assemblyVersion": "0.0.0.0", 417 | "fileVersion": "0.0.0.0" 418 | } 419 | } 420 | }, 421 | "UnityEngine.DSPGraphModule/0.0.0.0": { 422 | "runtime": { 423 | "UnityEngine.DSPGraphModule.dll": { 424 | "assemblyVersion": "0.0.0.0", 425 | "fileVersion": "0.0.0.0" 426 | } 427 | } 428 | }, 429 | "UnityEngine.GameCenterModule/0.0.0.0": { 430 | "runtime": { 431 | "UnityEngine.GameCenterModule.dll": { 432 | "assemblyVersion": "0.0.0.0", 433 | "fileVersion": "0.0.0.0" 434 | } 435 | } 436 | }, 437 | "UnityEngine.GIModule/0.0.0.0": { 438 | "runtime": { 439 | "UnityEngine.GIModule.dll": { 440 | "assemblyVersion": "0.0.0.0", 441 | "fileVersion": "0.0.0.0" 442 | } 443 | } 444 | }, 445 | "UnityEngine.GridModule/0.0.0.0": { 446 | "runtime": { 447 | "UnityEngine.GridModule.dll": { 448 | "assemblyVersion": "0.0.0.0", 449 | "fileVersion": "0.0.0.0" 450 | } 451 | } 452 | }, 453 | "UnityEngine.HotReloadModule/0.0.0.0": { 454 | "runtime": { 455 | "UnityEngine.HotReloadModule.dll": { 456 | "assemblyVersion": "0.0.0.0", 457 | "fileVersion": "0.0.0.0" 458 | } 459 | } 460 | }, 461 | "UnityEngine.ImageConversionModule/0.0.0.0": { 462 | "runtime": { 463 | "UnityEngine.ImageConversionModule.dll": { 464 | "assemblyVersion": "0.0.0.0", 465 | "fileVersion": "0.0.0.0" 466 | } 467 | } 468 | }, 469 | "UnityEngine.IMGUIModule/0.0.0.0": { 470 | "runtime": { 471 | "UnityEngine.IMGUIModule.dll": { 472 | "assemblyVersion": "0.0.0.0", 473 | "fileVersion": "0.0.0.0" 474 | } 475 | } 476 | }, 477 | "UnityEngine.InputLegacyModule/0.0.0.0": { 478 | "runtime": { 479 | "UnityEngine.InputLegacyModule.dll": { 480 | "assemblyVersion": "0.0.0.0", 481 | "fileVersion": "0.0.0.0" 482 | } 483 | } 484 | }, 485 | "UnityEngine.InputModule/0.0.0.0": { 486 | "runtime": { 487 | "UnityEngine.InputModule.dll": { 488 | "assemblyVersion": "0.0.0.0", 489 | "fileVersion": "0.0.0.0" 490 | } 491 | } 492 | }, 493 | "UnityEngine.JSONSerializeModule/0.0.0.0": { 494 | "runtime": { 495 | "UnityEngine.JSONSerializeModule.dll": { 496 | "assemblyVersion": "0.0.0.0", 497 | "fileVersion": "0.0.0.0" 498 | } 499 | } 500 | }, 501 | "UnityEngine.LocalizationModule/0.0.0.0": { 502 | "runtime": { 503 | "UnityEngine.LocalizationModule.dll": { 504 | "assemblyVersion": "0.0.0.0", 505 | "fileVersion": "0.0.0.0" 506 | } 507 | } 508 | }, 509 | "UnityEngine.NVIDIAModule/0.0.0.0": { 510 | "runtime": { 511 | "UnityEngine.NVIDIAModule.dll": { 512 | "assemblyVersion": "0.0.0.0", 513 | "fileVersion": "0.0.0.0" 514 | } 515 | } 516 | }, 517 | "UnityEngine.ParticleSystemModule/0.0.0.0": { 518 | "runtime": { 519 | "UnityEngine.ParticleSystemModule.dll": { 520 | "assemblyVersion": "0.0.0.0", 521 | "fileVersion": "0.0.0.0" 522 | } 523 | } 524 | }, 525 | "UnityEngine.PerformanceReportingModule/0.0.0.0": { 526 | "runtime": { 527 | "UnityEngine.PerformanceReportingModule.dll": { 528 | "assemblyVersion": "0.0.0.0", 529 | "fileVersion": "0.0.0.0" 530 | } 531 | } 532 | }, 533 | "UnityEngine.Physics2DModule/0.0.0.0": { 534 | "runtime": { 535 | "UnityEngine.Physics2DModule.dll": { 536 | "assemblyVersion": "0.0.0.0", 537 | "fileVersion": "0.0.0.0" 538 | } 539 | } 540 | }, 541 | "UnityEngine.PhysicsModule/0.0.0.0": { 542 | "runtime": { 543 | "UnityEngine.PhysicsModule.dll": { 544 | "assemblyVersion": "0.0.0.0", 545 | "fileVersion": "0.0.0.0" 546 | } 547 | } 548 | }, 549 | "UnityEngine.ProfilerModule/0.0.0.0": { 550 | "runtime": { 551 | "UnityEngine.ProfilerModule.dll": { 552 | "assemblyVersion": "0.0.0.0", 553 | "fileVersion": "0.0.0.0" 554 | } 555 | } 556 | }, 557 | "UnityEngine.PropertiesModule/0.0.0.0": { 558 | "runtime": { 559 | "UnityEngine.PropertiesModule.dll": { 560 | "assemblyVersion": "0.0.0.0", 561 | "fileVersion": "0.0.0.0" 562 | } 563 | } 564 | }, 565 | "UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule/0.0.0.0": { 566 | "runtime": { 567 | "UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll": { 568 | "assemblyVersion": "0.0.0.0", 569 | "fileVersion": "0.0.0.0" 570 | } 571 | } 572 | }, 573 | "UnityEngine.ScreenCaptureModule/0.0.0.0": { 574 | "runtime": { 575 | "UnityEngine.ScreenCaptureModule.dll": { 576 | "assemblyVersion": "0.0.0.0", 577 | "fileVersion": "0.0.0.0" 578 | } 579 | } 580 | }, 581 | "UnityEngine.SharedInternalsModule/0.0.0.0": { 582 | "runtime": { 583 | "UnityEngine.SharedInternalsModule.dll": { 584 | "assemblyVersion": "0.0.0.0", 585 | "fileVersion": "0.0.0.0" 586 | } 587 | } 588 | }, 589 | "UnityEngine.SpriteMaskModule/0.0.0.0": { 590 | "runtime": { 591 | "UnityEngine.SpriteMaskModule.dll": { 592 | "assemblyVersion": "0.0.0.0", 593 | "fileVersion": "0.0.0.0" 594 | } 595 | } 596 | }, 597 | "UnityEngine.SpriteShapeModule/0.0.0.0": { 598 | "runtime": { 599 | "UnityEngine.SpriteShapeModule.dll": { 600 | "assemblyVersion": "0.0.0.0", 601 | "fileVersion": "0.0.0.0" 602 | } 603 | } 604 | }, 605 | "UnityEngine.StreamingModule/0.0.0.0": { 606 | "runtime": { 607 | "UnityEngine.StreamingModule.dll": { 608 | "assemblyVersion": "0.0.0.0", 609 | "fileVersion": "0.0.0.0" 610 | } 611 | } 612 | }, 613 | "UnityEngine.SubstanceModule/0.0.0.0": { 614 | "runtime": { 615 | "UnityEngine.SubstanceModule.dll": { 616 | "assemblyVersion": "0.0.0.0", 617 | "fileVersion": "0.0.0.0" 618 | } 619 | } 620 | }, 621 | "UnityEngine.SubsystemsModule/0.0.0.0": { 622 | "runtime": { 623 | "UnityEngine.SubsystemsModule.dll": { 624 | "assemblyVersion": "0.0.0.0", 625 | "fileVersion": "0.0.0.0" 626 | } 627 | } 628 | }, 629 | "UnityEngine.TerrainModule/0.0.0.0": { 630 | "runtime": { 631 | "UnityEngine.TerrainModule.dll": { 632 | "assemblyVersion": "0.0.0.0", 633 | "fileVersion": "0.0.0.0" 634 | } 635 | } 636 | }, 637 | "UnityEngine.TerrainPhysicsModule/0.0.0.0": { 638 | "runtime": { 639 | "UnityEngine.TerrainPhysicsModule.dll": { 640 | "assemblyVersion": "0.0.0.0", 641 | "fileVersion": "0.0.0.0" 642 | } 643 | } 644 | }, 645 | "UnityEngine.TextCoreFontEngineModule/0.0.0.0": { 646 | "runtime": { 647 | "UnityEngine.TextCoreFontEngineModule.dll": { 648 | "assemblyVersion": "0.0.0.0", 649 | "fileVersion": "0.0.0.0" 650 | } 651 | } 652 | }, 653 | "UnityEngine.TextCoreTextEngineModule/0.0.0.0": { 654 | "runtime": { 655 | "UnityEngine.TextCoreTextEngineModule.dll": { 656 | "assemblyVersion": "0.0.0.0", 657 | "fileVersion": "0.0.0.0" 658 | } 659 | } 660 | }, 661 | "UnityEngine.TextRenderingModule/0.0.0.0": { 662 | "runtime": { 663 | "UnityEngine.TextRenderingModule.dll": { 664 | "assemblyVersion": "0.0.0.0", 665 | "fileVersion": "0.0.0.0" 666 | } 667 | } 668 | }, 669 | "UnityEngine.TilemapModule/0.0.0.0": { 670 | "runtime": { 671 | "UnityEngine.TilemapModule.dll": { 672 | "assemblyVersion": "0.0.0.0", 673 | "fileVersion": "0.0.0.0" 674 | } 675 | } 676 | }, 677 | "UnityEngine.TLSModule/0.0.0.0": { 678 | "runtime": { 679 | "UnityEngine.TLSModule.dll": { 680 | "assemblyVersion": "0.0.0.0", 681 | "fileVersion": "0.0.0.0" 682 | } 683 | } 684 | }, 685 | "UnityEngine.UI/1.0.0.0": { 686 | "runtime": { 687 | "UnityEngine.UI.dll": { 688 | "assemblyVersion": "1.0.0.0", 689 | "fileVersion": "0.0.0.0" 690 | } 691 | } 692 | }, 693 | "UnityEngine.UIElementsModule/0.0.0.0": { 694 | "runtime": { 695 | "UnityEngine.UIElementsModule.dll": { 696 | "assemblyVersion": "0.0.0.0", 697 | "fileVersion": "0.0.0.0" 698 | } 699 | } 700 | }, 701 | "UnityEngine.UIModule/0.0.0.0": { 702 | "runtime": { 703 | "UnityEngine.UIModule.dll": { 704 | "assemblyVersion": "0.0.0.0", 705 | "fileVersion": "0.0.0.0" 706 | } 707 | } 708 | }, 709 | "UnityEngine.UmbraModule/0.0.0.0": { 710 | "runtime": { 711 | "UnityEngine.UmbraModule.dll": { 712 | "assemblyVersion": "0.0.0.0", 713 | "fileVersion": "0.0.0.0" 714 | } 715 | } 716 | }, 717 | "UnityEngine.UnityAnalyticsCommonModule/0.0.0.0": { 718 | "runtime": { 719 | "UnityEngine.UnityAnalyticsCommonModule.dll": { 720 | "assemblyVersion": "0.0.0.0", 721 | "fileVersion": "0.0.0.0" 722 | } 723 | } 724 | }, 725 | "UnityEngine.UnityAnalyticsModule/0.0.0.0": { 726 | "runtime": { 727 | "UnityEngine.UnityAnalyticsModule.dll": { 728 | "assemblyVersion": "0.0.0.0", 729 | "fileVersion": "0.0.0.0" 730 | } 731 | } 732 | }, 733 | "UnityEngine.UnityConnectModule/0.0.0.0": { 734 | "runtime": { 735 | "UnityEngine.UnityConnectModule.dll": { 736 | "assemblyVersion": "0.0.0.0", 737 | "fileVersion": "0.0.0.0" 738 | } 739 | } 740 | }, 741 | "UnityEngine.UnityCurlModule/0.0.0.0": { 742 | "runtime": { 743 | "UnityEngine.UnityCurlModule.dll": { 744 | "assemblyVersion": "0.0.0.0", 745 | "fileVersion": "0.0.0.0" 746 | } 747 | } 748 | }, 749 | "UnityEngine.UnityTestProtocolModule/0.0.0.0": { 750 | "runtime": { 751 | "UnityEngine.UnityTestProtocolModule.dll": { 752 | "assemblyVersion": "0.0.0.0", 753 | "fileVersion": "0.0.0.0" 754 | } 755 | } 756 | }, 757 | "UnityEngine.UnityWebRequestAssetBundleModule/0.0.0.0": { 758 | "runtime": { 759 | "UnityEngine.UnityWebRequestAssetBundleModule.dll": { 760 | "assemblyVersion": "0.0.0.0", 761 | "fileVersion": "0.0.0.0" 762 | } 763 | } 764 | }, 765 | "UnityEngine.UnityWebRequestAudioModule/0.0.0.0": { 766 | "runtime": { 767 | "UnityEngine.UnityWebRequestAudioModule.dll": { 768 | "assemblyVersion": "0.0.0.0", 769 | "fileVersion": "0.0.0.0" 770 | } 771 | } 772 | }, 773 | "UnityEngine.UnityWebRequestModule/0.0.0.0": { 774 | "runtime": { 775 | "UnityEngine.UnityWebRequestModule.dll": { 776 | "assemblyVersion": "0.0.0.0", 777 | "fileVersion": "0.0.0.0" 778 | } 779 | } 780 | }, 781 | "UnityEngine.UnityWebRequestTextureModule/0.0.0.0": { 782 | "runtime": { 783 | "UnityEngine.UnityWebRequestTextureModule.dll": { 784 | "assemblyVersion": "0.0.0.0", 785 | "fileVersion": "0.0.0.0" 786 | } 787 | } 788 | }, 789 | "UnityEngine.UnityWebRequestWWWModule/0.0.0.0": { 790 | "runtime": { 791 | "UnityEngine.UnityWebRequestWWWModule.dll": { 792 | "assemblyVersion": "0.0.0.0", 793 | "fileVersion": "0.0.0.0" 794 | } 795 | } 796 | }, 797 | "UnityEngine.VehiclesModule/0.0.0.0": { 798 | "runtime": { 799 | "UnityEngine.VehiclesModule.dll": { 800 | "assemblyVersion": "0.0.0.0", 801 | "fileVersion": "0.0.0.0" 802 | } 803 | } 804 | }, 805 | "UnityEngine.VFXModule/0.0.0.0": { 806 | "runtime": { 807 | "UnityEngine.VFXModule.dll": { 808 | "assemblyVersion": "0.0.0.0", 809 | "fileVersion": "0.0.0.0" 810 | } 811 | } 812 | }, 813 | "UnityEngine.VideoModule/0.0.0.0": { 814 | "runtime": { 815 | "UnityEngine.VideoModule.dll": { 816 | "assemblyVersion": "0.0.0.0", 817 | "fileVersion": "0.0.0.0" 818 | } 819 | } 820 | }, 821 | "UnityEngine.VirtualTexturingModule/0.0.0.0": { 822 | "runtime": { 823 | "UnityEngine.VirtualTexturingModule.dll": { 824 | "assemblyVersion": "0.0.0.0", 825 | "fileVersion": "0.0.0.0" 826 | } 827 | } 828 | }, 829 | "UnityEngine.VRModule/0.0.0.0": { 830 | "runtime": { 831 | "UnityEngine.VRModule.dll": { 832 | "assemblyVersion": "0.0.0.0", 833 | "fileVersion": "0.0.0.0" 834 | } 835 | } 836 | }, 837 | "UnityEngine.WindModule/0.0.0.0": { 838 | "runtime": { 839 | "UnityEngine.WindModule.dll": { 840 | "assemblyVersion": "0.0.0.0", 841 | "fileVersion": "0.0.0.0" 842 | } 843 | } 844 | }, 845 | "UnityEngine.XRModule/0.0.0.0": { 846 | "runtime": { 847 | "UnityEngine.XRModule.dll": { 848 | "assemblyVersion": "0.0.0.0", 849 | "fileVersion": "0.0.0.0" 850 | } 851 | } 852 | }, 853 | "MonoMod.Utils/22.7.31.1": { 854 | "runtime": { 855 | "MonoMod.Utils.dll": { 856 | "assemblyVersion": "22.7.31.1", 857 | "fileVersion": "22.7.31.1" 858 | } 859 | } 860 | }, 861 | "MonoMod.RuntimeDetour/22.7.31.1": { 862 | "runtime": { 863 | "MonoMod.RuntimeDetour.dll": { 864 | "assemblyVersion": "22.7.31.1", 865 | "fileVersion": "22.7.31.1" 866 | } 867 | } 868 | }, 869 | "bHapticsLib/1.0.6.0": { 870 | "runtime": { 871 | "bHapticsLib.dll": { 872 | "assemblyVersion": "1.0.6.0", 873 | "fileVersion": "1.0.6.0" 874 | } 875 | } 876 | }, 877 | "AssetRipper.VersionUtilities/1.5.0.0": { 878 | "runtime": { 879 | "AssetRipper.VersionUtilities.dll": { 880 | "assemblyVersion": "1.5.0.0", 881 | "fileVersion": "1.5.0.0" 882 | } 883 | } 884 | }, 885 | "Mono.Cecil/0.11.5.0": { 886 | "runtime": { 887 | "Mono.Cecil.dll": { 888 | "assemblyVersion": "0.11.5.0", 889 | "fileVersion": "0.11.5.0" 890 | } 891 | } 892 | }, 893 | "AssetsTools.NET/3.0.0.0": { 894 | "runtime": { 895 | "AssetsTools.NET.dll": { 896 | "assemblyVersion": "3.0.0.0", 897 | "fileVersion": "3.0.0.0" 898 | } 899 | } 900 | }, 901 | "Tomlet/5.4.0.0": { 902 | "runtime": { 903 | "Tomlet.dll": { 904 | "assemblyVersion": "5.4.0.0", 905 | "fileVersion": "5.4.0.0" 906 | } 907 | } 908 | }, 909 | "AsmResolver.DotNet/6.0.0.0": { 910 | "runtime": { 911 | "AsmResolver.DotNet.dll": { 912 | "assemblyVersion": "6.0.0.0", 913 | "fileVersion": "6.0.0.0" 914 | } 915 | } 916 | }, 917 | "AsmResolver.PE/6.0.0.0": { 918 | "runtime": { 919 | "AsmResolver.PE.dll": { 920 | "assemblyVersion": "6.0.0.0", 921 | "fileVersion": "6.0.0.0" 922 | } 923 | } 924 | }, 925 | "AsmResolver/6.0.0.0": { 926 | "runtime": { 927 | "AsmResolver.dll": { 928 | "assemblyVersion": "6.0.0.0", 929 | "fileVersion": "6.0.0.0" 930 | } 931 | } 932 | }, 933 | "Il2CppInterop.Generator/1.4.6.0": { 934 | "runtime": { 935 | "Il2CppInterop.Generator.dll": { 936 | "assemblyVersion": "1.4.6.0", 937 | "fileVersion": "1.4.6.0" 938 | } 939 | } 940 | }, 941 | "Microsoft.Diagnostics.Runtime/3.1.10.12801": { 942 | "runtime": { 943 | "Microsoft.Diagnostics.Runtime.dll": { 944 | "assemblyVersion": "3.1.10.12801", 945 | "fileVersion": "3.1.10.12801" 946 | } 947 | } 948 | }, 949 | "Mono.Cecil.Mdb/0.11.5.0": { 950 | "runtime": { 951 | "Mono.Cecil.Mdb.dll": { 952 | "assemblyVersion": "0.11.5.0", 953 | "fileVersion": "0.11.5.0" 954 | } 955 | } 956 | }, 957 | "Mono.Cecil.Pdb/0.11.5.0": { 958 | "runtime": { 959 | "Mono.Cecil.Pdb.dll": { 960 | "assemblyVersion": "0.11.5.0", 961 | "fileVersion": "0.11.5.0" 962 | } 963 | } 964 | }, 965 | "Mono.Cecil.Rocks/0.11.5.0": { 966 | "runtime": { 967 | "Mono.Cecil.Rocks.dll": { 968 | "assemblyVersion": "0.11.5.0", 969 | "fileVersion": "0.11.5.0" 970 | } 971 | } 972 | }, 973 | "AsmResolver.PE.File/6.0.0.0": { 974 | "runtime": { 975 | "AsmResolver.PE.File.dll": { 976 | "assemblyVersion": "6.0.0.0", 977 | "fileVersion": "6.0.0.0" 978 | } 979 | } 980 | }, 981 | "Microsoft.Extensions.Logging.Abstractions/6.0.0.0": { 982 | "runtime": { 983 | "Microsoft.Extensions.Logging.Abstractions.dll": { 984 | "assemblyVersion": "6.0.0.0", 985 | "fileVersion": "6.0.322.12309" 986 | } 987 | } 988 | }, 989 | "WebSocketDotNet/1.0.0.0": { 990 | "runtime": { 991 | "WebSocketDotNet.dll": { 992 | "assemblyVersion": "1.0.0.0", 993 | "fileVersion": "1.0.0.0" 994 | } 995 | } 996 | }, 997 | "Microsoft.Diagnostics.NETCore.Client/0.2.8.10101": { 998 | "runtime": { 999 | "Microsoft.Diagnostics.NETCore.Client.dll": { 1000 | "assemblyVersion": "0.2.8.10101", 1001 | "fileVersion": "0.2.8.10101" 1002 | } 1003 | } 1004 | } 1005 | } 1006 | }, 1007 | "libraries": { 1008 | "PVZ_Hyper_Fusion/1.0.0": { 1009 | "type": "project", 1010 | "serviceable": false, 1011 | "sha512": "" 1012 | }, 1013 | "0Harmony/2.10.2.0": { 1014 | "type": "reference", 1015 | "serviceable": false, 1016 | "sha512": "" 1017 | }, 1018 | "Assembly-CSharp/0.0.0.0": { 1019 | "type": "reference", 1020 | "serviceable": false, 1021 | "sha512": "" 1022 | }, 1023 | "Il2CppInterop.Common/1.4.6.0": { 1024 | "type": "reference", 1025 | "serviceable": false, 1026 | "sha512": "" 1027 | }, 1028 | "Il2CppInterop.Runtime/1.4.6.0": { 1029 | "type": "reference", 1030 | "serviceable": false, 1031 | "sha512": "" 1032 | }, 1033 | "Il2CppMono.Security/4.0.0.0": { 1034 | "type": "reference", 1035 | "serviceable": false, 1036 | "sha512": "" 1037 | }, 1038 | "Il2Cppmscorlib/4.0.0.0": { 1039 | "type": "reference", 1040 | "serviceable": false, 1041 | "sha512": "" 1042 | }, 1043 | "Il2CppSystem.Configuration/4.0.0.0": { 1044 | "type": "reference", 1045 | "serviceable": false, 1046 | "sha512": "" 1047 | }, 1048 | "Il2CppSystem.Core/4.0.0.0": { 1049 | "type": "reference", 1050 | "serviceable": false, 1051 | "sha512": "" 1052 | }, 1053 | "Il2CppSystem/4.0.0.0": { 1054 | "type": "reference", 1055 | "serviceable": false, 1056 | "sha512": "" 1057 | }, 1058 | "Il2CppSystem.Xml/4.0.0.0": { 1059 | "type": "reference", 1060 | "serviceable": false, 1061 | "sha512": "" 1062 | }, 1063 | "Il2Cpp__Generated/0.0.0.0": { 1064 | "type": "reference", 1065 | "serviceable": false, 1066 | "sha512": "" 1067 | }, 1068 | "MelonLoader/0.6.5.0": { 1069 | "type": "reference", 1070 | "serviceable": false, 1071 | "sha512": "" 1072 | }, 1073 | "Unity.2D.Animation.Runtime/0.0.0.0": { 1074 | "type": "reference", 1075 | "serviceable": false, 1076 | "sha512": "" 1077 | }, 1078 | "Unity.Burst/0.0.0.0": { 1079 | "type": "reference", 1080 | "serviceable": false, 1081 | "sha512": "" 1082 | }, 1083 | "Unity.Burst.Unsafe/4.0.5.0": { 1084 | "type": "reference", 1085 | "serviceable": false, 1086 | "sha512": "" 1087 | }, 1088 | "Unity.Collections/0.0.0.0": { 1089 | "type": "reference", 1090 | "serviceable": false, 1091 | "sha512": "" 1092 | }, 1093 | "Unity.Collections.LowLevel.ILSupport/0.0.0.0": { 1094 | "type": "reference", 1095 | "serviceable": false, 1096 | "sha512": "" 1097 | }, 1098 | "Unity.InternalAPIEngineBridge.001/0.0.0.0": { 1099 | "type": "reference", 1100 | "serviceable": false, 1101 | "sha512": "" 1102 | }, 1103 | "Unity.Mathematics/1.0.0.0": { 1104 | "type": "reference", 1105 | "serviceable": false, 1106 | "sha512": "" 1107 | }, 1108 | "Unity.RenderPipeline.Universal.ShaderLibrary/0.0.0.0": { 1109 | "type": "reference", 1110 | "serviceable": false, 1111 | "sha512": "" 1112 | }, 1113 | "Unity.RenderPipelines.Core.Runtime/0.0.0.0": { 1114 | "type": "reference", 1115 | "serviceable": false, 1116 | "sha512": "" 1117 | }, 1118 | "Unity.RenderPipelines.Universal.Runtime/0.0.0.0": { 1119 | "type": "reference", 1120 | "serviceable": false, 1121 | "sha512": "" 1122 | }, 1123 | "Unity.TextMeshPro/0.0.0.0": { 1124 | "type": "reference", 1125 | "serviceable": false, 1126 | "sha512": "" 1127 | }, 1128 | "Unity.VisualScripting.Core/0.0.0.0": { 1129 | "type": "reference", 1130 | "serviceable": false, 1131 | "sha512": "" 1132 | }, 1133 | "UnityEngine.AccessibilityModule/0.0.0.0": { 1134 | "type": "reference", 1135 | "serviceable": false, 1136 | "sha512": "" 1137 | }, 1138 | "UnityEngine.AIModule/0.0.0.0": { 1139 | "type": "reference", 1140 | "serviceable": false, 1141 | "sha512": "" 1142 | }, 1143 | "UnityEngine.AndroidJNIModule/0.0.0.0": { 1144 | "type": "reference", 1145 | "serviceable": false, 1146 | "sha512": "" 1147 | }, 1148 | "UnityEngine.AnimationModule/0.0.0.0": { 1149 | "type": "reference", 1150 | "serviceable": false, 1151 | "sha512": "" 1152 | }, 1153 | "UnityEngine.ARModule/0.0.0.0": { 1154 | "type": "reference", 1155 | "serviceable": false, 1156 | "sha512": "" 1157 | }, 1158 | "UnityEngine.AssetBundleModule/0.0.0.0": { 1159 | "type": "reference", 1160 | "serviceable": false, 1161 | "sha512": "" 1162 | }, 1163 | "UnityEngine.AudioModule/0.0.0.0": { 1164 | "type": "reference", 1165 | "serviceable": false, 1166 | "sha512": "" 1167 | }, 1168 | "UnityEngine.ClothModule/0.0.0.0": { 1169 | "type": "reference", 1170 | "serviceable": false, 1171 | "sha512": "" 1172 | }, 1173 | "UnityEngine.ClusterInputModule/0.0.0.0": { 1174 | "type": "reference", 1175 | "serviceable": false, 1176 | "sha512": "" 1177 | }, 1178 | "UnityEngine.ClusterRendererModule/0.0.0.0": { 1179 | "type": "reference", 1180 | "serviceable": false, 1181 | "sha512": "" 1182 | }, 1183 | "UnityEngine.ContentLoadModule/0.0.0.0": { 1184 | "type": "reference", 1185 | "serviceable": false, 1186 | "sha512": "" 1187 | }, 1188 | "UnityEngine.CoreModule/0.0.0.0": { 1189 | "type": "reference", 1190 | "serviceable": false, 1191 | "sha512": "" 1192 | }, 1193 | "UnityEngine.CrashReportingModule/0.0.0.0": { 1194 | "type": "reference", 1195 | "serviceable": false, 1196 | "sha512": "" 1197 | }, 1198 | "UnityEngine.DirectorModule/0.0.0.0": { 1199 | "type": "reference", 1200 | "serviceable": false, 1201 | "sha512": "" 1202 | }, 1203 | "UnityEngine/0.0.0.0": { 1204 | "type": "reference", 1205 | "serviceable": false, 1206 | "sha512": "" 1207 | }, 1208 | "UnityEngine.DSPGraphModule/0.0.0.0": { 1209 | "type": "reference", 1210 | "serviceable": false, 1211 | "sha512": "" 1212 | }, 1213 | "UnityEngine.GameCenterModule/0.0.0.0": { 1214 | "type": "reference", 1215 | "serviceable": false, 1216 | "sha512": "" 1217 | }, 1218 | "UnityEngine.GIModule/0.0.0.0": { 1219 | "type": "reference", 1220 | "serviceable": false, 1221 | "sha512": "" 1222 | }, 1223 | "UnityEngine.GridModule/0.0.0.0": { 1224 | "type": "reference", 1225 | "serviceable": false, 1226 | "sha512": "" 1227 | }, 1228 | "UnityEngine.HotReloadModule/0.0.0.0": { 1229 | "type": "reference", 1230 | "serviceable": false, 1231 | "sha512": "" 1232 | }, 1233 | "UnityEngine.ImageConversionModule/0.0.0.0": { 1234 | "type": "reference", 1235 | "serviceable": false, 1236 | "sha512": "" 1237 | }, 1238 | "UnityEngine.IMGUIModule/0.0.0.0": { 1239 | "type": "reference", 1240 | "serviceable": false, 1241 | "sha512": "" 1242 | }, 1243 | "UnityEngine.InputLegacyModule/0.0.0.0": { 1244 | "type": "reference", 1245 | "serviceable": false, 1246 | "sha512": "" 1247 | }, 1248 | "UnityEngine.InputModule/0.0.0.0": { 1249 | "type": "reference", 1250 | "serviceable": false, 1251 | "sha512": "" 1252 | }, 1253 | "UnityEngine.JSONSerializeModule/0.0.0.0": { 1254 | "type": "reference", 1255 | "serviceable": false, 1256 | "sha512": "" 1257 | }, 1258 | "UnityEngine.LocalizationModule/0.0.0.0": { 1259 | "type": "reference", 1260 | "serviceable": false, 1261 | "sha512": "" 1262 | }, 1263 | "UnityEngine.NVIDIAModule/0.0.0.0": { 1264 | "type": "reference", 1265 | "serviceable": false, 1266 | "sha512": "" 1267 | }, 1268 | "UnityEngine.ParticleSystemModule/0.0.0.0": { 1269 | "type": "reference", 1270 | "serviceable": false, 1271 | "sha512": "" 1272 | }, 1273 | "UnityEngine.PerformanceReportingModule/0.0.0.0": { 1274 | "type": "reference", 1275 | "serviceable": false, 1276 | "sha512": "" 1277 | }, 1278 | "UnityEngine.Physics2DModule/0.0.0.0": { 1279 | "type": "reference", 1280 | "serviceable": false, 1281 | "sha512": "" 1282 | }, 1283 | "UnityEngine.PhysicsModule/0.0.0.0": { 1284 | "type": "reference", 1285 | "serviceable": false, 1286 | "sha512": "" 1287 | }, 1288 | "UnityEngine.ProfilerModule/0.0.0.0": { 1289 | "type": "reference", 1290 | "serviceable": false, 1291 | "sha512": "" 1292 | }, 1293 | "UnityEngine.PropertiesModule/0.0.0.0": { 1294 | "type": "reference", 1295 | "serviceable": false, 1296 | "sha512": "" 1297 | }, 1298 | "UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule/0.0.0.0": { 1299 | "type": "reference", 1300 | "serviceable": false, 1301 | "sha512": "" 1302 | }, 1303 | "UnityEngine.ScreenCaptureModule/0.0.0.0": { 1304 | "type": "reference", 1305 | "serviceable": false, 1306 | "sha512": "" 1307 | }, 1308 | "UnityEngine.SharedInternalsModule/0.0.0.0": { 1309 | "type": "reference", 1310 | "serviceable": false, 1311 | "sha512": "" 1312 | }, 1313 | "UnityEngine.SpriteMaskModule/0.0.0.0": { 1314 | "type": "reference", 1315 | "serviceable": false, 1316 | "sha512": "" 1317 | }, 1318 | "UnityEngine.SpriteShapeModule/0.0.0.0": { 1319 | "type": "reference", 1320 | "serviceable": false, 1321 | "sha512": "" 1322 | }, 1323 | "UnityEngine.StreamingModule/0.0.0.0": { 1324 | "type": "reference", 1325 | "serviceable": false, 1326 | "sha512": "" 1327 | }, 1328 | "UnityEngine.SubstanceModule/0.0.0.0": { 1329 | "type": "reference", 1330 | "serviceable": false, 1331 | "sha512": "" 1332 | }, 1333 | "UnityEngine.SubsystemsModule/0.0.0.0": { 1334 | "type": "reference", 1335 | "serviceable": false, 1336 | "sha512": "" 1337 | }, 1338 | "UnityEngine.TerrainModule/0.0.0.0": { 1339 | "type": "reference", 1340 | "serviceable": false, 1341 | "sha512": "" 1342 | }, 1343 | "UnityEngine.TerrainPhysicsModule/0.0.0.0": { 1344 | "type": "reference", 1345 | "serviceable": false, 1346 | "sha512": "" 1347 | }, 1348 | "UnityEngine.TextCoreFontEngineModule/0.0.0.0": { 1349 | "type": "reference", 1350 | "serviceable": false, 1351 | "sha512": "" 1352 | }, 1353 | "UnityEngine.TextCoreTextEngineModule/0.0.0.0": { 1354 | "type": "reference", 1355 | "serviceable": false, 1356 | "sha512": "" 1357 | }, 1358 | "UnityEngine.TextRenderingModule/0.0.0.0": { 1359 | "type": "reference", 1360 | "serviceable": false, 1361 | "sha512": "" 1362 | }, 1363 | "UnityEngine.TilemapModule/0.0.0.0": { 1364 | "type": "reference", 1365 | "serviceable": false, 1366 | "sha512": "" 1367 | }, 1368 | "UnityEngine.TLSModule/0.0.0.0": { 1369 | "type": "reference", 1370 | "serviceable": false, 1371 | "sha512": "" 1372 | }, 1373 | "UnityEngine.UI/1.0.0.0": { 1374 | "type": "reference", 1375 | "serviceable": false, 1376 | "sha512": "" 1377 | }, 1378 | "UnityEngine.UIElementsModule/0.0.0.0": { 1379 | "type": "reference", 1380 | "serviceable": false, 1381 | "sha512": "" 1382 | }, 1383 | "UnityEngine.UIModule/0.0.0.0": { 1384 | "type": "reference", 1385 | "serviceable": false, 1386 | "sha512": "" 1387 | }, 1388 | "UnityEngine.UmbraModule/0.0.0.0": { 1389 | "type": "reference", 1390 | "serviceable": false, 1391 | "sha512": "" 1392 | }, 1393 | "UnityEngine.UnityAnalyticsCommonModule/0.0.0.0": { 1394 | "type": "reference", 1395 | "serviceable": false, 1396 | "sha512": "" 1397 | }, 1398 | "UnityEngine.UnityAnalyticsModule/0.0.0.0": { 1399 | "type": "reference", 1400 | "serviceable": false, 1401 | "sha512": "" 1402 | }, 1403 | "UnityEngine.UnityConnectModule/0.0.0.0": { 1404 | "type": "reference", 1405 | "serviceable": false, 1406 | "sha512": "" 1407 | }, 1408 | "UnityEngine.UnityCurlModule/0.0.0.0": { 1409 | "type": "reference", 1410 | "serviceable": false, 1411 | "sha512": "" 1412 | }, 1413 | "UnityEngine.UnityTestProtocolModule/0.0.0.0": { 1414 | "type": "reference", 1415 | "serviceable": false, 1416 | "sha512": "" 1417 | }, 1418 | "UnityEngine.UnityWebRequestAssetBundleModule/0.0.0.0": { 1419 | "type": "reference", 1420 | "serviceable": false, 1421 | "sha512": "" 1422 | }, 1423 | "UnityEngine.UnityWebRequestAudioModule/0.0.0.0": { 1424 | "type": "reference", 1425 | "serviceable": false, 1426 | "sha512": "" 1427 | }, 1428 | "UnityEngine.UnityWebRequestModule/0.0.0.0": { 1429 | "type": "reference", 1430 | "serviceable": false, 1431 | "sha512": "" 1432 | }, 1433 | "UnityEngine.UnityWebRequestTextureModule/0.0.0.0": { 1434 | "type": "reference", 1435 | "serviceable": false, 1436 | "sha512": "" 1437 | }, 1438 | "UnityEngine.UnityWebRequestWWWModule/0.0.0.0": { 1439 | "type": "reference", 1440 | "serviceable": false, 1441 | "sha512": "" 1442 | }, 1443 | "UnityEngine.VehiclesModule/0.0.0.0": { 1444 | "type": "reference", 1445 | "serviceable": false, 1446 | "sha512": "" 1447 | }, 1448 | "UnityEngine.VFXModule/0.0.0.0": { 1449 | "type": "reference", 1450 | "serviceable": false, 1451 | "sha512": "" 1452 | }, 1453 | "UnityEngine.VideoModule/0.0.0.0": { 1454 | "type": "reference", 1455 | "serviceable": false, 1456 | "sha512": "" 1457 | }, 1458 | "UnityEngine.VirtualTexturingModule/0.0.0.0": { 1459 | "type": "reference", 1460 | "serviceable": false, 1461 | "sha512": "" 1462 | }, 1463 | "UnityEngine.VRModule/0.0.0.0": { 1464 | "type": "reference", 1465 | "serviceable": false, 1466 | "sha512": "" 1467 | }, 1468 | "UnityEngine.WindModule/0.0.0.0": { 1469 | "type": "reference", 1470 | "serviceable": false, 1471 | "sha512": "" 1472 | }, 1473 | "UnityEngine.XRModule/0.0.0.0": { 1474 | "type": "reference", 1475 | "serviceable": false, 1476 | "sha512": "" 1477 | }, 1478 | "MonoMod.Utils/22.7.31.1": { 1479 | "type": "reference", 1480 | "serviceable": false, 1481 | "sha512": "" 1482 | }, 1483 | "MonoMod.RuntimeDetour/22.7.31.1": { 1484 | "type": "reference", 1485 | "serviceable": false, 1486 | "sha512": "" 1487 | }, 1488 | "bHapticsLib/1.0.6.0": { 1489 | "type": "reference", 1490 | "serviceable": false, 1491 | "sha512": "" 1492 | }, 1493 | "AssetRipper.VersionUtilities/1.5.0.0": { 1494 | "type": "reference", 1495 | "serviceable": false, 1496 | "sha512": "" 1497 | }, 1498 | "Mono.Cecil/0.11.5.0": { 1499 | "type": "reference", 1500 | "serviceable": false, 1501 | "sha512": "" 1502 | }, 1503 | "AssetsTools.NET/3.0.0.0": { 1504 | "type": "reference", 1505 | "serviceable": false, 1506 | "sha512": "" 1507 | }, 1508 | "Tomlet/5.4.0.0": { 1509 | "type": "reference", 1510 | "serviceable": false, 1511 | "sha512": "" 1512 | }, 1513 | "AsmResolver.DotNet/6.0.0.0": { 1514 | "type": "reference", 1515 | "serviceable": false, 1516 | "sha512": "" 1517 | }, 1518 | "AsmResolver.PE/6.0.0.0": { 1519 | "type": "reference", 1520 | "serviceable": false, 1521 | "sha512": "" 1522 | }, 1523 | "AsmResolver/6.0.0.0": { 1524 | "type": "reference", 1525 | "serviceable": false, 1526 | "sha512": "" 1527 | }, 1528 | "Il2CppInterop.Generator/1.4.6.0": { 1529 | "type": "reference", 1530 | "serviceable": false, 1531 | "sha512": "" 1532 | }, 1533 | "Microsoft.Diagnostics.Runtime/3.1.10.12801": { 1534 | "type": "reference", 1535 | "serviceable": false, 1536 | "sha512": "" 1537 | }, 1538 | "Mono.Cecil.Mdb/0.11.5.0": { 1539 | "type": "reference", 1540 | "serviceable": false, 1541 | "sha512": "" 1542 | }, 1543 | "Mono.Cecil.Pdb/0.11.5.0": { 1544 | "type": "reference", 1545 | "serviceable": false, 1546 | "sha512": "" 1547 | }, 1548 | "Mono.Cecil.Rocks/0.11.5.0": { 1549 | "type": "reference", 1550 | "serviceable": false, 1551 | "sha512": "" 1552 | }, 1553 | "AsmResolver.PE.File/6.0.0.0": { 1554 | "type": "reference", 1555 | "serviceable": false, 1556 | "sha512": "" 1557 | }, 1558 | "Microsoft.Extensions.Logging.Abstractions/6.0.0.0": { 1559 | "type": "reference", 1560 | "serviceable": false, 1561 | "sha512": "" 1562 | }, 1563 | "WebSocketDotNet/1.0.0.0": { 1564 | "type": "reference", 1565 | "serviceable": false, 1566 | "sha512": "" 1567 | }, 1568 | "Microsoft.Diagnostics.NETCore.Client/0.2.8.10101": { 1569 | "type": "reference", 1570 | "serviceable": false, 1571 | "sha512": "" 1572 | } 1573 | } 1574 | } --------------------------------------------------------------------------------