huge update

main
hashirama 2024-06-01 01:00:40 -04:00
parent bd5d5cb285
commit 7ebeff38b6
No known key found for this signature in database
GPG Key ID: 53E62470A86BC185
141 changed files with 24524 additions and 672 deletions

View File

@ -8,12 +8,13 @@
<path recursive="1">/mnt/Data/Documents/dict - concise encyclopedia of mathematics</path> <path recursive="1">/mnt/Data/Documents/dict - concise encyclopedia of mathematics</path>
<path recursive="1">/home/hashirama/Downloads/Port</path> <path recursive="1">/home/hashirama/Downloads/Port</path>
<path recursive="1">/mnt/Data/Documents/english_dictionary</path> <path recursive="1">/mnt/Data/Documents/english_dictionary</path>
<path recursive="1">/mnt/Sources/Epistularum's Tidy EPWing Collection [Version 1.0]</path> <path recursive="0">/mnt/Sources/Epistularum's Tidy EPWing Collection [Version 1.0]</path>
<path recursive="1">/mnt/Sources/Epistularum's Tidy MDX Collection [Version 1.0]</path> <path recursive="1">/mnt/Sources/Epistularum's Tidy MDX Collection [Version 1.0]</path>
</paths> </paths>
<sounddirs/> <sounddirs>
<sounddir icon="" name="accentAudio">/mnt/Data/Japanese_Resources/languages-study(japanesAndRussian)/accentAudio/accentAudio</sounddir>
</sounddirs>
<dictionaryOrder id="0" name=""> <dictionaryOrder id="0" name="">
<dictionary name="gd-marisa">00824c93f503c5d1680483abdf367948</dictionary>
<dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary> <dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary>
<dictionary name="大辞林 第四版">41e48e169f3b09f5d08c9821aa0e88af</dictionary> <dictionary name="大辞林 第四版">41e48e169f3b09f5d08c9821aa0e88af</dictionary>
<dictionary name="新明解国語辞典 第八版">646c2fbd2278d23caf8bc5b44599f5aa</dictionary> <dictionary name="新明解国語辞典 第八版">646c2fbd2278d23caf8bc5b44599f5aa</dictionary>
@ -119,70 +120,6 @@
<dictionary name="gd-images">6dac50cdfb3265d22b966313a1d228b7</dictionary> <dictionary name="gd-images">6dac50cdfb3265d22b966313a1d228b7</dictionary>
<dictionary name="handwritten">27ea5cfecf6d68fdf7dcbfd8df6f06f7</dictionary> <dictionary name="handwritten">27ea5cfecf6d68fdf7dcbfd8df6f06f7</dictionary>
<dictionary name="strokeorder">90259fffdd76764f7431170eeb89a0f9</dictionary> <dictionary name="strokeorder">90259fffdd76764f7431170eeb89a0f9</dictionary>
<dictionary name="Michaelis Moderno Dic. da Língua Portuguesa (Por-Por)">29cc4b1fae1ee39411c691ecd1c00eb5</dictionary>
<dictionary name="Dicionário Aurélio [PT-PT]">9f2d889846365f17d4d1f2c690996416</dictionary>
<dictionary name="Dicionário de História (Por-Por)">4452336dedfdbaa7bed0283317b85353</dictionary>
<dictionary name="Logística (Por-Por)">aea83409a28a5830844e18d2bf7b3605</dictionary>
<dictionary name="Nomes deverbais (Por-Por)">55a40fa62c52d35d1da84e22b482cad7</dictionary>
<dictionary name="Teatro (Por-Por)">00a9ac5f0ee827e1556f14cf47e19d3d</dictionary>
<dictionary name="Dicionário Houaiss [PT-PT]">ef768b427ba5d11925e7bfaa9c7e1d05</dictionary>
<dictionary name="Dicionário Informal [PT-PT]">4aaedc0ae250b42bc8aaf2d735091565</dictionary>
<dictionary name="Dicionário de insultos esdrúxulos (Por-Por)">c516fc785c0241b43ed13e4e1e1caabc</dictionary>
<dictionary name="Houaiss (Pt-Pt)">b93665f7b1fc5dbd46b740d434c9fdba</dictionary>
<dictionary name="Dicionário de insultos esdrúxulos (Por-Por)">a8c7d6e4e614d8ba5afff44b2000a133</dictionary>
<dictionary name="Michaelis Moderno Dicionário da Língua Portuguesa [PT-PT]">e138d3961665c48cefb39a45302bc83c</dictionary>
<dictionary name="Abreviaturas Por-Por">e9b0a26a8ad6cb82e7b8e6fc3158da03</dictionary>
<dictionary name="Dicionário Priberam da Língua Portuguesa (Por-Por)">7d39d07745b76d69665c09cbdb6e9d6e</dictionary>
<dictionary name="Dicionário Informal (Por-Por)">a57af2b409324b63f8a480cacc7be75a</dictionary>
<dictionary name="Erros Frequentes Por-Por">86434219cff9e8d19a088608607c9c06</dictionary>
<dictionary name="Provérbios Brasileiras (Por-Por)">c5cd1defbdf56b37788042d597d85586</dictionary>
<dictionary name="Significados de Nomes (Por-Por)">bc51b1f9b816c316eae12fdacf3e4ed8</dictionary>
<dictionary name="Verbix Portuguese Verb Conjugations">66332bb70b8da80bf54cd4a0bed8eab6</dictionary>
<dictionary name="APDP Diabetes">2e03869cdf0661fedb9c62a7c18f3d3c</dictionary>
<dictionary name="artGloss">1ada2fe066091f9a4359183fa853a82c</dictionary>
<dictionary name="Dicionário Aurélio da Língua Portuguesa">2efba112cbf507a888ddacac197fc6e8</dictionary>
<dictionary name="Dicionário BB Seguro Auto">03d6d969418271df751af401bf2761db</dictionary>
<dictionary name="Biologia Celular e Molecular">21bcd9dafb548fcade20f49cbc297ebc</dictionary>
<dictionary name="Budismo">0aafbadc4551593b53f9b9725abb0a16</dictionary>
<dictionary name="DharmaNet">28ce5ef209eefa1d09867dcfe56f68b9</dictionary>
<dictionary name="Dicionário de Moda">8c6bd976fd334b801e6ed183d62ca6af</dictionary>
<dictionary name="Dicionário dos Sonhos">b497d4ab65170af150b22df540d0a2a2</dictionary>
<dictionary name="Dicionário Quenya-Português (Brasil) v.1.0">2cfdf122338dff2daf27afee627ef8bd</dictionary>
<dictionary name="Ervas Aromaticas">59b128e529222bb6befc422142585545</dictionary>
<dictionary name="EU Portuguese Glossary">92c8016b345793461ad75791a86a3d2f</dictionary>
<dictionary name="Eurojargon - português">ce47834eb965547d439f161c55c7f67f</dictionary>
<dictionary name="Gauches-Portugues">710eab1b84747b8a411884c2c57f9dbb</dictionary>
<dictionary name="Glossarium ®">885330a052380572d9dcbfd488e9e580</dictionary>
<dictionary name="Nomes - Significados em Português">1798572e78293506e7a7fee523dd6b5c</dictionary>
<dictionary name="WebDic">9c41547647e9443116cff925d644c8c6</dictionary>
<dictionary name="Portuguese.csv">0af6e512737d6c694ffda901b81ea20b</dictionary>
<dictionary name="Verbix Portuguese Verb Conjugations">c1236cd9aae363b99b4e661ecbf8e58c</dictionary>
<dictionary name="Amazônia colonial (Por-Por)">418c3e0efd2f32ed5cf2a6c341f8cc01</dictionary>
<dictionary name="Dicionário da Bíblia de Almeida (Por-Por)">0c6cbfc1abfb5cfaae79e9bf792d7c51</dictionary>
<dictionary name="Dicionário Aulete (Por-Por)">e4485d143c300887097750993aa9d7da</dictionary>
<dictionary name="Dicionário do Nordeste by Fred Navarro (Por-Por)">234f85adf2bddce704e6871b63bd125b</dictionary>
<dictionary name="Dicionário da regência nominal Luft (Por-Por)">eea2f519124622e6fe36300893122aa2</dictionary>
<dictionary name="Dicionário de dificuldades da língua portuguesa Cegalla (Por-Por)">0322a497dc6f9b186e481792ea2f7ca3</dictionary>
<dictionary name="Dicionário de eufemismos da língua portuguesa (Por-Por)">3d7fe64f59132114165d39e54d7f1224</dictionary>
<dictionary name="Enciclopédia da Bíblia (Por-Por)">f7ffa4317e18421ad132877637b7982e</dictionary>
<dictionary name="Estrangeirismos (Por-Por)">459ec66d59cab903ab6c014f39a356ff</dictionary>
<dictionary name="Dicionário Etimológico (Antenor Nascentes) (Por-Por)">c8969efad9e74f6ae3dc50de12a571b1</dictionary>
<dictionary name="Explicativo Português (Por-Por)">2454fc825c8ec79d448bcec0fecabd1c</dictionary>
<dictionary name="Grande Dicionário da Lingua Portugesa Porto Editora (Por-Por)">f9aca7a51be5e3082899c2c88a5fa467</dictionary>
<dictionary name="Idioma Português • ESS (Por-Por)">d0619669dd5186af6aef63b74f16fa9d</dictionary>
<dictionary name="Onomasiológia de Expressões Idiomáticas Brasileiras (Por-Por)">bbc68845c1e47c86efd0a93296f452eb</dictionary>
<dictionary name="Múltiplo Sentido (Por-Por)">101edc426d68a2343656c2c4676c101f</dictionary>
<dictionary name="Novo Dicionário de Dúvidas da Língua Portuguesa by Evanildo Bechara (Por-Por)">323326cfb9904222ae062015dc3ce4c0</dictionary>
<dictionary name="Pensadores Cristaos (Por-Por)">bf9513ddc9e38c466d4898319079e255</dictionary>
<dictionary name="Dicionário de Português • SD (Por-Por)">383ac1096fe034bba3029634a6dcb455</dictionary>
<dictionary name="Provérbios e Máximas (Por-Por)">164c42c7d50f31e445b1552dbb5f02bc</dictionary>
<dictionary name="Dicionário de Sinônimos (Por-Por)">5dc88fafe05b9696682f8fa6fe7fbf1c</dictionary>
<dictionary name="Sinônimos (Por-Por)">1fadaa784421b497436cd5ab50ff91fb</dictionary>
<dictionary name="Sinónimos•Antónimos (PortoEd) (Por-Por)">eafb82c84bad2a854f9b9658b35f23eb</dictionary>
<dictionary name="Portuguese Synonyms • SL (Por-Por)">3ab498f8dd34af4b66a0cff5fbdea866</dictionary>
<dictionary name="Dicionário aberto de calão e expressões idiomáticas (Por-Por)">69b47be2470f1b77a2048d664ef777ba</dictionary>
<dictionary name="《Dicionário Priberam da Língua Portuguesa》">394cf7eae9a4046fefa1721d9750ac40</dictionary>
<dictionary name="《Dicionário Universitário Português-Chinês com Sinônimos》">301ba3d3d6dbca257e6b701238e1e1f6</dictionary>
<dictionary name="Synonyms&amp;Antonyms (En-En)">b072a05ab5a78a388aa6db2ae5131550</dictionary> <dictionary name="Synonyms&amp;Antonyms (En-En)">b072a05ab5a78a388aa6db2ae5131550</dictionary>
<dictionary name="Synonyms and Antonyms (S. Fallows) (Eng-Eng)">e2ecb75e6e785162b0aa2f3a94244031</dictionary> <dictionary name="Synonyms and Antonyms (S. Fallows) (Eng-Eng)">e2ecb75e6e785162b0aa2f3a94244031</dictionary>
<dictionary name="A Complete Dictionary of Synonyms and Antonyms">4df26ca9d2ac13f6b427bb2b58711382</dictionary> <dictionary name="A Complete Dictionary of Synonyms and Antonyms">4df26ca9d2ac13f6b427bb2b58711382</dictionary>
@ -200,139 +137,6 @@
<dictionary name="Rodale's Synonym Finder (eng-eng)">8dd0aa4f4961c07eba109e6083f6e92e</dictionary> <dictionary name="Rodale's Synonym Finder (eng-eng)">8dd0aa4f4961c07eba109e6083f6e92e</dictionary>
<dictionary name="Urban Dictionary 2023.12">accb179c9ae61c64e574ae3907c3e3e4</dictionary> <dictionary name="Urban Dictionary 2023.12">accb179c9ae61c64e574ae3907c3e3e4</dictionary>
<dictionary name="English Etymology">7b6de7954354ed1558475674685d2139</dictionary> <dictionary name="English Etymology">7b6de7954354ed1558475674685d2139</dictionary>
<dictionary name="学研新世紀ビジュアル百科辞典">2b72ecab5781f43b92fa61a95f70b44e</dictionary>
<dictionary name="日本大百科全書">aa368196f1aa18a2aa00d7d90eb68d79</dictionary>
<dictionary name="マイペディア98">47723eaa989a140ae761a73ccef0ad74</dictionary>
<dictionary name="世界大百科事典">ab04767f78051ea72534ead167c46a7e</dictionary>
<dictionary name="世界大百科事典第二版">43d3033b997cfb3b86ba41842c70d9bc</dictionary>
<dictionary name="三省堂 スーパー大辞林">0bbbb95c81efc0341f6be50b3dd07e0f</dictionary>
<dictionary name="ハイブリッド新辞林">0b7d3b7ab9ce129f8f1468199645b9fa</dictionary>
<dictionary name="新明解国語辞典 第五版">76c29ce6488ef58f6fb59232e1c234f9</dictionary>
<dictionary name="日本語辞典(現代国語、外来語)">09c4d84b2cf5a9a18b6d67066b3c50e4</dictionary>
<dictionary name="明鏡国語辞典">d37bebac02fd8635d456a8e0ebee69f0</dictionary>
<dictionary name="学研 パーソナル現代国語辞典">a55513cc946f2bc065056d750ce3084b</dictionary>
<dictionary name="学研国語大辞典">4a9a3d0091a7e6e4452c821484ef265c</dictionary>
<dictionary name="大辞泉">3239558cf13b5ed72adb871aa8a18ead</dictionary>
<dictionary name="国語大辞典">4c09400bf0f4f24f9b0544fb05467b3d</dictionary>
<dictionary name="岩波国語辞典 第六版">30c4224efb876ba21c6f5a1db22909f9</dictionary>
<dictionary name="広辞苑第五版">3bd60af5edb9a139ab4844ce5900d50d</dictionary>
<dictionary name="広辞苑第六版">3ff8c47f8a7b655f54cba4923448074e</dictionary>
<dictionary name="付属資料">6897ed5b058db74e575da6d1775a97bb</dictionary>
<dictionary name="広辞苑 第四版">b10e50122f4642d845f2b1683f9e6fd9</dictionary>
<dictionary name="付属資料">8bdb718ed4030036946d1ca72f55002b</dictionary>
<dictionary name="学研 パーソナル版漢字辞典">5c1d863f7c7f671dfdd13dfc27df0f1e</dictionary>
<dictionary name="漢和大字典 学研NPS版">8eacc3113fb03d05607e85e8440dda66</dictionary>
<dictionary name="漢字源">9b5d3509deefc3a8a59332f33dc8ee28</dictionary>
<dictionary name="学研 カタカナ新語辞典">3f7b5d783074ce39d51fadec9ecc13a5</dictionary>
<dictionary name="">c172ecafbe36afc163313b1be856f090</dictionary>
<dictionary name="古語辞典">d874fff5195c853b3c0e4cb28a84ccd9</dictionary>
<dictionary name="三省堂 必携故事ことわざ・慣用句辞典">6555c429b526ea752b4952274822e978</dictionary>
<dictionary name="故事ことわざ辞典">cc16a2a0d9a3a5d51ae501435ab63a6c</dictionary>
<dictionary name="学研 用例でわかる慣用句辞典">f84cff606a8fc794e79f6547badaddc2</dictionary>
<dictionary name="学研 用例でわかる故事ことわざ辞典">5bbfb17ed1d2074c5319a6df09972e59</dictionary>
<dictionary name="故事ことわざの辞典">db46db216048708cd1117d7c40c44903</dictionary>
<dictionary name="日本語表現活用辞典">226c1a378284bddbab006b58f2bed912</dictionary>
<dictionary name="三省堂 必携類語実用辞典">e56e5730e20de70e2fdbcf3c0c75f6d2</dictionary>
<dictionary name="日本語大シソーラス-類語検索大辞典">1bf304efdcb8df8731229f3ce4e428e8</dictionary>
<dictionary name="類義語使い分け辞典">0706014ea3154a3f5cad140d5514da5b</dictionary>
<dictionary name="NHK 日本語発音アクセント辞典">3a33eea57e761743d83c97260c632ff6</dictionary>
<dictionary name="理化学辞典第5版">879631ffaa14328a6f61187780c8a3b3</dictionary>
<dictionary name="理化学辞典第5版について">5e8b7121d5340488cf23fb68476608c7</dictionary>
<dictionary name="マグローヒル科学技術用語大辞典-第3版-">5b1575090dc44a089162111a4db83a2a</dictionary>
<dictionary name="ウイルス分類表/生物分類表">8c445ed601d2249b4c825cdfff4e2352</dictionary>
<dictionary name="岩波 生物学辞典 第4版">842aedaaee2e4a98d7fe74bb28c70a3c</dictionary>
<dictionary name="付録">a66d5e4ce689d103ae50d48befb3e620</dictionary>
<dictionary name="最新医学大辞典 第2版">39be06a7dbe05c5fbd3d54ed36a2f1dc</dictionary>
<dictionary name="南山堂医学大辞典第18版EPWING版">be0d59795041d059517abfcae545030d</dictionary>
<dictionary name="建築学用語辞典第2版 日本建築学会">63b4f589b0c48b00cc1800399ff0eb99</dictionary>
<dictionary name="日経パソコン用語事典2006">3fb08bd228ebd85ae4c6f7cc3974f204</dictionary>
<dictionary name="図解による法律用語辞典CD-ROM">ce88287767a8cfd103f2e3a826ed5b18</dictionary>
<dictionary name="このCD-ROMについて">84d3926350ba998c7ae4fc7dea933706</dictionary>
<dictionary name="経済・ビジネス用語辞典 2002年版">fd24df18234ff107f54c03c2eb7a555c</dictionary>
<dictionary name="心理学辞典">8147ebee0008c141c65be596f6a2c730</dictionary>
<dictionary name="文献リスト・付録">47c3848bbf0782065704e992583a588e</dictionary>
<dictionary name="岩波日本史辞典CD‐ROM版">fa941f06f3ce424f92ce2d650c7c12c6</dictionary>
<dictionary name="岩波日本史辞典CD‐ROM版について">521ba4885dd059a0247d6b1fdc511762</dictionary>
<dictionary name="岩波=ケンブリッジ 世界人名辞典">5d95d144ed251ae7ab7d2d103fa9e7ee</dictionary>
<dictionary name="付録">b58f0eafb5ef458de194d566baa1e1d5</dictionary>
<dictionary name="人物レファレンス事典 日本編〔古代~平成〕">dc4f126e01a2fbf4493717b3e2d28a63</dictionary>
<dictionary name="俳句人名辞典-天照">24531cdbc7a749ab1d08f2c1a2e27df4</dictionary>
<dictionary name="データパル情報編">823ba1fbcdd1320f539ff73e47bbac6d</dictionary>
<dictionary name="データパル用語編">68d823d00a85dbee59c610988a68aa21</dictionary>
<dictionary name="データパル最新編">137031dc413d3fee4efb5364436c1f06</dictionary>
<dictionary name="ニッポン風俗・芸能グラフィティ">ca1d5c96cfdd27c2d09c263a086fcee0</dictionary>
<dictionary name="現代用語の基礎知識1997年版">9ce7acb57ab4a93560ef3c21b2548958</dictionary>
<dictionary name="現代用語の基礎知識2000年版">a11a58202ef444f1440d38570f513e38</dictionary>
<dictionary name="現代用語の基礎知識2003年版">4cf2c0e0d583a092e87369015427e27d</dictionary>
<dictionary name="使い方・編集部から">7428ae020e19a7a82a5eb26aa0687a3c</dictionary>
<dictionary name="手紙実用文辞典">80bf160f10f4650ebbd5a2c01914b445</dictionary>
<dictionary name="ジーニアス英和〈第3版〉・和英〈第2版〉辞典">52a4cc2fb1a0640ae18acf15bb3f36b7</dictionary>
<dictionary name="ビジネス技術実用英語大辞典">f3062ce86397e447199206d4bd3e8e7a</dictionary>
<dictionary name="用例ファイル">146a0d00f75dcf6e0c4b1d92aad398bd</dictionary>
<dictionary name="ビジネス技術実用英語大辞典第4版">a74598d8d011a692124f4930529c5f00</dictionary>
<dictionary name="用例ファイル">0af974c012f64c3ad9e7bf0ec6892f2d</dictionary>
<dictionary name="研究社 新英和・和英中辞典">9e5db1b303759525f198758ff5f382fe</dictionary>
<dictionary name="研究社 新英和(第7版)・和英(第5版)中辞典">e1ae71caec385e83c31ef7b419a1ff1a</dictionary>
<dictionary name="CD-科学技術45万語対訳辞典 英和・和英">cf896687b7d7662199c63e055c9f8201</dictionary>
<dictionary name="25万語医学用語大辞典 英和/和英">047f16cc5bc5812cd0dad9ebccc8bb42</dictionary>
<dictionary name="コンピュータ用語辞典第3版">6dc733a38cada80e3735ac8f325d0aad</dictionary>
<dictionary name="用例・文例集">e0ef5582bc9d9f64613d9bc44f862fa6</dictionary>
<dictionary name="コンピュータ用語辞典第2版">1badd80dadef90f3cb1da0892db414b4</dictionary>
<dictionary name="小学館2">d41561b0db7f60e344c8fdd0ec62eda7</dictionary>
<dictionary name="中国語新語ビジネス用語辞典">2cd6ade57d818c51351adc4d399f6a32</dictionary>
<dictionary name="ジーニアス英和大辞典">1ac2464ef33d31ddfaac5db525a15f2e</dictionary>
<dictionary name="学研 パーソナル英和辞典">ba4daf0175b1457297ad4ebe8504a690</dictionary>
<dictionary name="研究社リーダーズ+プラスV2">3d951a2c57c9306658b07be28e714aed</dictionary>
<dictionary name="研究社 リーダーズ英和辞典 第3版">cf5769b67c58027b2eddd174e78cbcb4</dictionary>
<dictionary name="研究社 新編英和活用大辞典">2a8509524dfba1ae3c78fd6da9443d10</dictionary>
<dictionary name="研究社 新英和中辞典">73a92a4d952f7c6d621a0b23cf45f5f9</dictionary>
<dictionary name="研究社 新英和大辞典 第6版">687de42ee8cd26a1857e5ddc37ace9f3</dictionary>
<dictionary name="三修社 科学技術英独日辞典">d25231514b681b49c39d59c26ff3c0a1</dictionary>
<dictionary name="〔理・工・農・医・社会〕自然科学系英和大辞典Version3">1a273954b9caccaddef4c12797f5c67d</dictionary>
<dictionary name="日外35万語科学技術用語大辞典">da25f08229b565857d6f66217721ac1b</dictionary>
<dictionary name="中日大辞典(大修館)">e687e18e0422aeb3767e6b1d6f7f33e4</dictionary>
<dictionary name="三修社 和英辞典">da008cae049016579164b5c82273718f</dictionary>
<dictionary name="学研 パーソナル和英辞典">27ffb7fdb1d580f4bd750c86bba22320</dictionary>
<dictionary name="NEW斎藤和英大辞典">f08e58f48686a2c6da895e5f85bf0380</dictionary>
<dictionary name="用例ファイル">6aa34e6a3b560d9b49c11829e7df54d8</dictionary>
<dictionary name="研究社 新和英中辞典">6ccd9806f72c8a16f7fed1ec57eb5ff0</dictionary>
<dictionary name="研究社 新和英大辞典 第5版">122270a5d92707191454250859d425fe</dictionary>
<dictionary name="ロイヤル英文法改訂新版">18b7db37e9f7a7dc203ac9a15825ed8a</dictionary>
<dictionary name="日漢雙解辭典">fdc0288fded07a57ce4cd752c5f782fb</dictionary>
<dictionary name="講談社日中">11c97cac9f47c4535e8673900c554efe</dictionary>
<dictionary name="   ">34a34d0936b5e4ea2245c9142c517e5e</dictionary>
<dictionary name="  ">49a80b2c231e54f55c2b6673831a23be</dictionary>
<dictionary name="">0d15c464ed6f47f23ebc2734f80266ec</dictionary>
<dictionary name="   ">a23a3bb5dba9eec8280573c7766619ef</dictionary>
<dictionary name=" ">7c3a8e96a3b168cada45e29c49a2f055</dictionary>
<dictionary name="   ">f63dc6ef338cc1fe1e03ea204b20c556</dictionary>
<dictionary name=" ">27496e15a6643e68ffe01bee2358eec6</dictionary>
<dictionary name="  ">ee20cd730b59ad5f6c832f39ceb7e0c8</dictionary>
<dictionary name=" ">f60a424d9b635ee9d1c54f1b6d3d2cd1</dictionary>
<dictionary name=" ">3ee608107ff1d1d39765c3e10b08bfd5</dictionary>
<dictionary name="  ">1a7c6fdac4f6c37e61e76e9c73b5951f</dictionary>
<dictionary name=" ">4a43ac6ac9ca1a6235128a09eb686ba5</dictionary>
<dictionary name="  ">0df0c67aa159000bcb3e22522e504ce1</dictionary>
<dictionary name="    ">81d065e529ef15fef99f3314715a1fd3</dictionary>
<dictionary name=" ">4ce638e1f9f87481de9ec342440c1753</dictionary>
<dictionary name=" ">793c41bba28c8d324fc44df3ff42c8c8</dictionary>
<dictionary name="  ">8282abf3ea32251156a3933ac08b0a03</dictionary>
<dictionary name="  ">a31eec2856e449558b0bd9576af7b36c</dictionary>
<dictionary name="  ">0310d55ef013d5eb96846e6018a200e0</dictionary>
<dictionary name="  ">38aef41cd62e0cb8b19927511ad10243</dictionary>
<dictionary name=" ">d2577d64470777ebe0a71dda1b0c1532</dictionary>
<dictionary name=" ">0a882f3f56a32244889e9188b63e6221</dictionary>
<dictionary name="  ">fc48d1fd6efab5b9763a20d651d8a9a3</dictionary>
<dictionary name=" ">835186c537d860e65f29918d6fce8f2b</dictionary>
<dictionary name="  ">847a695d4b6573f656a698e68e233f55</dictionary>
<dictionary name="    ">4491dc5b7b2bead2807e9efc95755f86</dictionary>
<dictionary name="  ">140fce261119cd8064d3c45be90cb11c</dictionary>
<dictionary name=" ">c00269d562de62d756d51b9e402e3a77</dictionary>
<dictionary name=" ">fcf5ba6d7310b6a4711dfff841ddc7c1</dictionary>
<dictionary name="  ">88919fa89de8ed742eae06ba2c03246b</dictionary>
<dictionary name="  ">8e135e0331c329e68f6bb7a819484772</dictionary>
<dictionary name="  ">6080d6865c3afa8f65bf6627486e6327</dictionary>
<dictionary name="  ">aa7f5a27f1fa955899eb1611d4a91367</dictionary>
<dictionary name="岩波国語辞典">76920f4e8caf20bf370acb7fea5fc232</dictionary> <dictionary name="岩波国語辞典">76920f4e8caf20bf370acb7fea5fc232</dictionary>
<dictionary name="漢検漢字辞典 第二版">439501f369c57bb5d3f0933b088cb23f</dictionary> <dictionary name="漢検漢字辞典 第二版">439501f369c57bb5d3f0933b088cb23f</dictionary>
<dictionary name="近畿日本語アクセント辞典">7621ab8dbcc868868042cbbd3a012938</dictionary> <dictionary name="近畿日本語アクセント辞典">7621ab8dbcc868868042cbbd3a012938</dictionary>
@ -430,6 +234,13 @@
<dictionary name="Word roots, affixes &amp; Syllables">da98026eab06abf17ac40ed646749a6e</dictionary> <dictionary name="Word roots, affixes &amp; Syllables">da98026eab06abf17ac40ed646749a6e</dictionary>
<dictionary name="Word Roots and Prefixes">ecd5393ffa5e194299db60b98d3bbf60</dictionary> <dictionary name="Word Roots and Prefixes">ecd5393ffa5e194299db60b98d3bbf60</dictionary>
<dictionary name="cppreference.com (en)">be6632714ae524d05bf09baf7c349776</dictionary> <dictionary name="cppreference.com (en)">be6632714ae524d05bf09baf7c349776</dictionary>
<dictionary name="Kotobank●辞書(网络版)">c05cc9bea6ab9ca5a7e4fd9bd485c294</dictionary>
<dictionary name="accentAudio">662012b956932d0d060ba4a75bf50423</dictionary>
<dictionary name="Hakurei">9dfe38c28e4eb0d417245e761da52517</dictionary>
<dictionary name="VNDB">8490c7e8849c0ef63a91bae96091df6d</dictionary>
<dictionary name="Shodo">aeab10aa786aa055cb6a23912d1ec041</dictionary>
<dictionary name="Gyousho">26bbdd7c805ddebdf4042931c12d0550</dictionary>
<dictionary name="Seal Script">c7d8599a68f14979433d8708d185e232</dictionary>
<mutedDictionaries/> <mutedDictionaries/>
</dictionaryOrder> </dictionaryOrder>
<inactiveDictionaries id="0" name=""> <inactiveDictionaries id="0" name="">
@ -437,7 +248,8 @@
</inactiveDictionaries> </inactiveDictionaries>
<groups nextId="8"> <groups nextId="8">
<group icon="jp.png" id="3" name="日本語" shortcut="Ctrl+G"> <group icon="jp.png" id="3" name="日本語" shortcut="Ctrl+G">
<dictionary name="gd-marisa">00824c93f503c5d1680483abdf367948</dictionary> <dictionary name="Hakurei">9dfe38c28e4eb0d417245e761da52517</dictionary>
<dictionary name="(小学館)例解学習国語辞典[第九版]">c63783324ee9b8fc3309849bd8302845</dictionary>
<dictionary name="広辞苑">7363ba2e34cddead0f19a4a2ec51304e</dictionary> <dictionary name="広辞苑">7363ba2e34cddead0f19a4a2ec51304e</dictionary>
<dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary> <dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary>
<dictionary name="新明解国語辞典 第八版">646c2fbd2278d23caf8bc5b44599f5aa</dictionary> <dictionary name="新明解国語辞典 第八版">646c2fbd2278d23caf8bc5b44599f5aa</dictionary>
@ -450,7 +262,6 @@
<dictionary name="Gloss Homonyms (Jpn-Jpn)">133436b45f37007263000dd395a5cb19</dictionary> <dictionary name="Gloss Homonyms (Jpn-Jpn)">133436b45f37007263000dd395a5cb19</dictionary>
<dictionary name="日本国語大辞典 第二版">f2f3fca4482e832d2b39e39931f1861e</dictionary> <dictionary name="日本国語大辞典 第二版">f2f3fca4482e832d2b39e39931f1861e</dictionary>
<dictionary name="国語大辞典">f60affb79583cb692ba2bca6df57444d</dictionary> <dictionary name="国語大辞典">f60affb79583cb692ba2bca6df57444d</dictionary>
<dictionary name="Forvo Japanese">b1e3f422135b95f15c0225ae27692050</dictionary>
<dictionary name="ピクシブ百科事典">71ac9bc6d781652a85341bcf5a7fd63c</dictionary> <dictionary name="ピクシブ百科事典">71ac9bc6d781652a85341bcf5a7fd63c</dictionary>
<dictionary name="漢語大字典 (2010)">2ada8c44aefb4c1d63d8b1f475790ff4</dictionary> <dictionary name="漢語大字典 (2010)">2ada8c44aefb4c1d63d8b1f475790ff4</dictionary>
<dictionary name="電腦漢字字典">e43421f6039418916c33c309fe43f524</dictionary> <dictionary name="電腦漢字字典">e43421f6039418916c33c309fe43f524</dictionary>
@ -458,7 +269,6 @@
<dictionary name="(三省堂)スーパー大辞林 [3.0]">c3bba9ed1957c4d6553f24a97adf0202</dictionary> <dictionary name="(三省堂)スーパー大辞林 [3.0]">c3bba9ed1957c4d6553f24a97adf0202</dictionary>
<dictionary name="(三省堂)国語辞典[第七版]">f26420c7eb1d59c1076d59ccf790a337</dictionary> <dictionary name="(三省堂)国語辞典[第七版]">f26420c7eb1d59c1076d59ccf790a337</dictionary>
<dictionary name="(三省堂)新明解国語辞典[第七版]">8431bdd6831e3f351ad8799dc6d42d73</dictionary> <dictionary name="(三省堂)新明解国語辞典[第七版]">8431bdd6831e3f351ad8799dc6d42d73</dictionary>
<dictionary name="(小学館)例解学習国語辞典[第九版]">c63783324ee9b8fc3309849bd8302845</dictionary>
<dictionary name="(小学館)日本国語大辞典[第二版]">d0e35c7d8c2b432d0a57cdf7941f912a</dictionary> <dictionary name="(小学館)日本国語大辞典[第二版]">d0e35c7d8c2b432d0a57cdf7941f912a</dictionary>
<dictionary name="(小学館)デジタル大辞泉 [2021.10]">fd22dd8651fc9f5383ca576b5ed6a3cf</dictionary> <dictionary name="(小学館)デジタル大辞泉 [2021.10]">fd22dd8651fc9f5383ca576b5ed6a3cf</dictionary>
<dictionary name="(大修館)明鏡国語辞典[第三版]">304a839a02ce8080037171de2de2d336</dictionary> <dictionary name="(大修館)明鏡国語辞典[第三版]">304a839a02ce8080037171de2de2d336</dictionary>
@ -474,86 +284,6 @@
<dictionary name="(Lookvise) 日本語俗語辞書">6d08802a63843c048824d298989b7148</dictionary> <dictionary name="(Lookvise) 日本語俗語辞書">6d08802a63843c048824d298989b7148</dictionary>
<dictionary name="(学研)全訳古語辞典">68ea7837dab9dc82d592a7762c4e8092</dictionary> <dictionary name="(学研)全訳古語辞典">68ea7837dab9dc82d592a7762c4e8092</dictionary>
<dictionary name="(角川)古語大辞典">23e549f189b1238b16b9c6a2fc2860f0</dictionary> <dictionary name="(角川)古語大辞典">23e549f189b1238b16b9c6a2fc2860f0</dictionary>
<dictionary name="日本大百科全書">aa368196f1aa18a2aa00d7d90eb68d79</dictionary>
<dictionary name="マイペディア98">47723eaa989a140ae761a73ccef0ad74</dictionary>
<dictionary name="世界大百科事典">ab04767f78051ea72534ead167c46a7e</dictionary>
<dictionary name="世界大百科事典第二版">43d3033b997cfb3b86ba41842c70d9bc</dictionary>
<dictionary name="ハイブリッド新辞林">0b7d3b7ab9ce129f8f1468199645b9fa</dictionary>
<dictionary name="新明解国語辞典 第五版">76c29ce6488ef58f6fb59232e1c234f9</dictionary>
<dictionary name="日本語辞典(現代国語、外来語)">09c4d84b2cf5a9a18b6d67066b3c50e4</dictionary>
<dictionary name="明鏡国語辞典">d37bebac02fd8635d456a8e0ebee69f0</dictionary>
<dictionary name="学研国語大辞典">4a9a3d0091a7e6e4452c821484ef265c</dictionary>
<dictionary name="大辞泉">3239558cf13b5ed72adb871aa8a18ead</dictionary>
<dictionary name="国語大辞典">4c09400bf0f4f24f9b0544fb05467b3d</dictionary>
<dictionary name="岩波国語辞典 第六版">30c4224efb876ba21c6f5a1db22909f9</dictionary>
<dictionary name="広辞苑第五版">3bd60af5edb9a139ab4844ce5900d50d</dictionary>
<dictionary name="広辞苑第六版">3ff8c47f8a7b655f54cba4923448074e</dictionary>
<dictionary name="付属資料">6897ed5b058db74e575da6d1775a97bb</dictionary>
<dictionary name="広辞苑 第四版">b10e50122f4642d845f2b1683f9e6fd9</dictionary>
<dictionary name="付属資料">8bdb718ed4030036946d1ca72f55002b</dictionary>
<dictionary name="漢字源">9b5d3509deefc3a8a59332f33dc8ee28</dictionary>
<dictionary name="古語辞典">d874fff5195c853b3c0e4cb28a84ccd9</dictionary>
<dictionary name="三省堂 必携故事ことわざ・慣用句辞典">6555c429b526ea752b4952274822e978</dictionary>
<dictionary name="故事ことわざ辞典">cc16a2a0d9a3a5d51ae501435ab63a6c</dictionary>
<dictionary name="故事ことわざの辞典">db46db216048708cd1117d7c40c44903</dictionary>
<dictionary name="日本語表現活用辞典">226c1a378284bddbab006b58f2bed912</dictionary>
<dictionary name="三省堂 必携類語実用辞典">e56e5730e20de70e2fdbcf3c0c75f6d2</dictionary>
<dictionary name="日本語大シソーラス-類語検索大辞典">1bf304efdcb8df8731229f3ce4e428e8</dictionary>
<dictionary name="類義語使い分け辞典">0706014ea3154a3f5cad140d5514da5b</dictionary>
<dictionary name="理化学辞典第5版">879631ffaa14328a6f61187780c8a3b3</dictionary>
<dictionary name="理化学辞典第5版について">5e8b7121d5340488cf23fb68476608c7</dictionary>
<dictionary name="マグローヒル科学技術用語大辞典-第3版-">5b1575090dc44a089162111a4db83a2a</dictionary>
<dictionary name="ウイルス分類表/生物分類表">8c445ed601d2249b4c825cdfff4e2352</dictionary>
<dictionary name="岩波 生物学辞典 第4版">842aedaaee2e4a98d7fe74bb28c70a3c</dictionary>
<dictionary name="付録">a66d5e4ce689d103ae50d48befb3e620</dictionary>
<dictionary name="最新医学大辞典 第2版">39be06a7dbe05c5fbd3d54ed36a2f1dc</dictionary>
<dictionary name="南山堂医学大辞典第18版EPWING版">be0d59795041d059517abfcae545030d</dictionary>
<dictionary name="建築学用語辞典第2版 日本建築学会">63b4f589b0c48b00cc1800399ff0eb99</dictionary>
<dictionary name="日経パソコン用語事典2006">3fb08bd228ebd85ae4c6f7cc3974f204</dictionary>
<dictionary name="図解による法律用語辞典CD-ROM">ce88287767a8cfd103f2e3a826ed5b18</dictionary>
<dictionary name="このCD-ROMについて">84d3926350ba998c7ae4fc7dea933706</dictionary>
<dictionary name="経済・ビジネス用語辞典 2002年版">fd24df18234ff107f54c03c2eb7a555c</dictionary>
<dictionary name="心理学辞典">8147ebee0008c141c65be596f6a2c730</dictionary>
<dictionary name="文献リスト・付録">47c3848bbf0782065704e992583a588e</dictionary>
<dictionary name="岩波日本史辞典CD‐ROM版">fa941f06f3ce424f92ce2d650c7c12c6</dictionary>
<dictionary name="岩波日本史辞典CD‐ROM版について">521ba4885dd059a0247d6b1fdc511762</dictionary>
<dictionary name="岩波=ケンブリッジ 世界人名辞典">5d95d144ed251ae7ab7d2d103fa9e7ee</dictionary>
<dictionary name="付録">b58f0eafb5ef458de194d566baa1e1d5</dictionary>
<dictionary name="人物レファレンス事典 日本編〔古代~平成〕">dc4f126e01a2fbf4493717b3e2d28a63</dictionary>
<dictionary name="俳句人名辞典-天照">24531cdbc7a749ab1d08f2c1a2e27df4</dictionary>
<dictionary name="データパル情報編">823ba1fbcdd1320f539ff73e47bbac6d</dictionary>
<dictionary name="データパル用語編">68d823d00a85dbee59c610988a68aa21</dictionary>
<dictionary name="データパル最新編">137031dc413d3fee4efb5364436c1f06</dictionary>
<dictionary name="ニッポン風俗・芸能グラフィティ">ca1d5c96cfdd27c2d09c263a086fcee0</dictionary>
<dictionary name="現代用語の基礎知識1997年版">9ce7acb57ab4a93560ef3c21b2548958</dictionary>
<dictionary name="現代用語の基礎知識2000年版">a11a58202ef444f1440d38570f513e38</dictionary>
<dictionary name="現代用語の基礎知識2003年版">4cf2c0e0d583a092e87369015427e27d</dictionary>
<dictionary name="使い方・編集部から">7428ae020e19a7a82a5eb26aa0687a3c</dictionary>
<dictionary name="手紙実用文辞典">80bf160f10f4650ebbd5a2c01914b445</dictionary>
<dictionary name="ジーニアス英和〈第3版〉・和英〈第2版〉辞典">52a4cc2fb1a0640ae18acf15bb3f36b7</dictionary>
<dictionary name="ビジネス技術実用英語大辞典">f3062ce86397e447199206d4bd3e8e7a</dictionary>
<dictionary name="用例ファイル">146a0d00f75dcf6e0c4b1d92aad398bd</dictionary>
<dictionary name="ビジネス技術実用英語大辞典第4版">a74598d8d011a692124f4930529c5f00</dictionary>
<dictionary name="用例ファイル">0af974c012f64c3ad9e7bf0ec6892f2d</dictionary>
<dictionary name="CD-科学技術45万語対訳辞典 英和・和英">cf896687b7d7662199c63e055c9f8201</dictionary>
<dictionary name="25万語医学用語大辞典 英和/和英">047f16cc5bc5812cd0dad9ebccc8bb42</dictionary>
<dictionary name="コンピュータ用語辞典第3版">6dc733a38cada80e3735ac8f325d0aad</dictionary>
<dictionary name="用例・文例集">e0ef5582bc9d9f64613d9bc44f862fa6</dictionary>
<dictionary name="コンピュータ用語辞典第2版">1badd80dadef90f3cb1da0892db414b4</dictionary>
<dictionary name="小学館2">d41561b0db7f60e344c8fdd0ec62eda7</dictionary>
<dictionary name="中国語新語ビジネス用語辞典">2cd6ade57d818c51351adc4d399f6a32</dictionary>
<dictionary name="ジーニアス英和大辞典">1ac2464ef33d31ddfaac5db525a15f2e</dictionary>
<dictionary name="三修社 科学技術英独日辞典">d25231514b681b49c39d59c26ff3c0a1</dictionary>
<dictionary name="〔理・工・農・医・社会〕自然科学系英和大辞典Version3">1a273954b9caccaddef4c12797f5c67d</dictionary>
<dictionary name="日外35万語科学技術用語大辞典">da25f08229b565857d6f66217721ac1b</dictionary>
<dictionary name="中日大辞典(大修館)">e687e18e0422aeb3767e6b1d6f7f33e4</dictionary>
<dictionary name="三修社 和英辞典">da008cae049016579164b5c82273718f</dictionary>
<dictionary name="学研 パーソナル和英辞典">27ffb7fdb1d580f4bd750c86bba22320</dictionary>
<dictionary name="NEW斎藤和英大辞典">f08e58f48686a2c6da895e5f85bf0380</dictionary>
<dictionary name="用例ファイル">6aa34e6a3b560d9b49c11829e7df54d8</dictionary>
<dictionary name="ロイヤル英文法改訂新版">18b7db37e9f7a7dc203ac9a15825ed8a</dictionary>
<dictionary name="日漢雙解辭典">fdc0288fded07a57ce4cd752c5f782fb</dictionary>
<dictionary name="講談社日中">11c97cac9f47c4535e8673900c554efe</dictionary>
<dictionary name="岩波国語辞典">76920f4e8caf20bf370acb7fea5fc232</dictionary> <dictionary name="岩波国語辞典">76920f4e8caf20bf370acb7fea5fc232</dictionary>
<dictionary name="漢検漢字辞典 第二版">439501f369c57bb5d3f0933b088cb23f</dictionary> <dictionary name="漢検漢字辞典 第二版">439501f369c57bb5d3f0933b088cb23f</dictionary>
<dictionary name="近畿日本語アクセント辞典">7621ab8dbcc868868042cbbd3a012938</dictionary> <dictionary name="近畿日本語アクセント辞典">7621ab8dbcc868868042cbbd3a012938</dictionary>
@ -573,7 +303,15 @@
<dictionary name="(藤本直)類語玉手箱">8dda33ca157805525b1038e6fef3b56c</dictionary> <dictionary name="(藤本直)類語玉手箱">8dda33ca157805525b1038e6fef3b56c</dictionary>
<dictionary name="(Weblio) 対義語・反対語辞書">43bc82454c7f9962132daee50f10e63b</dictionary> <dictionary name="(Weblio) 対義語・反対語辞書">43bc82454c7f9962132daee50f10e63b</dictionary>
<dictionary name="Anime Encyclopedia (Eng-Eng)">9106e7a93950af3f2f2d85639e8c3b52</dictionary> <dictionary name="Anime Encyclopedia (Eng-Eng)">9106e7a93950af3f2f2d85639e8c3b52</dictionary>
<dictionary name="Kotobank●辞書(网络版)">c05cc9bea6ab9ca5a7e4fd9bd485c294</dictionary>
<dictionary name="Dong Chinese Lexicon">16fc50393911f51f8fbdb884269e57c9</dictionary>
<dictionary name="Forvo Japanese">b1e3f422135b95f15c0225ae27692050</dictionary>
<dictionary name="handwritten">27ea5cfecf6d68fdf7dcbfd8df6f06f7</dictionary>
<dictionary name="Shodo">aeab10aa786aa055cb6a23912d1ec041</dictionary>
<dictionary name="Gyousho">26bbdd7c805ddebdf4042931c12d0550</dictionary>
<dictionary name="Seal Script">c7d8599a68f14979433d8708d185e232</dictionary>
<mutedDictionaries> <mutedDictionaries>
<mutedDictionary>2ada8c44aefb4c1d63d8b1f475790ff4</mutedDictionary>
<mutedDictionary>6dac50cdfb3265d22b966313a1d228b7</mutedDictionary> <mutedDictionary>6dac50cdfb3265d22b966313a1d228b7</mutedDictionary>
</mutedDictionaries> </mutedDictionaries>
</group> </group>
@ -595,7 +333,7 @@
<mutedDictionaries/> <mutedDictionaries/>
</group> </group>
<group id="1" name="jp-en" shortcut="Ctrl+D"> <group id="1" name="jp-en" shortcut="Ctrl+D">
<dictionary name="gd-marisa">00824c93f503c5d1680483abdf367948</dictionary> <dictionary name="Hakurei">9dfe38c28e4eb0d417245e761da52517</dictionary>
<dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary> <dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary>
<dictionary name="JMdict_Portuguese">ec855a5ed10fb99483666514453d9bac</dictionary> <dictionary name="JMdict_Portuguese">ec855a5ed10fb99483666514453d9bac</dictionary>
<dictionary name="Forvo Japanese">b1e3f422135b95f15c0225ae27692050</dictionary> <dictionary name="Forvo Japanese">b1e3f422135b95f15c0225ae27692050</dictionary>
@ -605,7 +343,10 @@
<dictionary name="handwritten">27ea5cfecf6d68fdf7dcbfd8df6f06f7</dictionary> <dictionary name="handwritten">27ea5cfecf6d68fdf7dcbfd8df6f06f7</dictionary>
<dictionary name="Jitendex [2023-12-28]">156e4c2d5407db4c7dc6af55617b6d87</dictionary> <dictionary name="Jitendex [2023-12-28]">156e4c2d5407db4c7dc6af55617b6d87</dictionary>
<dictionary name="JMdict">23bf0ce06d2b68a076557b4c34cf1a74</dictionary> <dictionary name="JMdict">23bf0ce06d2b68a076557b4c34cf1a74</dictionary>
<dictionary name="VNDB">8490c7e8849c0ef63a91bae96091df6d</dictionary>
<mutedDictionaries> <mutedDictionaries>
<mutedDictionary>90259fffdd76764f7431170eeb89a0f9</mutedDictionary>
<mutedDictionary>968c3a374ef50d74e019560ae8f69488</mutedDictionary>
<mutedDictionary>27ea5cfecf6d68fdf7dcbfd8df6f06f7</mutedDictionary> <mutedDictionary>27ea5cfecf6d68fdf7dcbfd8df6f06f7</mutedDictionary>
<mutedDictionary>6dac50cdfb3265d22b966313a1d228b7</mutedDictionary> <mutedDictionary>6dac50cdfb3265d22b966313a1d228b7</mutedDictionary>
</mutedDictionaries> </mutedDictionaries>
@ -635,74 +376,9 @@
<mutedDictionaries/> <mutedDictionaries/>
</group> </group>
<group icon="br.png" id="2" name="Portuguese"> <group icon="br.png" id="2" name="Portuguese">
<dictionary name="Enciclopédia da Bíblia (Por-Por)">f7ffa4317e18421ad132877637b7982e</dictionary>
<dictionary name="Pensadores Cristaos (Por-Por)">bf9513ddc9e38c466d4898319079e255</dictionary>
<dictionary name="Dicionário da Bíblia de Almeida (Por-Por)">0c6cbfc1abfb5cfaae79e9bf792d7c51</dictionary>
<dictionary name="Michaelis Moderno Dic. da Língua Portuguesa (Por-Por)">29cc4b1fae1ee39411c691ecd1c00eb5</dictionary>
<dictionary name="Dicionário Aurélio [PT-PT]">9f2d889846365f17d4d1f2c690996416</dictionary>
<dictionary name="Dicionário de História (Por-Por)">4452336dedfdbaa7bed0283317b85353</dictionary>
<dictionary name="Logística (Por-Por)">aea83409a28a5830844e18d2bf7b3605</dictionary>
<dictionary name="Nomes deverbais (Por-Por)">55a40fa62c52d35d1da84e22b482cad7</dictionary>
<dictionary name="Teatro (Por-Por)">00a9ac5f0ee827e1556f14cf47e19d3d</dictionary>
<dictionary name="Dicionário Houaiss [PT-PT]">ef768b427ba5d11925e7bfaa9c7e1d05</dictionary>
<dictionary name="Dicionário Informal [PT-PT]">4aaedc0ae250b42bc8aaf2d735091565</dictionary>
<dictionary name="Dicionário de insultos esdrúxulos (Por-Por)">c516fc785c0241b43ed13e4e1e1caabc</dictionary>
<dictionary name="Houaiss (Pt-Pt)">b93665f7b1fc5dbd46b740d434c9fdba</dictionary>
<dictionary name="Dicionário de insultos esdrúxulos (Por-Por)">a8c7d6e4e614d8ba5afff44b2000a133</dictionary>
<dictionary name="Michaelis Moderno Dicionário da Língua Portuguesa [PT-PT]">e138d3961665c48cefb39a45302bc83c</dictionary>
<dictionary name="Abreviaturas Por-Por">e9b0a26a8ad6cb82e7b8e6fc3158da03</dictionary>
<dictionary name="Dicionário Priberam da Língua Portuguesa (Por-Por)">7d39d07745b76d69665c09cbdb6e9d6e</dictionary>
<dictionary name="Dicionário Informal (Por-Por)">a57af2b409324b63f8a480cacc7be75a</dictionary>
<dictionary name="Erros Frequentes Por-Por">86434219cff9e8d19a088608607c9c06</dictionary>
<dictionary name="Provérbios Brasileiras (Por-Por)">c5cd1defbdf56b37788042d597d85586</dictionary>
<dictionary name="Significados de Nomes (Por-Por)">bc51b1f9b816c316eae12fdacf3e4ed8</dictionary>
<dictionary name="Verbix Portuguese Verb Conjugations">66332bb70b8da80bf54cd4a0bed8eab6</dictionary>
<dictionary name="APDP Diabetes">2e03869cdf0661fedb9c62a7c18f3d3c</dictionary>
<dictionary name="artGloss">1ada2fe066091f9a4359183fa853a82c</dictionary>
<dictionary name="Dicionário Aurélio da Língua Portuguesa">2efba112cbf507a888ddacac197fc6e8</dictionary>
<dictionary name="Dicionário BB Seguro Auto">03d6d969418271df751af401bf2761db</dictionary>
<dictionary name="Biologia Celular e Molecular">21bcd9dafb548fcade20f49cbc297ebc</dictionary>
<dictionary name="Budismo">0aafbadc4551593b53f9b9725abb0a16</dictionary>
<dictionary name="DharmaNet">28ce5ef209eefa1d09867dcfe56f68b9</dictionary>
<dictionary name="Dicionário de Moda">8c6bd976fd334b801e6ed183d62ca6af</dictionary>
<dictionary name="Dicionário dos Sonhos">b497d4ab65170af150b22df540d0a2a2</dictionary>
<dictionary name="Dicionário Quenya-Português (Brasil) v.1.0">2cfdf122338dff2daf27afee627ef8bd</dictionary>
<dictionary name="Ervas Aromaticas">59b128e529222bb6befc422142585545</dictionary>
<dictionary name="EU Portuguese Glossary">92c8016b345793461ad75791a86a3d2f</dictionary>
<dictionary name="Eurojargon - português">ce47834eb965547d439f161c55c7f67f</dictionary>
<dictionary name="Gauches-Portugues">710eab1b84747b8a411884c2c57f9dbb</dictionary>
<dictionary name="Glossarium ®">885330a052380572d9dcbfd488e9e580</dictionary>
<dictionary name="Nomes - Significados em Português">1798572e78293506e7a7fee523dd6b5c</dictionary>
<dictionary name="WebDic">9c41547647e9443116cff925d644c8c6</dictionary>
<dictionary name="Portuguese.csv">0af6e512737d6c694ffda901b81ea20b</dictionary>
<dictionary name="Verbix Portuguese Verb Conjugations">c1236cd9aae363b99b4e661ecbf8e58c</dictionary>
<dictionary name="Amazônia colonial (Por-Por)">418c3e0efd2f32ed5cf2a6c341f8cc01</dictionary>
<dictionary name="Dicionário Aulete (Por-Por)">e4485d143c300887097750993aa9d7da</dictionary>
<dictionary name="Dicionário do Nordeste by Fred Navarro (Por-Por)">234f85adf2bddce704e6871b63bd125b</dictionary>
<dictionary name="Dicionário da regência nominal Luft (Por-Por)">eea2f519124622e6fe36300893122aa2</dictionary>
<dictionary name="Dicionário de dificuldades da língua portuguesa Cegalla (Por-Por)">0322a497dc6f9b186e481792ea2f7ca3</dictionary>
<dictionary name="Dicionário de eufemismos da língua portuguesa (Por-Por)">3d7fe64f59132114165d39e54d7f1224</dictionary>
<dictionary name="Estrangeirismos (Por-Por)">459ec66d59cab903ab6c014f39a356ff</dictionary>
<dictionary name="Dicionário Etimológico (Antenor Nascentes) (Por-Por)">c8969efad9e74f6ae3dc50de12a571b1</dictionary>
<dictionary name="Explicativo Português (Por-Por)">2454fc825c8ec79d448bcec0fecabd1c</dictionary>
<dictionary name="Grande Dicionário da Lingua Portugesa Porto Editora (Por-Por)">f9aca7a51be5e3082899c2c88a5fa467</dictionary>
<dictionary name="Idioma Português • ESS (Por-Por)">d0619669dd5186af6aef63b74f16fa9d</dictionary>
<dictionary name="Onomasiológia de Expressões Idiomáticas Brasileiras (Por-Por)">bbc68845c1e47c86efd0a93296f452eb</dictionary>
<dictionary name="Múltiplo Sentido (Por-Por)">101edc426d68a2343656c2c4676c101f</dictionary>
<dictionary name="Novo Dicionário de Dúvidas da Língua Portuguesa by Evanildo Bechara (Por-Por)">323326cfb9904222ae062015dc3ce4c0</dictionary>
<dictionary name="Dicionário de Português • SD (Por-Por)">383ac1096fe034bba3029634a6dcb455</dictionary>
<dictionary name="Provérbios e Máximas (Por-Por)">164c42c7d50f31e445b1552dbb5f02bc</dictionary>
<dictionary name="Dicionário de Sinônimos (Por-Por)">5dc88fafe05b9696682f8fa6fe7fbf1c</dictionary>
<dictionary name="Sinônimos (Por-Por)">1fadaa784421b497436cd5ab50ff91fb</dictionary>
<dictionary name="Sinónimos•Antónimos (PortoEd) (Por-Por)">eafb82c84bad2a854f9b9658b35f23eb</dictionary>
<dictionary name="Portuguese Synonyms • SL (Por-Por)">3ab498f8dd34af4b66a0cff5fbdea866</dictionary>
<dictionary name="Dicionário aberto de calão e expressões idiomáticas (Por-Por)">69b47be2470f1b77a2048d664ef777ba</dictionary>
<dictionary name="《Dicionário Priberam da Língua Portuguesa》">394cf7eae9a4046fefa1721d9750ac40</dictionary>
<dictionary name="《Dicionário Universitário Português-Chinês com Sinônimos》">301ba3d3d6dbca257e6b701238e1e1f6</dictionary>
<mutedDictionaries/> <mutedDictionaries/>
</group> </group>
<group id="5" name="書道"> <group id="5" name="書道">
<dictionary name="gd-marisa">00824c93f503c5d1680483abdf367948</dictionary>
<dictionary name="书法字典(词典网)202106">9d6cafda168708e7330eb9f936cd08b9</dictionary> <dictionary name="书法字典(词典网)202106">9d6cafda168708e7330eb9f936cd08b9</dictionary>
<dictionary name="古今书法欣赏">67dacc40639f15c1a9064a4c3924e768</dictionary> <dictionary name="古今书法欣赏">67dacc40639f15c1a9064a4c3924e768</dictionary>
<dictionary name="書法字典(阿彌陀佛)">8592dc5461e592f6e7b21210507c71d5</dictionary> <dictionary name="書法字典(阿彌陀佛)">8592dc5461e592f6e7b21210507c71d5</dictionary>
@ -777,6 +453,7 @@
<website enabled="0" icon="" id="f376365a0de651fd7505e7e5e683aa45" inside_iframe="1" name="Urban Dictionary" url="https://www.urbandictionary.com/define.php?term=%GDWORD%"/> <website enabled="0" icon="" id="f376365a0de651fd7505e7e5e683aa45" inside_iframe="1" name="Urban Dictionary" url="https://www.urbandictionary.com/define.php?term=%GDWORD%"/>
<website enabled="0" icon="" id="324ca0306187df7511b26d3847f4b07c" inside_iframe="1" name="Multitran (En-Ru)" url="https://www.multitran.com/m.exe?s=%GDWORD%&amp;l1=1&amp;l2=2"/> <website enabled="0" icon="" id="324ca0306187df7511b26d3847f4b07c" inside_iframe="1" name="Multitran (En-Ru)" url="https://www.multitran.com/m.exe?s=%GDWORD%&amp;l1=1&amp;l2=2"/>
<website enabled="0" icon="" id="379a0ce02a34747d642cb0d7de1b2882" inside_iframe="1" name="Merriam-Webster (En)" url="https://www.merriam-webster.com/dictionary/%GDWORD%"/> <website enabled="0" icon="" id="379a0ce02a34747d642cb0d7de1b2882" inside_iframe="1" name="Merriam-Webster (En)" url="https://www.merriam-webster.com/dictionary/%GDWORD%"/>
<website enabled="1" icon="" id="8490c7e8849c0ef63a91bae96091df6d" inside_iframe="1" name="VNDB" url="https://vndb.org/v?sq=%GDWORD%"/>
</websites> </websites>
<dictservers> <dictservers>
<server databases="wn" enabled="1" icon="" id="6eb6f7a1df225e1cfdcd4cf8e9e4771b" name="dict.org" strategies="" url="dict://dict.org"/> <server databases="wn" enabled="1" icon="" id="6eb6f7a1df225e1cfdcd4cf8e9e4771b" name="dict.org" strategies="" url="dict://dict.org"/>
@ -785,10 +462,14 @@
<program commandLine="festival --tts" enabled="0" icon="" id="428b4c2b905ef568a43d9a16f59559b0" name="Festival" type="0"/> <program commandLine="festival --tts" enabled="0" icon="" id="428b4c2b905ef568a43d9a16f59559b0" name="Festival" type="0"/>
<program commandLine="espeak %GDWORD%" enabled="0" icon="" id="2cf8b3a60f27e1ac812de0b57c148340" name="Espeak" type="0"/> <program commandLine="espeak %GDWORD%" enabled="0" icon="" id="2cf8b3a60f27e1ac812de0b57c148340" name="Espeak" type="0"/>
<program commandLine="man -a --html=/bin/cat %GDWORD%" enabled="0" icon="" id="4f898f7582596cea518c6b0bfdceb8b3" name="Manpages" type="2"/> <program commandLine="man -a --html=/bin/cat %GDWORD%" enabled="0" icon="" id="4f898f7582596cea518c6b0bfdceb8b3" name="Manpages" type="2"/>
<program commandLine="gd-tools marisa --word %GDWORD% --sentence %GDSEARCH%" enabled="1" icon="" id="00824c93f503c5d1680483abdf367948" name="gd-marisa" type="2"/> <program commandLine="gd-tools marisa --word %GDWORD% --sentence %GDSEARCH%" enabled="0" icon="" id="00824c93f503c5d1680483abdf367948" name="gd-marisa" type="2"/>
<program commandLine="gd-tools images --word %GDWORD% " enabled="1" icon="" id="6dac50cdfb3265d22b966313a1d228b7" name="gd-images" type="2"/> <program commandLine="gd-tools images --word %GDWORD%" enabled="1" icon="" id="6dac50cdfb3265d22b966313a1d228b7" name="gd-images" type="2"/>
<program commandLine="gd-tools handwritten --word %GDWORD% --sentence %GDSEARCH%" enabled="1" icon="" id="27ea5cfecf6d68fdf7dcbfd8df6f06f7" name="handwritten" type="2"/> <program commandLine="gd-tools handwritten --word %GDWORD% --sentence %GDSEARCH%" enabled="1" icon="" id="27ea5cfecf6d68fdf7dcbfd8df6f06f7" name="handwritten" type="2"/>
<program commandLine="gd-tools strokeorder --word %GDWORD% --font-size 10rem" enabled="1" icon="" id="90259fffdd76764f7431170eeb89a0f9" name="strokeorder" type="2"/> <program commandLine="gd-tools strokeorder --word %GDWORD% --font-size 10rem" enabled="1" icon="" id="90259fffdd76764f7431170eeb89a0f9" name="strokeorder" type="2"/>
<program commandLine="/home/hashirama/.local/bin/hakurei --goldendict --word %GDWORD% --sentence %GDSEARCH%" enabled="1" icon="" id="9dfe38c28e4eb0d417245e761da52517" name="Hakurei" type="2"/>
<program commandLine="gd-tools echo --font-family ran-soushotai --word %GDWORD%" enabled="1" icon="" id="aeab10aa786aa055cb6a23912d1ec041" name="Shodo" type="2"/>
<program commandLine="gd-tools echo --font-family 851手書き雑フォント --word %GDWORD%" enabled="1" icon="" id="26bbdd7c805ddebdf4042931c12d0550" name="Gyousho" type="2"/>
<program commandLine="gd-tools echo --font-family HakusyuTensyo_kk --word %GDWORD%" enabled="1" icon="" id="c7d8599a68f14979433d8708d185e232" name="Seal Script" type="2"/>
</programs> </programs>
<voiceEngines/> <voiceEngines/>
<mutedDictionaries/> <mutedDictionaries/>
@ -798,7 +479,7 @@
<interfaceFont>Motomachi</interfaceFont> <interfaceFont>Motomachi</interfaceFont>
<customFonts monospace="DejaVu Sans Mono" sans-serif="Motomachi" serif="DejaVu Serif" standard="DejaVu Serif"/> <customFonts monospace="DejaVu Sans Mono" sans-serif="Motomachi" serif="DejaVu Serif" standard="DejaVu Serif"/>
<displayStyle></displayStyle> <displayStyle></displayStyle>
<interfaceStyle>Fusion</interfaceStyle> <interfaceStyle>Default</interfaceStyle>
<newTabsOpenAfterCurrentOne>0</newTabsOpenAfterCurrentOne> <newTabsOpenAfterCurrentOne>0</newTabsOpenAfterCurrentOne>
<newTabsOpenInBackground>1</newTabsOpenInBackground> <newTabsOpenInBackground>1</newTabsOpenInBackground>
<hideSingleTab>0</hideSingleTab> <hideSingleTab>0</hideSingleTab>
@ -808,13 +489,13 @@
<startToTray>0</startToTray> <startToTray>0</startToTray>
<closeToTray>1</closeToTray> <closeToTray>1</closeToTray>
<autoStart>0</autoStart> <autoStart>0</autoStart>
<doubleClickTranslates>1</doubleClickTranslates> <doubleClickTranslates>0</doubleClickTranslates>
<selectWordBySingleClick>0</selectWordBySingleClick> <selectWordBySingleClick>0</selectWordBySingleClick>
<autoScrollToTargetArticle>1</autoScrollToTargetArticle> <autoScrollToTargetArticle>1</autoScrollToTargetArticle>
<escKeyHidesMainWindow>0</escKeyHidesMainWindow> <escKeyHidesMainWindow>0</escKeyHidesMainWindow>
<darkMode>0</darkMode> <darkMode>0</darkMode>
<darkReaderMode>0</darkReaderMode> <darkReaderMode>0</darkReaderMode>
<zoomFactor>1</zoomFactor> <zoomFactor>0.9</zoomFactor>
<helpZoomFactor>1</helpZoomFactor> <helpZoomFactor>1</helpZoomFactor>
<wordsZoomLevel>0</wordsZoomLevel> <wordsZoomLevel>0</wordsZoomLevel>
<enableMainWindowHotkey>1</enableMainWindowHotkey> <enableMainWindowHotkey>1</enableMainWindowHotkey>
@ -833,10 +514,10 @@
<trackSelectionScan>1</trackSelectionScan> <trackSelectionScan>1</trackSelectionScan>
<showScanFlag>0</showScanFlag> <showScanFlag>0</showScanFlag>
<selectionChangeDelayTimer>500</selectionChangeDelayTimer> <selectionChangeDelayTimer>500</selectionChangeDelayTimer>
<pronounceOnLoadMain>0</pronounceOnLoadMain> <pronounceOnLoadMain>1</pronounceOnLoadMain>
<pronounceOnLoadPopup>0</pronounceOnLoadPopup> <pronounceOnLoadPopup>1</pronounceOnLoadPopup>
<useInternalPlayer>0</useInternalPlayer> <useInternalPlayer>0</useInternalPlayer>
<internalPlayerBackend>FFmpeg</internalPlayerBackend> <internalPlayerBackend>Qt Multimedia</internalPlayerBackend>
<audioPlaybackProgram>mpv</audioPlaybackProgram> <audioPlaybackProgram>mpv</audioPlaybackProgram>
<alwaysOnTop>0</alwaysOnTop> <alwaysOnTop>0</alwaysOnTop>
<searchInDock>0</searchInDock> <searchInDock>0</searchInDock>
@ -889,7 +570,7 @@
<parallelThreads>11</parallelThreads> <parallelThreads>11</parallelThreads>
</fullTextSearch> </fullTextSearch>
</preferences> </preferences>
<lastMainGroupId>4294967294</lastMainGroupId> <lastMainGroupId>3</lastMainGroupId>
<lastPopupGroupId>0</lastPopupGroupId> <lastPopupGroupId>0</lastPopupGroupId>
<popupWindowState></popupWindowState> <popupWindowState></popupWindowState>
<popupWindowGeometry></popupWindowGeometry> <popupWindowGeometry></popupWindowGeometry>
@ -897,9 +578,9 @@
<popupWindowAlwaysOnTop>0</popupWindowAlwaysOnTop> <popupWindowAlwaysOnTop>0</popupWindowAlwaysOnTop>
<mainWindowState></mainWindowState> <mainWindowState></mainWindowState>
<mainWindowGeometry></mainWindowGeometry> <mainWindowGeometry></mainWindowGeometry>
<dictInfoGeometry>AdnQywADAAAAAAVYAAABjgAAB/EAAAMZAAAFWQAAAY8AAAfwAAADGAAAAAEAAAAAAp4AAAVZAAABjwAAB/AAAAMY</dictInfoGeometry> <dictInfoGeometry>AdnQywADAAAAAABTAAAAnAAAAt0AAAI1AAAAVAAAAJ0AAALcAAACNAAAAAAAAAAABKgAAABUAAAAnQAAAtwAAAI0</dictInfoGeometry>
<inspectorGeometry></inspectorGeometry> <inspectorGeometry></inspectorGeometry>
<dictionariesDialogGeometry>AdnQywADAAAAAAEQAAAAcAAAA7wAAAIxAAABEQAAAHEAAAO7AAACMAAAAAAAAAAABKgAAAERAAAAcQAAA7sAAAIw</dictionariesDialogGeometry> <dictionariesDialogGeometry>AdnQywADAAAAAABpAAAAkgAABC0AAAKIAAAAagAAAJMAAAQsAAAChwAAAAAAAAAABKgAAABqAAAAkwAABCwAAAKH</dictionariesDialogGeometry>
<timeForNewReleaseCheck></timeForNewReleaseCheck> <timeForNewReleaseCheck></timeForNewReleaseCheck>
<skippedRelease></skippedRelease> <skippedRelease></skippedRelease>
<showingDictBarNames>0</showingDictBarNames> <showingDictBarNames>0</showingDictBarNames>
@ -912,6 +593,6 @@
<matchCase>0</matchCase> <matchCase>0</matchCase>
<autoApply>0</autoApply> <autoApply>0</autoApply>
<headwordsExportPath></headwordsExportPath> <headwordsExportPath></headwordsExportPath>
<headwordsDialogGeometry>AdnQywADAAAAAAW/AAABSAAAB3sAAANhAAAFwAAAAUkAAAd6AAADYAAAAAEAAAAAAp4AAAXAAAABSQAAB3oAAANg</headwordsDialogGeometry> <headwordsDialogGeometry>AdnQywADAAAAAAGrAAAAVwAAA3MAAAJ6AAABrAAAAFgAAANyAAACeQAAAAAAAAAABKgAAAGsAAAAWAAAA3IAAAJ5</headwordsDialogGeometry>
</headwordsDialog> </headwordsDialog>
</config> </config>

View File

@ -0,0 +1,921 @@
<Config>
<paths>
<path recursive="1">/mnt/Reading/Epistularum's Tidy MDX Collection [Version 1.0]</path>
<path recursive="1">/mnt/Data/Chinese caligraphy dictionaries</path>
<path recursive="1">/mnt/Data/Japanese_Resources/languages-study(japanesAndRussian)/dicts</path>
<path recursive="1">/mnt/Data/Japanese_Resources/languages-study(japanesAndRussian)/pronounciation</path>
<path recursive="1">/mnt/Reading/Wikipedia Japa</path>
<path recursive="1">/mnt/Data/Documents/dict - concise encyclopedia of mathematics</path>
<path recursive="1">/home/hashirama/Downloads/Port</path>
<path recursive="1">/mnt/Data/Documents/english_dictionary</path>
<path recursive="1">/mnt/Sources/Epistularum's Tidy EPWing Collection [Version 1.0]</path>
<path recursive="1">/mnt/Sources/Epistularum's Tidy MDX Collection [Version 1.0]</path>
</paths>
<sounddirs/>
<dictionaryOrder id="0" name="">
<dictionary name="gd-marisa">00824c93f503c5d1680483abdf367948</dictionary>
<dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary>
<dictionary name="大辞林 第四版">41e48e169f3b09f5d08c9821aa0e88af</dictionary>
<dictionary name="新明解国語辞典 第八版">646c2fbd2278d23caf8bc5b44599f5aa</dictionary>
<dictionary name="dict.org">6eb6f7a1df225e1cfdcd4cf8e9e4771b</dictionary>
<dictionary name="书法字典(词典网)202106">9d6cafda168708e7330eb9f936cd08b9</dictionary>
<dictionary name="古今书法欣赏">67dacc40639f15c1a9064a4c3924e768</dictionary>
<dictionary name="書法字典(阿彌陀佛)">8592dc5461e592f6e7b21210507c71d5</dictionary>
<dictionary name="篆刻字典(吉林文史)">c5e660551a5aa09c39bccd22efcd33f4</dictionary>
<dictionary name="篆刻字典(吉林文史)">a653c558afc8656ade4867dabb11fe23</dictionary>
<dictionary name="篆刻字典(篆刻之家)">2fece8563645b6e84d4eaff99538ce6c</dictionary>
<dictionary name="篆刻字典(词典网)202106">0a98ab8c8af8ee7add8c7c2188eab136</dictionary>
<dictionary name="篆刻字典(词典网)202106">bf6dc5853179da9462dfb48e3f2157c4</dictionary>
<dictionary name="篆字印彙">2e19989a059f306e37ad2af41c00f001</dictionary>
<dictionary name="篆字印彙">dedcc77d6724124a34bd121c13601f12</dictionary>
<dictionary name="篆字印彙">04ddceca24590030ee166b154a2873e4</dictionary>
<dictionary name="篆書异體字字典(切圖版)">51586f8e48722c3dab296ae05a1e85b6</dictionary>
<dictionary name="篆書异體字字典">1c2caf45ae4387068cce7e1e5afc90c3</dictionary>
<dictionary name="(Lookvise) 日本語俗語辞書">c7c620d442d51a270407f7a655248a51</dictionary>
<dictionary name="大漢和辭典(修訂版)">9dbe76f02d379e39ce7382320d7c48e4</dictionary>
<dictionary name="甲骨文字典">96a1d4b781dc3befed561a76522813cc</dictionary>
<dictionary name="甲骨文字诂林">02204a83f8428db2a9674eda41eaaf3d</dictionary>
<dictionary name="大辞泉">487ea1b7fc70da0bc46e9e2c5c2fbee8</dictionary>
<dictionary name="(岩波)広辞苑[第六版]">4d67da435ba47d3b5cec1fb861e7ba4e</dictionary>
<dictionary name="(角川)字源">ebc3d5467f47494e4022f187d7c005f3</dictionary>
<dictionary name="研究社新英和中词典">efd7989ba3aa4e149c77f2c9b32ba99b</dictionary>
<dictionary name="研究社 新英和中辞典">e1ab6da4925cc083efa278ee19fba898</dictionary>
<dictionary name="研究社新英和中辞典第五版">d62ca33bbc240732af410dfedc8f1b5d</dictionary>
<dictionary name="Dong Chinese Lexicon">16fc50393911f51f8fbdb884269e57c9</dictionary>
<dictionary name="Etymological Dictionary of Han Chinese Characters">7c3c69859105dff873194749b0ca63e5</dictionary>
<dictionary name="(The Japan Times) A Dictionary of Japanese Grammar [Complete Edition]">54ab08e73a91ab848a6ec0f27b59ee63</dictionary>
<dictionary name="Japanese Wiktionary [JA-JA]">30f97e954dc3797bdbad39df84875102</dictionary>
<dictionary name="Jitendex [2023-12-28]">156e4c2d5407db4c7dc6af55617b6d87</dictionary>
<dictionary name="JMdict">23bf0ce06d2b68a076557b4c34cf1a74</dictionary>
<dictionary name="JMNedict">c65655147d60a509f4edce63a7169591</dictionary>
<dictionary name="JMdict">88fd65e7fb390f94d2e2132ac29710b4</dictionary>
<dictionary name="JMnedict">611e7de6f07e22aaf2a4b1f44e25edc5</dictionary>
<dictionary name="JMdict">327360418636b4aa4974485570a99e4f</dictionary>
<dictionary name="JMdict_Portuguese">ec855a5ed10fb99483666514453d9bac</dictionary>
<dictionary name="Warodai (Jpn-Rus)">fe85e18196d9cb64642ccf1c9f33333e</dictionary>
<dictionary name="БЯРС (Ja-Ru)">12b8d1dbd030f671273ded541eebc19f</dictionary>
<dictionary name="研究社 新和英大辞典 第5版">10a9d298bac0c2ee581b4f8797f5190a</dictionary>
<dictionary name="研究社 新英和大辞典 第6版">c8fa743ffd9c188c97a12cad60baad00</dictionary>
<dictionary name="日本国語大辞典 第二版">f2f3fca4482e832d2b39e39931f1861e</dictionary>
<dictionary name="Longman English-Japanese Dictionary">801d9d764983e59ff24a926dec6aed4d</dictionary>
<dictionary name="jreadability">659a04f15265eecf861aebcd3bcb083b</dictionary>
<dictionary name="Gloss Homonyms (Jpn-Jpn)">133436b45f37007263000dd395a5cb19</dictionary>
<dictionary name="学研 カタカナ新語辞典">25cd6f7de778d3cb74f7604d77d0bc7a</dictionary>
<dictionary name="日本語表現活用辞典">88e488e9aacaa0c842cfee322cfac7f5</dictionary>
<dictionary name="類義語使い分け辞典">1eca02efa0448b68a84780a410e5a7bd</dictionary>
<dictionary name="語源由来辞典">d344dd2f97338b9e8020b6c88f56bf8a</dictionary>
<dictionary name="Portuguese - English.csv (pt-en)">1e8ccbb28db547c88e67070ce902f7a5</dictionary>
<dictionary name="(practical-japanese.com) 実用日本語表現辞典">8e56f7f4a7cf2d91e415dfe6b490eea5</dictionary>
<dictionary name="小學堂 傳抄古文字">98479bfb2a40e89b234b3b6c94ec022a</dictionary>
<dictionary name="小學堂 字形演變">9e126bda563afb18d08442183bd92a66</dictionary>
<dictionary name="小學堂 小篆">37cb697218b572b43bc73514311a67eb</dictionary>
<dictionary name="小學堂 楚系簡帛文字">e495d7042e6ecb2328294b5b59a0571c</dictionary>
<dictionary name="小學堂 甲骨文">11988100677cc48fed517ffcd3d82a93</dictionary>
<dictionary name="小學堂 秦系簡牘文字">75445d96d28b777f98d5371ccc07120a</dictionary>
<dictionary name="小學堂 金文">2f3154090fcbf868689b9e8d596f7640</dictionary>
<dictionary name="小學堂 隸變">824237c92510f7294dc3672aa8423fcb</dictionary>
<dictionary name="漢字甲金篆形義通解">a53e4d4d940e52cdb56af46b57bd72bf</dictionary>
<dictionary name="JMdict">19b05bea6db191cb558db4217af4cb4f</dictionary>
<dictionary name="JMdict">05610f70181e350f9eaa9ee282b000fa</dictionary>
<dictionary name="b'\xe5\xb2\xa9\xe6\xb3\xa2\xe5\x9b\xbd\xe8\xaa\x9e\xe8\xbe\x9e\xe5\x85\xb8'">5e4fac63fe96ba7f73cf2d693dd93cac</dictionary>
<dictionary name="JMdict">5a560bd16b0c6cbd714faf0c388ae098</dictionary>
<dictionary name="旺文社国語辞典[第十一版].mdx">8fbb723ac88692225ef86e8b25c7b69d</dictionary>
<dictionary name="4JWORDS">fecd70b8f6b8958fdb65d59e96fd2109</dictionary>
<dictionary name="J_PLACES">a071cd9d1d67821448b4a1f053be2a6b</dictionary>
<dictionary name="KANJIDIC2">bc6d965f29984c6f91419f14e26c1c7c</dictionary>
<dictionary name="新明解国語辞典 第五版">434c9e54dcc6c5813b06817ecb45ed84</dictionary>
<dictionary name="広辞苑 第六版">27d8ae1cc3af4fedcc78dda7e9362dcd</dictionary>
<dictionary name="Weblio対義語・反対語辞書">a7b49e4da2f438d7b4412a944331b141</dictionary>
<dictionary name="類義語使い分け辞典">ee9263e59da6180234ff87d21c6690c3</dictionary>
<dictionary name="類語玉手箱">95e86b66e5f5653922d09621408a629b</dictionary>
<dictionary name="(The Japan Times) A Dictionary of Japanese Grammar [Complete Edition]">92333eb2e229dd9b6fc3b064664f2cc9</dictionary>
<dictionary name="辭源 第三版">caa6c874eeb0a03ee36a16151b3a37b1</dictionary>
<dictionary name="例解学習国語辞典[第十一版]">9411e07e04102258992ed0217b836307</dictionary>
<dictionary name="新世纪日汉双解大辞典">b8a7f9ecfb83e986a60fb667c1507e92</dictionary>
<dictionary name="日本国語大辞典 第二版">a230e0adecdd573e26ecc7a87a5860b8</dictionary>
<dictionary name="PhET Interactive Simulations">48cd59f2af6d16bc6a484a0b67d2a506</dictionary>
<dictionary name="Wikibooks">f5848fec21cb6b839ec0c990f70b0459</dictionary>
<dictionary name="ウィキニュース">6ac085bf1fd55977dfd9bd18499a06f1</dictionary>
<dictionary name="医療ウィキペディア">a2ab4670535dbf0367ac3643efc21e95</dictionary>
<dictionary name="Wikiquote">d87cfc3f8f494936be4954ef33e9ab63</dictionary>
<dictionary name="Wikisource">6dbac71fcf856b7223fc14ebc93309d7</dictionary>
<dictionary name="ウィキバーシティ">fc009097e705f5b55e61c069c73bf1e5</dictionary>
<dictionary name="(学研)全訳古語辞典">90d725f67d1a3aa64176c4a3eb133bf0</dictionary>
<dictionary name="大漢和辭典(修訂版)">eb83cca7907655b3b21065501dc5bad9</dictionary>
<dictionary name="岩波国語辞典">13589349f11f72acd1bc9090608aa38e</dictionary>
<dictionary name="世界大百科事典">4d47d534c0682c8c4f8ac872e358bb80</dictionary>
<dictionary name="角川新字源 改訂新版">18618033fa596e5143a6970fe838df3b</dictionary>
<dictionary name="新明解国語辞典 第五版">b6a3c79fee981a0eefbb035edfa67839</dictionary>
<dictionary name="人物レファレンス事典 日本編〔古代~平成〕">a9d2fa586867636d8a5323331334863b</dictionary>
<dictionary name="国語大辞典">f60affb79583cb692ba2bca6df57444d</dictionary>
<dictionary name="旺文社国語辞典[第十一版]">c1b569986545666c134e039ddae1519e</dictionary>
<dictionary name="明鏡国語辞典">2a62ae0388baa7d416f4c9fdde70a8a0</dictionary>
<dictionary name="(大修館)明鏡国語辞典[第三版]">4acefa6a69683ad470f27a51236b4f8b</dictionary>
<dictionary name="(小学館)日本大百科全書 [2022.09]">0ff76e9321dbee16ff6c250577a30ef0</dictionary>
<dictionary name="《小学馆V2日汉辞典》">11870f92ae0b157a8422fc78be1741fd</dictionary>
<dictionary name="三省堂超级大辞林第二版">093064615fab8a67e58f9f3fda5e1ac9</dictionary>
<dictionary name="Forvo Japanese">b1e3f422135b95f15c0225ae27692050</dictionary>
<dictionary name="[英-英] Concise Encyclopedia of Mathematics">09190d717c47ac453bcd67489a622a86</dictionary>
<dictionary name="gd-images">6dac50cdfb3265d22b966313a1d228b7</dictionary>
<dictionary name="handwritten">27ea5cfecf6d68fdf7dcbfd8df6f06f7</dictionary>
<dictionary name="strokeorder">90259fffdd76764f7431170eeb89a0f9</dictionary>
<dictionary name="Michaelis Moderno Dic. da Língua Portuguesa (Por-Por)">29cc4b1fae1ee39411c691ecd1c00eb5</dictionary>
<dictionary name="Dicionário Aurélio [PT-PT]">9f2d889846365f17d4d1f2c690996416</dictionary>
<dictionary name="Dicionário de História (Por-Por)">4452336dedfdbaa7bed0283317b85353</dictionary>
<dictionary name="Logística (Por-Por)">aea83409a28a5830844e18d2bf7b3605</dictionary>
<dictionary name="Nomes deverbais (Por-Por)">55a40fa62c52d35d1da84e22b482cad7</dictionary>
<dictionary name="Teatro (Por-Por)">00a9ac5f0ee827e1556f14cf47e19d3d</dictionary>
<dictionary name="Dicionário Houaiss [PT-PT]">ef768b427ba5d11925e7bfaa9c7e1d05</dictionary>
<dictionary name="Dicionário Informal [PT-PT]">4aaedc0ae250b42bc8aaf2d735091565</dictionary>
<dictionary name="Dicionário de insultos esdrúxulos (Por-Por)">c516fc785c0241b43ed13e4e1e1caabc</dictionary>
<dictionary name="Houaiss (Pt-Pt)">b93665f7b1fc5dbd46b740d434c9fdba</dictionary>
<dictionary name="Dicionário de insultos esdrúxulos (Por-Por)">a8c7d6e4e614d8ba5afff44b2000a133</dictionary>
<dictionary name="Michaelis Moderno Dicionário da Língua Portuguesa [PT-PT]">e138d3961665c48cefb39a45302bc83c</dictionary>
<dictionary name="Abreviaturas Por-Por">e9b0a26a8ad6cb82e7b8e6fc3158da03</dictionary>
<dictionary name="Dicionário Priberam da Língua Portuguesa (Por-Por)">7d39d07745b76d69665c09cbdb6e9d6e</dictionary>
<dictionary name="Dicionário Informal (Por-Por)">a57af2b409324b63f8a480cacc7be75a</dictionary>
<dictionary name="Erros Frequentes Por-Por">86434219cff9e8d19a088608607c9c06</dictionary>
<dictionary name="Provérbios Brasileiras (Por-Por)">c5cd1defbdf56b37788042d597d85586</dictionary>
<dictionary name="Significados de Nomes (Por-Por)">bc51b1f9b816c316eae12fdacf3e4ed8</dictionary>
<dictionary name="Verbix Portuguese Verb Conjugations">66332bb70b8da80bf54cd4a0bed8eab6</dictionary>
<dictionary name="APDP Diabetes">2e03869cdf0661fedb9c62a7c18f3d3c</dictionary>
<dictionary name="artGloss">1ada2fe066091f9a4359183fa853a82c</dictionary>
<dictionary name="Dicionário Aurélio da Língua Portuguesa">2efba112cbf507a888ddacac197fc6e8</dictionary>
<dictionary name="Dicionário BB Seguro Auto">03d6d969418271df751af401bf2761db</dictionary>
<dictionary name="Biologia Celular e Molecular">21bcd9dafb548fcade20f49cbc297ebc</dictionary>
<dictionary name="Budismo">0aafbadc4551593b53f9b9725abb0a16</dictionary>
<dictionary name="DharmaNet">28ce5ef209eefa1d09867dcfe56f68b9</dictionary>
<dictionary name="Dicionário de Moda">8c6bd976fd334b801e6ed183d62ca6af</dictionary>
<dictionary name="Dicionário dos Sonhos">b497d4ab65170af150b22df540d0a2a2</dictionary>
<dictionary name="Dicionário Quenya-Português (Brasil) v.1.0">2cfdf122338dff2daf27afee627ef8bd</dictionary>
<dictionary name="Ervas Aromaticas">59b128e529222bb6befc422142585545</dictionary>
<dictionary name="EU Portuguese Glossary">92c8016b345793461ad75791a86a3d2f</dictionary>
<dictionary name="Eurojargon - português">ce47834eb965547d439f161c55c7f67f</dictionary>
<dictionary name="Gauches-Portugues">710eab1b84747b8a411884c2c57f9dbb</dictionary>
<dictionary name="Glossarium ®">885330a052380572d9dcbfd488e9e580</dictionary>
<dictionary name="Nomes - Significados em Português">1798572e78293506e7a7fee523dd6b5c</dictionary>
<dictionary name="WebDic">9c41547647e9443116cff925d644c8c6</dictionary>
<dictionary name="Portuguese.csv">0af6e512737d6c694ffda901b81ea20b</dictionary>
<dictionary name="Verbix Portuguese Verb Conjugations">c1236cd9aae363b99b4e661ecbf8e58c</dictionary>
<dictionary name="Amazônia colonial (Por-Por)">418c3e0efd2f32ed5cf2a6c341f8cc01</dictionary>
<dictionary name="Dicionário da Bíblia de Almeida (Por-Por)">0c6cbfc1abfb5cfaae79e9bf792d7c51</dictionary>
<dictionary name="Dicionário Aulete (Por-Por)">e4485d143c300887097750993aa9d7da</dictionary>
<dictionary name="Dicionário do Nordeste by Fred Navarro (Por-Por)">234f85adf2bddce704e6871b63bd125b</dictionary>
<dictionary name="Dicionário da regência nominal Luft (Por-Por)">eea2f519124622e6fe36300893122aa2</dictionary>
<dictionary name="Dicionário de dificuldades da língua portuguesa Cegalla (Por-Por)">0322a497dc6f9b186e481792ea2f7ca3</dictionary>
<dictionary name="Dicionário de eufemismos da língua portuguesa (Por-Por)">3d7fe64f59132114165d39e54d7f1224</dictionary>
<dictionary name="Enciclopédia da Bíblia (Por-Por)">f7ffa4317e18421ad132877637b7982e</dictionary>
<dictionary name="Estrangeirismos (Por-Por)">459ec66d59cab903ab6c014f39a356ff</dictionary>
<dictionary name="Dicionário Etimológico (Antenor Nascentes) (Por-Por)">c8969efad9e74f6ae3dc50de12a571b1</dictionary>
<dictionary name="Explicativo Português (Por-Por)">2454fc825c8ec79d448bcec0fecabd1c</dictionary>
<dictionary name="Grande Dicionário da Lingua Portugesa Porto Editora (Por-Por)">f9aca7a51be5e3082899c2c88a5fa467</dictionary>
<dictionary name="Idioma Português • ESS (Por-Por)">d0619669dd5186af6aef63b74f16fa9d</dictionary>
<dictionary name="Onomasiológia de Expressões Idiomáticas Brasileiras (Por-Por)">bbc68845c1e47c86efd0a93296f452eb</dictionary>
<dictionary name="Múltiplo Sentido (Por-Por)">101edc426d68a2343656c2c4676c101f</dictionary>
<dictionary name="Novo Dicionário de Dúvidas da Língua Portuguesa by Evanildo Bechara (Por-Por)">323326cfb9904222ae062015dc3ce4c0</dictionary>
<dictionary name="Pensadores Cristaos (Por-Por)">bf9513ddc9e38c466d4898319079e255</dictionary>
<dictionary name="Dicionário de Português • SD (Por-Por)">383ac1096fe034bba3029634a6dcb455</dictionary>
<dictionary name="Provérbios e Máximas (Por-Por)">164c42c7d50f31e445b1552dbb5f02bc</dictionary>
<dictionary name="Dicionário de Sinônimos (Por-Por)">5dc88fafe05b9696682f8fa6fe7fbf1c</dictionary>
<dictionary name="Sinônimos (Por-Por)">1fadaa784421b497436cd5ab50ff91fb</dictionary>
<dictionary name="Sinónimos•Antónimos (PortoEd) (Por-Por)">eafb82c84bad2a854f9b9658b35f23eb</dictionary>
<dictionary name="Portuguese Synonyms • SL (Por-Por)">3ab498f8dd34af4b66a0cff5fbdea866</dictionary>
<dictionary name="Dicionário aberto de calão e expressões idiomáticas (Por-Por)">69b47be2470f1b77a2048d664ef777ba</dictionary>
<dictionary name="《Dicionário Priberam da Língua Portuguesa》">394cf7eae9a4046fefa1721d9750ac40</dictionary>
<dictionary name="《Dicionário Universitário Português-Chinês com Sinônimos》">301ba3d3d6dbca257e6b701238e1e1f6</dictionary>
<dictionary name="Synonyms&amp;Antonyms (En-En)">b072a05ab5a78a388aa6db2ae5131550</dictionary>
<dictionary name="Synonyms and Antonyms (S. Fallows) (Eng-Eng)">e2ecb75e6e785162b0aa2f3a94244031</dictionary>
<dictionary name="A Complete Dictionary of Synonyms and Antonyms">4df26ca9d2ac13f6b427bb2b58711382</dictionary>
<dictionary name="Crabb's English Synonyms">3e7558b58a64e368cd421422435407b2</dictionary>
<dictionary name="Easier English Basic Synonym Dictionary">a117e62d0161f73e5ccd2692da72d554</dictionary>
<dictionary name="Easier English Basic Synonyms (Eng-Eng)">16727ea57afd44654955017259c465ee</dictionary>
<dictionary name="Explanatory synonyms (Eng-Eng)">297372fa6e2373d7f55bf155952a9c83</dictionary>
<dictionary name="Fernald Synonyms">0484aa1d2405cbf4084b6a0f2d758f38</dictionary>
<dictionary name="English-Synonyms-and-Antonyms">d5132c7e44e6ba65460e66312198cc4f</dictionary>
<dictionary name="弗纳尔德近反义词词典">b223402d203c20a980efeab2fd3594cc</dictionary>
<dictionary name="早川同义词词典">a857b5b8a009671eec93d5545a8633a2</dictionary>
<dictionary name="USE THE RIGHT WORD">9f51b6ab7dbb42d2d9e0f6645885f43b</dictionary>
<dictionary name="Guide to Synonyms and Related Words (Eng-Eng)">19b8dc1e55adffdf3553b5b45ef00517</dictionary>
<dictionary name="RD's Modern Guide to Synonyms">5275312850f1068144272ce22fa53132</dictionary>
<dictionary name="Rodale's Synonym Finder (eng-eng)">8dd0aa4f4961c07eba109e6083f6e92e</dictionary>
<dictionary name="Urban Dictionary 2023.12">accb179c9ae61c64e574ae3907c3e3e4</dictionary>
<dictionary name="English Etymology">7b6de7954354ed1558475674685d2139</dictionary>
<dictionary name="学研新世紀ビジュアル百科辞典">2b72ecab5781f43b92fa61a95f70b44e</dictionary>
<dictionary name="日本大百科全書">aa368196f1aa18a2aa00d7d90eb68d79</dictionary>
<dictionary name="マイペディア98">47723eaa989a140ae761a73ccef0ad74</dictionary>
<dictionary name="世界大百科事典">ab04767f78051ea72534ead167c46a7e</dictionary>
<dictionary name="世界大百科事典第二版">43d3033b997cfb3b86ba41842c70d9bc</dictionary>
<dictionary name="三省堂 スーパー大辞林">0bbbb95c81efc0341f6be50b3dd07e0f</dictionary>
<dictionary name="ハイブリッド新辞林">0b7d3b7ab9ce129f8f1468199645b9fa</dictionary>
<dictionary name="新明解国語辞典 第五版">76c29ce6488ef58f6fb59232e1c234f9</dictionary>
<dictionary name="日本語辞典(現代国語、外来語)">09c4d84b2cf5a9a18b6d67066b3c50e4</dictionary>
<dictionary name="明鏡国語辞典">d37bebac02fd8635d456a8e0ebee69f0</dictionary>
<dictionary name="学研 パーソナル現代国語辞典">a55513cc946f2bc065056d750ce3084b</dictionary>
<dictionary name="学研国語大辞典">4a9a3d0091a7e6e4452c821484ef265c</dictionary>
<dictionary name="大辞泉">3239558cf13b5ed72adb871aa8a18ead</dictionary>
<dictionary name="国語大辞典">4c09400bf0f4f24f9b0544fb05467b3d</dictionary>
<dictionary name="岩波国語辞典 第六版">30c4224efb876ba21c6f5a1db22909f9</dictionary>
<dictionary name="広辞苑第五版">3bd60af5edb9a139ab4844ce5900d50d</dictionary>
<dictionary name="広辞苑第六版">3ff8c47f8a7b655f54cba4923448074e</dictionary>
<dictionary name="付属資料">6897ed5b058db74e575da6d1775a97bb</dictionary>
<dictionary name="広辞苑 第四版">b10e50122f4642d845f2b1683f9e6fd9</dictionary>
<dictionary name="付属資料">8bdb718ed4030036946d1ca72f55002b</dictionary>
<dictionary name="学研 パーソナル版漢字辞典">5c1d863f7c7f671dfdd13dfc27df0f1e</dictionary>
<dictionary name="漢和大字典 学研NPS版">8eacc3113fb03d05607e85e8440dda66</dictionary>
<dictionary name="漢字源">9b5d3509deefc3a8a59332f33dc8ee28</dictionary>
<dictionary name="学研 カタカナ新語辞典">3f7b5d783074ce39d51fadec9ecc13a5</dictionary>
<dictionary name="">c172ecafbe36afc163313b1be856f090</dictionary>
<dictionary name="古語辞典">d874fff5195c853b3c0e4cb28a84ccd9</dictionary>
<dictionary name="三省堂 必携故事ことわざ・慣用句辞典">6555c429b526ea752b4952274822e978</dictionary>
<dictionary name="故事ことわざ辞典">cc16a2a0d9a3a5d51ae501435ab63a6c</dictionary>
<dictionary name="学研 用例でわかる慣用句辞典">f84cff606a8fc794e79f6547badaddc2</dictionary>
<dictionary name="学研 用例でわかる故事ことわざ辞典">5bbfb17ed1d2074c5319a6df09972e59</dictionary>
<dictionary name="故事ことわざの辞典">db46db216048708cd1117d7c40c44903</dictionary>
<dictionary name="日本語表現活用辞典">226c1a378284bddbab006b58f2bed912</dictionary>
<dictionary name="三省堂 必携類語実用辞典">e56e5730e20de70e2fdbcf3c0c75f6d2</dictionary>
<dictionary name="日本語大シソーラス-類語検索大辞典">1bf304efdcb8df8731229f3ce4e428e8</dictionary>
<dictionary name="類義語使い分け辞典">0706014ea3154a3f5cad140d5514da5b</dictionary>
<dictionary name="NHK 日本語発音アクセント辞典">3a33eea57e761743d83c97260c632ff6</dictionary>
<dictionary name="理化学辞典第5版">879631ffaa14328a6f61187780c8a3b3</dictionary>
<dictionary name="理化学辞典第5版について">5e8b7121d5340488cf23fb68476608c7</dictionary>
<dictionary name="マグローヒル科学技術用語大辞典-第3版-">5b1575090dc44a089162111a4db83a2a</dictionary>
<dictionary name="ウイルス分類表/生物分類表">8c445ed601d2249b4c825cdfff4e2352</dictionary>
<dictionary name="岩波 生物学辞典 第4版">842aedaaee2e4a98d7fe74bb28c70a3c</dictionary>
<dictionary name="付録">a66d5e4ce689d103ae50d48befb3e620</dictionary>
<dictionary name="最新医学大辞典 第2版">39be06a7dbe05c5fbd3d54ed36a2f1dc</dictionary>
<dictionary name="南山堂医学大辞典第18版EPWING版">be0d59795041d059517abfcae545030d</dictionary>
<dictionary name="建築学用語辞典第2版 日本建築学会">63b4f589b0c48b00cc1800399ff0eb99</dictionary>
<dictionary name="日経パソコン用語事典2006">3fb08bd228ebd85ae4c6f7cc3974f204</dictionary>
<dictionary name="図解による法律用語辞典CD-ROM">ce88287767a8cfd103f2e3a826ed5b18</dictionary>
<dictionary name="このCD-ROMについて">84d3926350ba998c7ae4fc7dea933706</dictionary>
<dictionary name="経済・ビジネス用語辞典 2002年版">fd24df18234ff107f54c03c2eb7a555c</dictionary>
<dictionary name="心理学辞典">8147ebee0008c141c65be596f6a2c730</dictionary>
<dictionary name="文献リスト・付録">47c3848bbf0782065704e992583a588e</dictionary>
<dictionary name="岩波日本史辞典CD‐ROM版">fa941f06f3ce424f92ce2d650c7c12c6</dictionary>
<dictionary name="岩波日本史辞典CD‐ROM版について">521ba4885dd059a0247d6b1fdc511762</dictionary>
<dictionary name="岩波=ケンブリッジ 世界人名辞典">5d95d144ed251ae7ab7d2d103fa9e7ee</dictionary>
<dictionary name="付録">b58f0eafb5ef458de194d566baa1e1d5</dictionary>
<dictionary name="人物レファレンス事典 日本編〔古代~平成〕">dc4f126e01a2fbf4493717b3e2d28a63</dictionary>
<dictionary name="俳句人名辞典-天照">24531cdbc7a749ab1d08f2c1a2e27df4</dictionary>
<dictionary name="データパル情報編">823ba1fbcdd1320f539ff73e47bbac6d</dictionary>
<dictionary name="データパル用語編">68d823d00a85dbee59c610988a68aa21</dictionary>
<dictionary name="データパル最新編">137031dc413d3fee4efb5364436c1f06</dictionary>
<dictionary name="ニッポン風俗・芸能グラフィティ">ca1d5c96cfdd27c2d09c263a086fcee0</dictionary>
<dictionary name="現代用語の基礎知識1997年版">9ce7acb57ab4a93560ef3c21b2548958</dictionary>
<dictionary name="現代用語の基礎知識2000年版">a11a58202ef444f1440d38570f513e38</dictionary>
<dictionary name="現代用語の基礎知識2003年版">4cf2c0e0d583a092e87369015427e27d</dictionary>
<dictionary name="使い方・編集部から">7428ae020e19a7a82a5eb26aa0687a3c</dictionary>
<dictionary name="手紙実用文辞典">80bf160f10f4650ebbd5a2c01914b445</dictionary>
<dictionary name="ジーニアス英和〈第3版〉・和英〈第2版〉辞典">52a4cc2fb1a0640ae18acf15bb3f36b7</dictionary>
<dictionary name="ビジネス技術実用英語大辞典">f3062ce86397e447199206d4bd3e8e7a</dictionary>
<dictionary name="用例ファイル">146a0d00f75dcf6e0c4b1d92aad398bd</dictionary>
<dictionary name="ビジネス技術実用英語大辞典第4版">a74598d8d011a692124f4930529c5f00</dictionary>
<dictionary name="用例ファイル">0af974c012f64c3ad9e7bf0ec6892f2d</dictionary>
<dictionary name="研究社 新英和・和英中辞典">9e5db1b303759525f198758ff5f382fe</dictionary>
<dictionary name="研究社 新英和(第7版)・和英(第5版)中辞典">e1ae71caec385e83c31ef7b419a1ff1a</dictionary>
<dictionary name="CD-科学技術45万語対訳辞典 英和・和英">cf896687b7d7662199c63e055c9f8201</dictionary>
<dictionary name="25万語医学用語大辞典 英和/和英">047f16cc5bc5812cd0dad9ebccc8bb42</dictionary>
<dictionary name="コンピュータ用語辞典第3版">6dc733a38cada80e3735ac8f325d0aad</dictionary>
<dictionary name="用例・文例集">e0ef5582bc9d9f64613d9bc44f862fa6</dictionary>
<dictionary name="コンピュータ用語辞典第2版">1badd80dadef90f3cb1da0892db414b4</dictionary>
<dictionary name="小学館2">d41561b0db7f60e344c8fdd0ec62eda7</dictionary>
<dictionary name="中国語新語ビジネス用語辞典">2cd6ade57d818c51351adc4d399f6a32</dictionary>
<dictionary name="ジーニアス英和大辞典">1ac2464ef33d31ddfaac5db525a15f2e</dictionary>
<dictionary name="学研 パーソナル英和辞典">ba4daf0175b1457297ad4ebe8504a690</dictionary>
<dictionary name="研究社リーダーズ+プラスV2">3d951a2c57c9306658b07be28e714aed</dictionary>
<dictionary name="研究社 リーダーズ英和辞典 第3版">cf5769b67c58027b2eddd174e78cbcb4</dictionary>
<dictionary name="研究社 新編英和活用大辞典">2a8509524dfba1ae3c78fd6da9443d10</dictionary>
<dictionary name="研究社 新英和中辞典">73a92a4d952f7c6d621a0b23cf45f5f9</dictionary>
<dictionary name="研究社 新英和大辞典 第6版">687de42ee8cd26a1857e5ddc37ace9f3</dictionary>
<dictionary name="三修社 科学技術英独日辞典">d25231514b681b49c39d59c26ff3c0a1</dictionary>
<dictionary name="〔理・工・農・医・社会〕自然科学系英和大辞典Version3">1a273954b9caccaddef4c12797f5c67d</dictionary>
<dictionary name="日外35万語科学技術用語大辞典">da25f08229b565857d6f66217721ac1b</dictionary>
<dictionary name="中日大辞典(大修館)">e687e18e0422aeb3767e6b1d6f7f33e4</dictionary>
<dictionary name="三修社 和英辞典">da008cae049016579164b5c82273718f</dictionary>
<dictionary name="学研 パーソナル和英辞典">27ffb7fdb1d580f4bd750c86bba22320</dictionary>
<dictionary name="NEW斎藤和英大辞典">f08e58f48686a2c6da895e5f85bf0380</dictionary>
<dictionary name="用例ファイル">6aa34e6a3b560d9b49c11829e7df54d8</dictionary>
<dictionary name="研究社 新和英中辞典">6ccd9806f72c8a16f7fed1ec57eb5ff0</dictionary>
<dictionary name="研究社 新和英大辞典 第5版">122270a5d92707191454250859d425fe</dictionary>
<dictionary name="ロイヤル英文法改訂新版">18b7db37e9f7a7dc203ac9a15825ed8a</dictionary>
<dictionary name="日漢雙解辭典">fdc0288fded07a57ce4cd752c5f782fb</dictionary>
<dictionary name="講談社日中">11c97cac9f47c4535e8673900c554efe</dictionary>
<dictionary name="   ">34a34d0936b5e4ea2245c9142c517e5e</dictionary>
<dictionary name="  ">49a80b2c231e54f55c2b6673831a23be</dictionary>
<dictionary name="">0d15c464ed6f47f23ebc2734f80266ec</dictionary>
<dictionary name="   ">a23a3bb5dba9eec8280573c7766619ef</dictionary>
<dictionary name=" ">7c3a8e96a3b168cada45e29c49a2f055</dictionary>
<dictionary name="   ">f63dc6ef338cc1fe1e03ea204b20c556</dictionary>
<dictionary name=" ">27496e15a6643e68ffe01bee2358eec6</dictionary>
<dictionary name="  ">ee20cd730b59ad5f6c832f39ceb7e0c8</dictionary>
<dictionary name=" ">f60a424d9b635ee9d1c54f1b6d3d2cd1</dictionary>
<dictionary name=" ">3ee608107ff1d1d39765c3e10b08bfd5</dictionary>
<dictionary name="  ">1a7c6fdac4f6c37e61e76e9c73b5951f</dictionary>
<dictionary name=" ">4a43ac6ac9ca1a6235128a09eb686ba5</dictionary>
<dictionary name="  ">0df0c67aa159000bcb3e22522e504ce1</dictionary>
<dictionary name="    ">81d065e529ef15fef99f3314715a1fd3</dictionary>
<dictionary name=" ">4ce638e1f9f87481de9ec342440c1753</dictionary>
<dictionary name=" ">793c41bba28c8d324fc44df3ff42c8c8</dictionary>
<dictionary name="  ">8282abf3ea32251156a3933ac08b0a03</dictionary>
<dictionary name="  ">a31eec2856e449558b0bd9576af7b36c</dictionary>
<dictionary name="  ">0310d55ef013d5eb96846e6018a200e0</dictionary>
<dictionary name="  ">38aef41cd62e0cb8b19927511ad10243</dictionary>
<dictionary name=" ">d2577d64470777ebe0a71dda1b0c1532</dictionary>
<dictionary name=" ">0a882f3f56a32244889e9188b63e6221</dictionary>
<dictionary name="  ">fc48d1fd6efab5b9763a20d651d8a9a3</dictionary>
<dictionary name=" ">835186c537d860e65f29918d6fce8f2b</dictionary>
<dictionary name="  ">847a695d4b6573f656a698e68e233f55</dictionary>
<dictionary name="    ">4491dc5b7b2bead2807e9efc95755f86</dictionary>
<dictionary name="  ">140fce261119cd8064d3c45be90cb11c</dictionary>
<dictionary name=" ">c00269d562de62d756d51b9e402e3a77</dictionary>
<dictionary name=" ">fcf5ba6d7310b6a4711dfff841ddc7c1</dictionary>
<dictionary name="  ">88919fa89de8ed742eae06ba2c03246b</dictionary>
<dictionary name="  ">8e135e0331c329e68f6bb7a819484772</dictionary>
<dictionary name="  ">6080d6865c3afa8f65bf6627486e6327</dictionary>
<dictionary name="  ">aa7f5a27f1fa955899eb1611d4a91367</dictionary>
<dictionary name="岩波国語辞典">76920f4e8caf20bf370acb7fea5fc232</dictionary>
<dictionary name="漢検漢字辞典 第二版">439501f369c57bb5d3f0933b088cb23f</dictionary>
<dictionary name="近畿日本語アクセント辞典">7621ab8dbcc868868042cbbd3a012938</dictionary>
<dictionary name="広辞苑">7363ba2e34cddead0f19a4a2ec51304e</dictionary>
<dictionary name="日本語非辞書形辞典">ab6643336366d243d73d1ce4b7fd8b8d</dictionary>
<dictionary name="ピクシブ百科事典">71ac9bc6d781652a85341bcf5a7fd63c</dictionary>
<dictionary name="(The Japan Times) A Dictionary of Japanese Grammar [Complete Edition]">246877bcee272e7cfeb9be1aba1d90a8</dictionary>
<dictionary name="(Weblio) 日本語活用形辞書">727597d1015ede1f019990d436029401</dictionary>
<dictionary name="(くろしお出版)日本語文型辞典[英語版]">f2d2b922b18e2aca15d9393432e55acf</dictionary>
<dictionary name="(アルク)どんなときどう使う日本語表現文型辞典[新装版]">3104730a87f22520c663a5e19bfb43d7</dictionary>
<dictionary name="日本語NETJLPT文法解説まとめ">5095eebb92b67c625681e279a9ddb956</dictionary>
<dictionary name="字源 (2012)">7d1e3222760093eb3b23e9be3132db7e</dictionary>
<dictionary name="康熙字典2020">df57c33b50fc1616bd9760f202d931dc</dictionary>
<dictionary name="漢字音形義字典20191017">f046ad91797591ce8423c7fec8244a48</dictionary>
<dictionary name="漢語大字典 (2010)">2ada8c44aefb4c1d63d8b1f475790ff4</dictionary>
<dictionary name="說文解字(綜合版)">c925dba17d4c08afef46d3a9babfe6aa</dictionary>
<dictionary name="部件檢索">0119199a882067160524c7c8346f5b5f</dictionary>
<dictionary name="電腦漢字字典">e43421f6039418916c33c309fe43f524</dictionary>
<dictionary name="dreye 8">5f54be670d573a44786b279f1054afd9</dictionary>
<dictionary name="(三省堂)超級クラウン中日辞典">1f2c9fe9cf455222c55744698939e5be</dictionary>
<dictionary name="大修館書店中日大辞典(增订第二版)">de8539d9b8d3b118527c1109263cbc5c</dictionary>
<dictionary name="小学馆中日辞典 第三版">369fcfe4bca53efbe0f2aecb705fbfe9</dictionary>
<dictionary name="中日大辞典v3">bb678a0887728b5c8583f9945b223de0</dictionary>
<dictionary name="白水社中国語辞典">45c23686533e619591a88c9563d2bd9f</dictionary>
<dictionary name="xinshijirihan">32d1e9b63bfa50c100fa10b5c01bcfd2</dictionary>
<dictionary name="日漢雙解詞典">24e8e5ab864abb4aa3312bb40ce9317d</dictionary>
<dictionary name="《Dr I 9">88aa7a1d6baf45f61b0e85c88d8821de</dictionary>
<dictionary name="(三省堂)超級クラウン日中辞典">e3752504166f5cf60a37838c15ffb6e1</dictionary>
<dictionary name="[其他语种] 《新日汉大辞典》转自金山词霸09版[字數100107](090126)">4b3ccc63bda5eb2b07c93a42e5645752</dictionary>
<dictionary name="新時代日漢辭典">eb8c7ff3f23870e9357f78350cd33409</dictionary>
<dictionary name="小学館日中辞典v3">b4a86d673ae98888463926f0fe0eb93c</dictionary>
<dictionary name="MOJi辞書">06440efa3e7784a4b3b075664ce10aca</dictionary>
<dictionary name="講談社日中">00b7200ae63a27020604b8ed2be51413</dictionary>
<dictionary name="日本语句型辞典">76350919762e82534a7c06cfd235b29c</dictionary>
<dictionary name="《英辞郎日英辞典》">88c823c125f75f4b39fbd6632049c335</dictionary>
<dictionary name="(EDRDG) JMdict [Version 2022.09.20]">ede8d80c3eb1c2bf8d48b32714295b89</dictionary>
<dictionary name="(EDRDG) JMnedict [Version 2022.09.23]">69012e49a9b1bb44848ace9b2ec951d0</dictionary>
<dictionary name="ロングマン和英辞典">d78f5c2a5b4be4c16fdd7d076b2c36e7</dictionary>
<dictionary name="ACE2J">69c86ae87d4c77c3a5313897450438b6</dictionary>
<dictionary name="(小学館)プログレッシブ和英中辞典[第四版]">1037eb14e49cf4d92df113cf7195ad9c</dictionary>
<dictionary name="《英辞郎v86英和辞典》[090412]">03dd5fea11851b84367d56812d9e937b</dictionary>
<dictionary name="ロングマン英和辞典">ec671d028899377bc49e4b985152fac8</dictionary>
<dictionary name="(三省堂)ウィズダム英和辞典[第四版]">2c1f5e5fc32dd0013f7a7b503d8e0fe7</dictionary>
<dictionary name="ACE2">750cf26a0f906131e82c911d30d69817</dictionary>
<dictionary name="(大修館)ジーニアス英和辞典[第六版]">e3b2c615bb4b96b895fd7305e63d4eb8</dictionary>
<dictionary name="(小学館)プログレッシブ英和中辞典[第五版]">cd7d685c29628608ffe8e8412d333c3b</dictionary>
<dictionary name="(研究社)コンパスローズ英和辞典">86b6642d85e0e7dbc751a2da0180cc92</dictionary>
<dictionary name="研究社新英和中辞典第6版">742458ef15221270478f17f6ad101349</dictionary>
<dictionary name="研究社新編英和活用大辞典">d15bab594e3c37d1b9a24a0f0fc826c6</dictionary>
<dictionary name="Tuttle Compact Japanese Dictionary">131dd1a7f052829fa8d5c5d027ecabff</dictionary>
<dictionary name="(三省堂)ウィズダム英和・和英辞典[第二版・第一版]">7209deeae810d9ce419042c3741bbc6b</dictionary>
<dictionary name="《GENUIS日英英日词典》[150574](090529)">0621d7a04e9bd24cb67fbffa9dfdf255</dictionary>
<dictionary name="(小学館)日本大百科全書 [2022.09]">5672141bb28e74f28e750058bfca0956</dictionary>
<dictionary name="(三省堂)スーパー大辞林 [3.0]">c3bba9ed1957c4d6553f24a97adf0202</dictionary>
<dictionary name="(三省堂)国語辞典[第七版]">f26420c7eb1d59c1076d59ccf790a337</dictionary>
<dictionary name="(三省堂)新明解国語辞典[第七版]">8431bdd6831e3f351ad8799dc6d42d73</dictionary>
<dictionary name="(大修館)明鏡国語辞典[第三版]">304a839a02ce8080037171de2de2d336</dictionary>
<dictionary name="(小学館)デジタル大辞泉 [2021.10]">fd22dd8651fc9f5383ca576b5ed6a3cf</dictionary>
<dictionary name="(小学館)例解学習国語辞典[第九版]">c63783324ee9b8fc3309849bd8302845</dictionary>
<dictionary name="(小学館)日本国語大辞典[第二版]">d0e35c7d8c2b432d0a57cdf7941f912a</dictionary>
<dictionary name="(岩波)国語辞典[第六版]">38386df88d70b0c53b53e9b70967bf8e</dictionary>
<dictionary name="(岩波)広辞苑[第七版]">0c31f468bbb31b720212d9a43bb8e0e6</dictionary>
<dictionary name="(旺文社)国語辞典[第十一版]">fb4e6f53358b387157bec73b6cbe4c8c</dictionary>
<dictionary name="(kakijun.com) 漢字書き順辞典">5d65d1ab328015eb653aee967473bd74</dictionary>
<dictionary name="(三省堂)全訳漢辞海[第四版]">36a7df6c1b1d19a4e7df65b79fa98a67</dictionary>
<dictionary name="(大修館)大漢和辞典">0dc93d9e25edee78f80b6c12013b4d9a</dictionary>
<dictionary name="(大修館)新漢語林[第二版]">888d7bb796756084542d33d9c6e0685f</dictionary>
<dictionary name="(学研)漢字源[改訂第五版]">0a5c32cda34c580f09fd0b5fc015e1b3</dictionary>
<dictionary name="(平凡社)字通[普及版]">cb8bfcfc5c40f1be931fb77ea3d87a35</dictionary>
<dictionary name="(角川)新字源[改訂新版]">97295be38a11d07b041a97b8144cb152</dictionary>
<dictionary name="(Lookvise) 日本語俗語辞書">6d08802a63843c048824d298989b7148</dictionary>
<dictionary name="(学研)全訳古語辞典">68ea7837dab9dc82d592a7762c4e8092</dictionary>
<dictionary name="(角川)古語大辞典">23e549f189b1238b16b9c6a2fc2860f0</dictionary>
<dictionary name="(practical-japanese.com) 実用日本語表現辞典">9555ad75cc71bb2fae65d727461d9491</dictionary>
<dictionary name="(研究社)日本語表現活用辞典">57580e9510eff07fbfadf18ab38bfff9</dictionary>
<dictionary name="(Lookvise) 語源由来辞典">51d0aca38b7daa3af4bce0ffb80c9a05</dictionary>
<dictionary name="(Weblio) 類語辞典">77635cf22dadc58222f44f3c4f281c1f</dictionary>
<dictionary name="(小学館)使い方の分かる類語例解辞典[新装版]">f6038dc4737356a34acc5a0c8a194f4a</dictionary>
<dictionary name="(藤本直)類語玉手箱">8dda33ca157805525b1038e6fef3b56c</dictionary>
<dictionary name="(Weblio) 対義語・反対語辞書">43bc82454c7f9962132daee50f10e63b</dictionary>
<dictionary name="(NHK) 日本語発音アクセント辞典">1ff8c16f062c3594bf3a2b7731ed6b3a</dictionary>
<dictionary name="Anime Encyclopedia (Eng-Eng)">9106e7a93950af3f2f2d85639e8c3b52</dictionary>
<dictionary name="English Etymology">9a781282093a2876df59abcc93211a8c</dictionary>
<dictionary name="ETYMOLOGY (En-En)">bf3e39f961140a032bf1ce5c2ccb5f2e</dictionary>
<dictionary name="Etymological dictionary">c04d948475cdcdc9d67bb55c3a3a9f97</dictionary>
<dictionary name="Etymology Online (Eng-Eng)">beff7e27e1524488737863670baf6a02</dictionary>
<dictionary name="Etymology of Grasses (Eng-Eng)">2aad2f4bde96c08dfcd3f74a3c059c47</dictionary>
<dictionary name="English Etymology">c19e2efac3997ad6526397871b17ed64</dictionary>
<dictionary name="Online Etymology DictionaryPLUS">be16270962d0b2bed8c4cdd17c2f3fba</dictionary>
<dictionary name="wpo">5753225f03ba34f569607f3c478f4640</dictionary>
<dictionary name="J. Ayto - Word Origins - 2ed 2005(En-En)">6be5a60aca51661940ab7d1ea6bb3eb0</dictionary>
<dictionary name="Word Origins">fa29e7508eb48174bffbf1136626272e</dictionary>
<dictionary name="etym">2b8fd1ec21f696a7555fc79ddab11c46</dictionary>
<dictionary name="Word Root R_comb5">15dc6c2ceb8fad91d2c5108e769ee975</dictionary>
<dictionary name="Word roots, affixes &amp; Syllables">da98026eab06abf17ac40ed646749a6e</dictionary>
<dictionary name="Word Roots and Prefixes">ecd5393ffa5e194299db60b98d3bbf60</dictionary>
<dictionary name="cppreference.com (en)">be6632714ae524d05bf09baf7c349776</dictionary>
<dictionary name="広辞苑(第七版)">6a6a5c52d6d649f9acc717191cb1f3fd</dictionary>
<mutedDictionaries/>
</dictionaryOrder>
<inactiveDictionaries id="0" name="">
<mutedDictionaries/>
</inactiveDictionaries>
<groups nextId="8">
<group icon="jp.png" id="3" name="日本語" shortcut="Ctrl+G">
<dictionary name="gd-marisa">00824c93f503c5d1680483abdf367948</dictionary>
<dictionary name="広辞苑">7363ba2e34cddead0f19a4a2ec51304e</dictionary>
<dictionary name="広辞苑(第七版)">6a6a5c52d6d649f9acc717191cb1f3fd</dictionary>
<dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary>
<dictionary name="新明解国語辞典 第八版">646c2fbd2278d23caf8bc5b44599f5aa</dictionary>
<dictionary name="語源由来辞典">d344dd2f97338b9e8020b6c88f56bf8a</dictionary>
<dictionary name="大辞林 第四版">41e48e169f3b09f5d08c9821aa0e88af</dictionary>
<dictionary name="日本語NETJLPT文法解説まとめ">5095eebb92b67c625681e279a9ddb956</dictionary>
<dictionary name="(アルク)どんなときどう使う日本語表現文型辞典[新装版]">3104730a87f22520c663a5e19bfb43d7</dictionary>
<dictionary name="(くろしお出版)日本語文型辞典[英語版]">f2d2b922b18e2aca15d9393432e55acf</dictionary>
<dictionary name="(The Japan Times) A Dictionary of Japanese Grammar [Complete Edition]">246877bcee272e7cfeb9be1aba1d90a8</dictionary>
<dictionary name="Gloss Homonyms (Jpn-Jpn)">133436b45f37007263000dd395a5cb19</dictionary>
<dictionary name="日本国語大辞典 第二版">f2f3fca4482e832d2b39e39931f1861e</dictionary>
<dictionary name="国語大辞典">f60affb79583cb692ba2bca6df57444d</dictionary>
<dictionary name="Forvo Japanese">b1e3f422135b95f15c0225ae27692050</dictionary>
<dictionary name="ピクシブ百科事典">71ac9bc6d781652a85341bcf5a7fd63c</dictionary>
<dictionary name="漢語大字典 (2010)">2ada8c44aefb4c1d63d8b1f475790ff4</dictionary>
<dictionary name="電腦漢字字典">e43421f6039418916c33c309fe43f524</dictionary>
<dictionary name="(小学館)日本大百科全書 [2022.09]">5672141bb28e74f28e750058bfca0956</dictionary>
<dictionary name="(三省堂)スーパー大辞林 [3.0]">c3bba9ed1957c4d6553f24a97adf0202</dictionary>
<dictionary name="(三省堂)国語辞典[第七版]">f26420c7eb1d59c1076d59ccf790a337</dictionary>
<dictionary name="(三省堂)新明解国語辞典[第七版]">8431bdd6831e3f351ad8799dc6d42d73</dictionary>
<dictionary name="(小学館)例解学習国語辞典[第九版]">c63783324ee9b8fc3309849bd8302845</dictionary>
<dictionary name="(小学館)日本国語大辞典[第二版]">d0e35c7d8c2b432d0a57cdf7941f912a</dictionary>
<dictionary name="(小学館)デジタル大辞泉 [2021.10]">fd22dd8651fc9f5383ca576b5ed6a3cf</dictionary>
<dictionary name="(大修館)明鏡国語辞典[第三版]">304a839a02ce8080037171de2de2d336</dictionary>
<dictionary name="(岩波)国語辞典[第六版]">38386df88d70b0c53b53e9b70967bf8e</dictionary>
<dictionary name="(岩波)広辞苑[第七版]">0c31f468bbb31b720212d9a43bb8e0e6</dictionary>
<dictionary name="(旺文社)国語辞典[第十一版]">fb4e6f53358b387157bec73b6cbe4c8c</dictionary>
<dictionary name="(三省堂)全訳漢辞海[第四版]">36a7df6c1b1d19a4e7df65b79fa98a67</dictionary>
<dictionary name="(大修館)大漢和辞典">0dc93d9e25edee78f80b6c12013b4d9a</dictionary>
<dictionary name="(学研)漢字源[改訂第五版]">0a5c32cda34c580f09fd0b5fc015e1b3</dictionary>
<dictionary name="(平凡社)字通[普及版]">cb8bfcfc5c40f1be931fb77ea3d87a35</dictionary>
<dictionary name="(大修館)新漢語林[第二版]">888d7bb796756084542d33d9c6e0685f</dictionary>
<dictionary name="(角川)新字源[改訂新版]">97295be38a11d07b041a97b8144cb152</dictionary>
<dictionary name="(Lookvise) 日本語俗語辞書">6d08802a63843c048824d298989b7148</dictionary>
<dictionary name="(学研)全訳古語辞典">68ea7837dab9dc82d592a7762c4e8092</dictionary>
<dictionary name="(角川)古語大辞典">23e549f189b1238b16b9c6a2fc2860f0</dictionary>
<dictionary name="日本大百科全書">aa368196f1aa18a2aa00d7d90eb68d79</dictionary>
<dictionary name="マイペディア98">47723eaa989a140ae761a73ccef0ad74</dictionary>
<dictionary name="世界大百科事典">ab04767f78051ea72534ead167c46a7e</dictionary>
<dictionary name="世界大百科事典第二版">43d3033b997cfb3b86ba41842c70d9bc</dictionary>
<dictionary name="ハイブリッド新辞林">0b7d3b7ab9ce129f8f1468199645b9fa</dictionary>
<dictionary name="新明解国語辞典 第五版">76c29ce6488ef58f6fb59232e1c234f9</dictionary>
<dictionary name="日本語辞典(現代国語、外来語)">09c4d84b2cf5a9a18b6d67066b3c50e4</dictionary>
<dictionary name="明鏡国語辞典">d37bebac02fd8635d456a8e0ebee69f0</dictionary>
<dictionary name="学研国語大辞典">4a9a3d0091a7e6e4452c821484ef265c</dictionary>
<dictionary name="大辞泉">3239558cf13b5ed72adb871aa8a18ead</dictionary>
<dictionary name="国語大辞典">4c09400bf0f4f24f9b0544fb05467b3d</dictionary>
<dictionary name="岩波国語辞典 第六版">30c4224efb876ba21c6f5a1db22909f9</dictionary>
<dictionary name="広辞苑第五版">3bd60af5edb9a139ab4844ce5900d50d</dictionary>
<dictionary name="広辞苑第六版">3ff8c47f8a7b655f54cba4923448074e</dictionary>
<dictionary name="付属資料">6897ed5b058db74e575da6d1775a97bb</dictionary>
<dictionary name="広辞苑 第四版">b10e50122f4642d845f2b1683f9e6fd9</dictionary>
<dictionary name="付属資料">8bdb718ed4030036946d1ca72f55002b</dictionary>
<dictionary name="漢字源">9b5d3509deefc3a8a59332f33dc8ee28</dictionary>
<dictionary name="古語辞典">d874fff5195c853b3c0e4cb28a84ccd9</dictionary>
<dictionary name="三省堂 必携故事ことわざ・慣用句辞典">6555c429b526ea752b4952274822e978</dictionary>
<dictionary name="故事ことわざ辞典">cc16a2a0d9a3a5d51ae501435ab63a6c</dictionary>
<dictionary name="故事ことわざの辞典">db46db216048708cd1117d7c40c44903</dictionary>
<dictionary name="日本語表現活用辞典">226c1a378284bddbab006b58f2bed912</dictionary>
<dictionary name="三省堂 必携類語実用辞典">e56e5730e20de70e2fdbcf3c0c75f6d2</dictionary>
<dictionary name="日本語大シソーラス-類語検索大辞典">1bf304efdcb8df8731229f3ce4e428e8</dictionary>
<dictionary name="類義語使い分け辞典">0706014ea3154a3f5cad140d5514da5b</dictionary>
<dictionary name="理化学辞典第5版">879631ffaa14328a6f61187780c8a3b3</dictionary>
<dictionary name="理化学辞典第5版について">5e8b7121d5340488cf23fb68476608c7</dictionary>
<dictionary name="マグローヒル科学技術用語大辞典-第3版-">5b1575090dc44a089162111a4db83a2a</dictionary>
<dictionary name="ウイルス分類表/生物分類表">8c445ed601d2249b4c825cdfff4e2352</dictionary>
<dictionary name="岩波 生物学辞典 第4版">842aedaaee2e4a98d7fe74bb28c70a3c</dictionary>
<dictionary name="付録">a66d5e4ce689d103ae50d48befb3e620</dictionary>
<dictionary name="最新医学大辞典 第2版">39be06a7dbe05c5fbd3d54ed36a2f1dc</dictionary>
<dictionary name="南山堂医学大辞典第18版EPWING版">be0d59795041d059517abfcae545030d</dictionary>
<dictionary name="建築学用語辞典第2版 日本建築学会">63b4f589b0c48b00cc1800399ff0eb99</dictionary>
<dictionary name="日経パソコン用語事典2006">3fb08bd228ebd85ae4c6f7cc3974f204</dictionary>
<dictionary name="図解による法律用語辞典CD-ROM">ce88287767a8cfd103f2e3a826ed5b18</dictionary>
<dictionary name="このCD-ROMについて">84d3926350ba998c7ae4fc7dea933706</dictionary>
<dictionary name="経済・ビジネス用語辞典 2002年版">fd24df18234ff107f54c03c2eb7a555c</dictionary>
<dictionary name="心理学辞典">8147ebee0008c141c65be596f6a2c730</dictionary>
<dictionary name="文献リスト・付録">47c3848bbf0782065704e992583a588e</dictionary>
<dictionary name="岩波日本史辞典CD‐ROM版">fa941f06f3ce424f92ce2d650c7c12c6</dictionary>
<dictionary name="岩波日本史辞典CD‐ROM版について">521ba4885dd059a0247d6b1fdc511762</dictionary>
<dictionary name="岩波=ケンブリッジ 世界人名辞典">5d95d144ed251ae7ab7d2d103fa9e7ee</dictionary>
<dictionary name="付録">b58f0eafb5ef458de194d566baa1e1d5</dictionary>
<dictionary name="人物レファレンス事典 日本編〔古代~平成〕">dc4f126e01a2fbf4493717b3e2d28a63</dictionary>
<dictionary name="俳句人名辞典-天照">24531cdbc7a749ab1d08f2c1a2e27df4</dictionary>
<dictionary name="データパル情報編">823ba1fbcdd1320f539ff73e47bbac6d</dictionary>
<dictionary name="データパル用語編">68d823d00a85dbee59c610988a68aa21</dictionary>
<dictionary name="データパル最新編">137031dc413d3fee4efb5364436c1f06</dictionary>
<dictionary name="ニッポン風俗・芸能グラフィティ">ca1d5c96cfdd27c2d09c263a086fcee0</dictionary>
<dictionary name="現代用語の基礎知識1997年版">9ce7acb57ab4a93560ef3c21b2548958</dictionary>
<dictionary name="現代用語の基礎知識2000年版">a11a58202ef444f1440d38570f513e38</dictionary>
<dictionary name="現代用語の基礎知識2003年版">4cf2c0e0d583a092e87369015427e27d</dictionary>
<dictionary name="使い方・編集部から">7428ae020e19a7a82a5eb26aa0687a3c</dictionary>
<dictionary name="手紙実用文辞典">80bf160f10f4650ebbd5a2c01914b445</dictionary>
<dictionary name="ジーニアス英和〈第3版〉・和英〈第2版〉辞典">52a4cc2fb1a0640ae18acf15bb3f36b7</dictionary>
<dictionary name="ビジネス技術実用英語大辞典">f3062ce86397e447199206d4bd3e8e7a</dictionary>
<dictionary name="用例ファイル">146a0d00f75dcf6e0c4b1d92aad398bd</dictionary>
<dictionary name="ビジネス技術実用英語大辞典第4版">a74598d8d011a692124f4930529c5f00</dictionary>
<dictionary name="用例ファイル">0af974c012f64c3ad9e7bf0ec6892f2d</dictionary>
<dictionary name="CD-科学技術45万語対訳辞典 英和・和英">cf896687b7d7662199c63e055c9f8201</dictionary>
<dictionary name="25万語医学用語大辞典 英和/和英">047f16cc5bc5812cd0dad9ebccc8bb42</dictionary>
<dictionary name="コンピュータ用語辞典第3版">6dc733a38cada80e3735ac8f325d0aad</dictionary>
<dictionary name="用例・文例集">e0ef5582bc9d9f64613d9bc44f862fa6</dictionary>
<dictionary name="コンピュータ用語辞典第2版">1badd80dadef90f3cb1da0892db414b4</dictionary>
<dictionary name="小学館2">d41561b0db7f60e344c8fdd0ec62eda7</dictionary>
<dictionary name="中国語新語ビジネス用語辞典">2cd6ade57d818c51351adc4d399f6a32</dictionary>
<dictionary name="ジーニアス英和大辞典">1ac2464ef33d31ddfaac5db525a15f2e</dictionary>
<dictionary name="三修社 科学技術英独日辞典">d25231514b681b49c39d59c26ff3c0a1</dictionary>
<dictionary name="〔理・工・農・医・社会〕自然科学系英和大辞典Version3">1a273954b9caccaddef4c12797f5c67d</dictionary>
<dictionary name="日外35万語科学技術用語大辞典">da25f08229b565857d6f66217721ac1b</dictionary>
<dictionary name="中日大辞典(大修館)">e687e18e0422aeb3767e6b1d6f7f33e4</dictionary>
<dictionary name="三修社 和英辞典">da008cae049016579164b5c82273718f</dictionary>
<dictionary name="学研 パーソナル和英辞典">27ffb7fdb1d580f4bd750c86bba22320</dictionary>
<dictionary name="NEW斎藤和英大辞典">f08e58f48686a2c6da895e5f85bf0380</dictionary>
<dictionary name="用例ファイル">6aa34e6a3b560d9b49c11829e7df54d8</dictionary>
<dictionary name="ロイヤル英文法改訂新版">18b7db37e9f7a7dc203ac9a15825ed8a</dictionary>
<dictionary name="日漢雙解辭典">fdc0288fded07a57ce4cd752c5f782fb</dictionary>
<dictionary name="講談社日中">11c97cac9f47c4535e8673900c554efe</dictionary>
<dictionary name="岩波国語辞典">76920f4e8caf20bf370acb7fea5fc232</dictionary>
<dictionary name="漢検漢字辞典 第二版">439501f369c57bb5d3f0933b088cb23f</dictionary>
<dictionary name="近畿日本語アクセント辞典">7621ab8dbcc868868042cbbd3a012938</dictionary>
<dictionary name="日本語非辞書形辞典">ab6643336366d243d73d1ce4b7fd8b8d</dictionary>
<dictionary name="gd-images">6dac50cdfb3265d22b966313a1d228b7</dictionary>
<dictionary name="(EDRDG) JMnedict [Version 2022.09.23]">69012e49a9b1bb44848ace9b2ec951d0</dictionary>
<dictionary name="(Weblio) 日本語活用形辞書">727597d1015ede1f019990d436029401</dictionary>
<dictionary name="康熙字典2020">df57c33b50fc1616bd9760f202d931dc</dictionary>
<dictionary name="字源 (2012)">7d1e3222760093eb3b23e9be3132db7e</dictionary>
<dictionary name="說文解字(綜合版)">c925dba17d4c08afef46d3a9babfe6aa</dictionary>
<dictionary name="漢字音形義字典20191017">f046ad91797591ce8423c7fec8244a48</dictionary>
<dictionary name="(practical-japanese.com) 実用日本語表現辞典">9555ad75cc71bb2fae65d727461d9491</dictionary>
<dictionary name="(研究社)日本語表現活用辞典">57580e9510eff07fbfadf18ab38bfff9</dictionary>
<dictionary name="(Weblio) 類語辞典">77635cf22dadc58222f44f3c4f281c1f</dictionary>
<dictionary name="(Lookvise) 語源由来辞典">51d0aca38b7daa3af4bce0ffb80c9a05</dictionary>
<dictionary name="(小学館)使い方の分かる類語例解辞典[新装版]">f6038dc4737356a34acc5a0c8a194f4a</dictionary>
<dictionary name="(藤本直)類語玉手箱">8dda33ca157805525b1038e6fef3b56c</dictionary>
<dictionary name="(Weblio) 対義語・反対語辞書">43bc82454c7f9962132daee50f10e63b</dictionary>
<dictionary name="Anime Encyclopedia (Eng-Eng)">9106e7a93950af3f2f2d85639e8c3b52</dictionary>
<mutedDictionaries>
<mutedDictionary>6dac50cdfb3265d22b966313a1d228b7</mutedDictionary>
</mutedDictionaries>
</group>
<group id="7" name="english etymology">
<dictionary name="Word Roots and Prefixes">ecd5393ffa5e194299db60b98d3bbf60</dictionary>
<dictionary name="English Etymology">9a781282093a2876df59abcc93211a8c</dictionary>
<dictionary name="ETYMOLOGY (En-En)">bf3e39f961140a032bf1ce5c2ccb5f2e</dictionary>
<dictionary name="Etymological dictionary">c04d948475cdcdc9d67bb55c3a3a9f97</dictionary>
<dictionary name="Etymology Online (Eng-Eng)">beff7e27e1524488737863670baf6a02</dictionary>
<dictionary name="Etymology of Grasses (Eng-Eng)">2aad2f4bde96c08dfcd3f74a3c059c47</dictionary>
<dictionary name="English Etymology">c19e2efac3997ad6526397871b17ed64</dictionary>
<dictionary name="Online Etymology DictionaryPLUS">be16270962d0b2bed8c4cdd17c2f3fba</dictionary>
<dictionary name="wpo">5753225f03ba34f569607f3c478f4640</dictionary>
<dictionary name="J. Ayto - Word Origins - 2ed 2005(En-En)">6be5a60aca51661940ab7d1ea6bb3eb0</dictionary>
<dictionary name="Word Origins">fa29e7508eb48174bffbf1136626272e</dictionary>
<dictionary name="etym">2b8fd1ec21f696a7555fc79ddab11c46</dictionary>
<dictionary name="Word Root R_comb5">15dc6c2ceb8fad91d2c5108e769ee975</dictionary>
<dictionary name="Word roots, affixes &amp; Syllables">da98026eab06abf17ac40ed646749a6e</dictionary>
<mutedDictionaries/>
</group>
<group id="1" name="jp-en" shortcut="Ctrl+D">
<dictionary name="gd-marisa">00824c93f503c5d1680483abdf367948</dictionary>
<dictionary name="NHK日本語発音アクセント辞書">968c3a374ef50d74e019560ae8f69488</dictionary>
<dictionary name="JMdict_Portuguese">ec855a5ed10fb99483666514453d9bac</dictionary>
<dictionary name="Forvo Japanese">b1e3f422135b95f15c0225ae27692050</dictionary>
<dictionary name="gd-images">6dac50cdfb3265d22b966313a1d228b7</dictionary>
<dictionary name="JMdict">5a560bd16b0c6cbd714faf0c388ae098</dictionary>
<dictionary name="strokeorder">90259fffdd76764f7431170eeb89a0f9</dictionary>
<dictionary name="handwritten">27ea5cfecf6d68fdf7dcbfd8df6f06f7</dictionary>
<dictionary name="Jitendex [2023-12-28]">156e4c2d5407db4c7dc6af55617b6d87</dictionary>
<dictionary name="JMdict">23bf0ce06d2b68a076557b4c34cf1a74</dictionary>
<mutedDictionaries>
<mutedDictionary>27ea5cfecf6d68fdf7dcbfd8df6f06f7</mutedDictionary>
<mutedDictionary>6dac50cdfb3265d22b966313a1d228b7</mutedDictionary>
</mutedDictionaries>
</group>
<group icon="england.png" id="6" name="synonyms">
<dictionary name="Rodale's Synonym Finder (eng-eng)">8dd0aa4f4961c07eba109e6083f6e92e</dictionary>
<dictionary name="Synonyms and Antonyms (S. Fallows) (Eng-Eng)">e2ecb75e6e785162b0aa2f3a94244031</dictionary>
<dictionary name="USE THE RIGHT WORD">9f51b6ab7dbb42d2d9e0f6645885f43b</dictionary>
<dictionary name="Fernald Synonyms">0484aa1d2405cbf4084b6a0f2d758f38</dictionary>
<dictionary name="Easier English Basic Synonyms (Eng-Eng)">16727ea57afd44654955017259c465ee</dictionary>
<dictionary name="RD's Modern Guide to Synonyms">5275312850f1068144272ce22fa53132</dictionary>
<dictionary name="Explanatory synonyms (Eng-Eng)">297372fa6e2373d7f55bf155952a9c83</dictionary>
<dictionary name="Guide to Synonyms and Related Words (Eng-Eng)">19b8dc1e55adffdf3553b5b45ef00517</dictionary>
<dictionary name="A Complete Dictionary of Synonyms and Antonyms">4df26ca9d2ac13f6b427bb2b58711382</dictionary>
<dictionary name="Crabb's English Synonyms">3e7558b58a64e368cd421422435407b2</dictionary>
<dictionary name="Easier English Basic Synonym Dictionary">a117e62d0161f73e5ccd2692da72d554</dictionary>
<dictionary name="Synonyms&amp;Antonyms (En-En)">b072a05ab5a78a388aa6db2ae5131550</dictionary>
<dictionary name="English-Synonyms-and-Antonyms">d5132c7e44e6ba65460e66312198cc4f</dictionary>
<dictionary name="弗纳尔德近反义词词典">b223402d203c20a980efeab2fd3594cc</dictionary>
<dictionary name="早川同义词词典">a857b5b8a009671eec93d5545a8633a2</dictionary>
<dictionary name="English Etymology">7b6de7954354ed1558475674685d2139</dictionary>
<dictionary name="Urban Dictionary 2023.12">accb179c9ae61c64e574ae3907c3e3e4</dictionary>
<mutedDictionaries/>
</group>
<group id="4" name="math">
<dictionary name="[英-英] Concise Encyclopedia of Mathematics">09190d717c47ac453bcd67489a622a86</dictionary>
<mutedDictionaries/>
</group>
<group icon="br.png" id="2" name="Portuguese">
<dictionary name="Enciclopédia da Bíblia (Por-Por)">f7ffa4317e18421ad132877637b7982e</dictionary>
<dictionary name="Pensadores Cristaos (Por-Por)">bf9513ddc9e38c466d4898319079e255</dictionary>
<dictionary name="Dicionário da Bíblia de Almeida (Por-Por)">0c6cbfc1abfb5cfaae79e9bf792d7c51</dictionary>
<dictionary name="Michaelis Moderno Dic. da Língua Portuguesa (Por-Por)">29cc4b1fae1ee39411c691ecd1c00eb5</dictionary>
<dictionary name="Dicionário Aurélio [PT-PT]">9f2d889846365f17d4d1f2c690996416</dictionary>
<dictionary name="Dicionário de História (Por-Por)">4452336dedfdbaa7bed0283317b85353</dictionary>
<dictionary name="Logística (Por-Por)">aea83409a28a5830844e18d2bf7b3605</dictionary>
<dictionary name="Nomes deverbais (Por-Por)">55a40fa62c52d35d1da84e22b482cad7</dictionary>
<dictionary name="Teatro (Por-Por)">00a9ac5f0ee827e1556f14cf47e19d3d</dictionary>
<dictionary name="Dicionário Houaiss [PT-PT]">ef768b427ba5d11925e7bfaa9c7e1d05</dictionary>
<dictionary name="Dicionário Informal [PT-PT]">4aaedc0ae250b42bc8aaf2d735091565</dictionary>
<dictionary name="Dicionário de insultos esdrúxulos (Por-Por)">c516fc785c0241b43ed13e4e1e1caabc</dictionary>
<dictionary name="Houaiss (Pt-Pt)">b93665f7b1fc5dbd46b740d434c9fdba</dictionary>
<dictionary name="Dicionário de insultos esdrúxulos (Por-Por)">a8c7d6e4e614d8ba5afff44b2000a133</dictionary>
<dictionary name="Michaelis Moderno Dicionário da Língua Portuguesa [PT-PT]">e138d3961665c48cefb39a45302bc83c</dictionary>
<dictionary name="Abreviaturas Por-Por">e9b0a26a8ad6cb82e7b8e6fc3158da03</dictionary>
<dictionary name="Dicionário Priberam da Língua Portuguesa (Por-Por)">7d39d07745b76d69665c09cbdb6e9d6e</dictionary>
<dictionary name="Dicionário Informal (Por-Por)">a57af2b409324b63f8a480cacc7be75a</dictionary>
<dictionary name="Erros Frequentes Por-Por">86434219cff9e8d19a088608607c9c06</dictionary>
<dictionary name="Provérbios Brasileiras (Por-Por)">c5cd1defbdf56b37788042d597d85586</dictionary>
<dictionary name="Significados de Nomes (Por-Por)">bc51b1f9b816c316eae12fdacf3e4ed8</dictionary>
<dictionary name="Verbix Portuguese Verb Conjugations">66332bb70b8da80bf54cd4a0bed8eab6</dictionary>
<dictionary name="APDP Diabetes">2e03869cdf0661fedb9c62a7c18f3d3c</dictionary>
<dictionary name="artGloss">1ada2fe066091f9a4359183fa853a82c</dictionary>
<dictionary name="Dicionário Aurélio da Língua Portuguesa">2efba112cbf507a888ddacac197fc6e8</dictionary>
<dictionary name="Dicionário BB Seguro Auto">03d6d969418271df751af401bf2761db</dictionary>
<dictionary name="Biologia Celular e Molecular">21bcd9dafb548fcade20f49cbc297ebc</dictionary>
<dictionary name="Budismo">0aafbadc4551593b53f9b9725abb0a16</dictionary>
<dictionary name="DharmaNet">28ce5ef209eefa1d09867dcfe56f68b9</dictionary>
<dictionary name="Dicionário de Moda">8c6bd976fd334b801e6ed183d62ca6af</dictionary>
<dictionary name="Dicionário dos Sonhos">b497d4ab65170af150b22df540d0a2a2</dictionary>
<dictionary name="Dicionário Quenya-Português (Brasil) v.1.0">2cfdf122338dff2daf27afee627ef8bd</dictionary>
<dictionary name="Ervas Aromaticas">59b128e529222bb6befc422142585545</dictionary>
<dictionary name="EU Portuguese Glossary">92c8016b345793461ad75791a86a3d2f</dictionary>
<dictionary name="Eurojargon - português">ce47834eb965547d439f161c55c7f67f</dictionary>
<dictionary name="Gauches-Portugues">710eab1b84747b8a411884c2c57f9dbb</dictionary>
<dictionary name="Glossarium ®">885330a052380572d9dcbfd488e9e580</dictionary>
<dictionary name="Nomes - Significados em Português">1798572e78293506e7a7fee523dd6b5c</dictionary>
<dictionary name="WebDic">9c41547647e9443116cff925d644c8c6</dictionary>
<dictionary name="Portuguese.csv">0af6e512737d6c694ffda901b81ea20b</dictionary>
<dictionary name="Verbix Portuguese Verb Conjugations">c1236cd9aae363b99b4e661ecbf8e58c</dictionary>
<dictionary name="Amazônia colonial (Por-Por)">418c3e0efd2f32ed5cf2a6c341f8cc01</dictionary>
<dictionary name="Dicionário Aulete (Por-Por)">e4485d143c300887097750993aa9d7da</dictionary>
<dictionary name="Dicionário do Nordeste by Fred Navarro (Por-Por)">234f85adf2bddce704e6871b63bd125b</dictionary>
<dictionary name="Dicionário da regência nominal Luft (Por-Por)">eea2f519124622e6fe36300893122aa2</dictionary>
<dictionary name="Dicionário de dificuldades da língua portuguesa Cegalla (Por-Por)">0322a497dc6f9b186e481792ea2f7ca3</dictionary>
<dictionary name="Dicionário de eufemismos da língua portuguesa (Por-Por)">3d7fe64f59132114165d39e54d7f1224</dictionary>
<dictionary name="Estrangeirismos (Por-Por)">459ec66d59cab903ab6c014f39a356ff</dictionary>
<dictionary name="Dicionário Etimológico (Antenor Nascentes) (Por-Por)">c8969efad9e74f6ae3dc50de12a571b1</dictionary>
<dictionary name="Explicativo Português (Por-Por)">2454fc825c8ec79d448bcec0fecabd1c</dictionary>
<dictionary name="Grande Dicionário da Lingua Portugesa Porto Editora (Por-Por)">f9aca7a51be5e3082899c2c88a5fa467</dictionary>
<dictionary name="Idioma Português • ESS (Por-Por)">d0619669dd5186af6aef63b74f16fa9d</dictionary>
<dictionary name="Onomasiológia de Expressões Idiomáticas Brasileiras (Por-Por)">bbc68845c1e47c86efd0a93296f452eb</dictionary>
<dictionary name="Múltiplo Sentido (Por-Por)">101edc426d68a2343656c2c4676c101f</dictionary>
<dictionary name="Novo Dicionário de Dúvidas da Língua Portuguesa by Evanildo Bechara (Por-Por)">323326cfb9904222ae062015dc3ce4c0</dictionary>
<dictionary name="Dicionário de Português • SD (Por-Por)">383ac1096fe034bba3029634a6dcb455</dictionary>
<dictionary name="Provérbios e Máximas (Por-Por)">164c42c7d50f31e445b1552dbb5f02bc</dictionary>
<dictionary name="Dicionário de Sinônimos (Por-Por)">5dc88fafe05b9696682f8fa6fe7fbf1c</dictionary>
<dictionary name="Sinônimos (Por-Por)">1fadaa784421b497436cd5ab50ff91fb</dictionary>
<dictionary name="Sinónimos•Antónimos (PortoEd) (Por-Por)">eafb82c84bad2a854f9b9658b35f23eb</dictionary>
<dictionary name="Portuguese Synonyms • SL (Por-Por)">3ab498f8dd34af4b66a0cff5fbdea866</dictionary>
<dictionary name="Dicionário aberto de calão e expressões idiomáticas (Por-Por)">69b47be2470f1b77a2048d664ef777ba</dictionary>
<dictionary name="《Dicionário Priberam da Língua Portuguesa》">394cf7eae9a4046fefa1721d9750ac40</dictionary>
<dictionary name="《Dicionário Universitário Português-Chinês com Sinônimos》">301ba3d3d6dbca257e6b701238e1e1f6</dictionary>
<mutedDictionaries/>
</group>
<group id="5" name="書道">
<dictionary name="gd-marisa">00824c93f503c5d1680483abdf367948</dictionary>
<dictionary name="(kakijun.com) 漢字書き順辞典">5d65d1ab328015eb653aee967473bd74</dictionary>
<dictionary name="(大修館)新漢語林[第二版]">888d7bb796756084542d33d9c6e0685f</dictionary>
<dictionary name="书法字典(词典网)202106">9d6cafda168708e7330eb9f936cd08b9</dictionary>
<dictionary name="古今书法欣赏">67dacc40639f15c1a9064a4c3924e768</dictionary>
<dictionary name="書法字典(阿彌陀佛)">8592dc5461e592f6e7b21210507c71d5</dictionary>
<dictionary name="篆刻字典(吉林文史)">c5e660551a5aa09c39bccd22efcd33f4</dictionary>
<dictionary name="篆刻字典(吉林文史)">a653c558afc8656ade4867dabb11fe23</dictionary>
<dictionary name="篆刻字典(篆刻之家)">2fece8563645b6e84d4eaff99538ce6c</dictionary>
<dictionary name="篆刻字典(词典网)202106">0a98ab8c8af8ee7add8c7c2188eab136</dictionary>
<dictionary name="篆刻字典(词典网)202106">bf6dc5853179da9462dfb48e3f2157c4</dictionary>
<dictionary name="篆字印彙">2e19989a059f306e37ad2af41c00f001</dictionary>
<dictionary name="篆字印彙">dedcc77d6724124a34bd121c13601f12</dictionary>
<dictionary name="篆字印彙">04ddceca24590030ee166b154a2873e4</dictionary>
<dictionary name="篆書异體字字典(切圖版)">51586f8e48722c3dab296ae05a1e85b6</dictionary>
<dictionary name="篆書异體字字典">1c2caf45ae4387068cce7e1e5afc90c3</dictionary>
<dictionary name="大漢和辭典(修訂版)">9dbe76f02d379e39ce7382320d7c48e4</dictionary>
<dictionary name="甲骨文字典">96a1d4b781dc3befed561a76522813cc</dictionary>
<dictionary name="甲骨文字诂林">02204a83f8428db2a9674eda41eaaf3d</dictionary>
<mutedDictionaries/>
</group>
</groups>
<hunspell dictionariesPath=""/>
<transliteration>
<enableRussianTransliteration>0</enableRussianTransliteration>
<enableGermanTransliteration>0</enableGermanTransliteration>
<enableGreekTransliteration>0</enableGreekTransliteration>
<enableBelarusianTransliteration>0</enableBelarusianTransliteration>
<chinese>
<enable>0</enable>
<enableSCToTWConversion>1</enableSCToTWConversion>
<enableSCToHKConversion>1</enableSCToHKConversion>
<enableTCToSCConversion>1</enableTCToSCConversion>
</chinese>
<romaji>
<enable>0</enable>
<enableHepburn>1</enableHepburn>
<enableNihonShiki>0</enableNihonShiki>
<enableKunreiShiki>0</enableKunreiShiki>
<enableHiragana>1</enableHiragana>
<enableKatakana>1</enableKatakana>
</romaji>
<customtrans>
<enable>0</enable>
<context></context>
</customtrans>
</transliteration>
<lingua>
<enable>1</enable>
<languageCodes></languageCodes>
</lingua>
<forvo>
<enable>0</enable>
<apiKey></apiKey>
<languageCodes></languageCodes>
</forvo>
<mediawikis>
<mediawiki enabled="0" icon="" id="ae6f89aac7151829681b85f035d54e48" lang="" name="English Wikipedia" url="https://en.wikipedia.org/w"/>
<mediawiki enabled="0" icon="" id="affcf9678e7bfe701c9b071f97eccba3" lang="" name="English Wiktionary" url="https://en.wiktionary.org/w"/>
<mediawiki enabled="0" icon="" id="8e0c1c2b6821dab8bdba8eb869ca7176" lang="" name="Russian Wikipedia" url="https://ru.wikipedia.org/w"/>
<mediawiki enabled="0" icon="" id="b09947600ae3902654f8ad4567ae8567" lang="" name="Russian Wiktionary" url="https://ru.wiktionary.org/w"/>
<mediawiki enabled="0" icon="" id="a8a66331a1242ca2aeb0b4aed361c41d" lang="" name="German Wikipedia" url="https://de.wikipedia.org/w"/>
<mediawiki enabled="0" icon="" id="21c64bca5ec10ba17ff19f3066bc962a" lang="" name="German Wiktionary" url="https://de.wiktionary.org/w"/>
<mediawiki enabled="0" icon="" id="96957cb2ad73a20c7a1d561fc83c253a" lang="" name="Portuguese Wikipedia" url="https://pt.wikipedia.org/w"/>
<mediawiki enabled="0" icon="" id="ed4c3929196afdd93cc08b9a903aad6a" lang="" name="Portuguese Wiktionary" url="https://pt.wiktionary.org/w"/>
<mediawiki enabled="0" icon="" id="f3b4ec8531e52ddf5b10d21e4577a7a2" lang="" name="Greek Wikipedia" url="https://el.wikipedia.org/w"/>
<mediawiki enabled="0" icon="" id="5d45232075d06e002dea72fe3e137da1" lang="" name="Greek Wiktionary" url="https://el.wiktionary.org/w"/>
<mediawiki enabled="0" icon="" id="c015d60c4949ad75b5b7069c2ff6dc2c" lang="zh-hant" name="traditional Chinese Wikipedia" url="https://zh.wikipedia.org/w"/>
<mediawiki enabled="0" icon="" id="d50828ad6e115bc9d3421b6821543108" lang="zh-hant" name="traditional Chinese Wiktionary" url="https://zh.wiktionary.org/w"/>
<mediawiki enabled="0" icon="" id="438b17b48cbda1a22d317fea37ec3110" lang="zh-hans" name="Simplified Chinese Wikipedia" url="https://zh.wikipedia.org/w"/>
<mediawiki enabled="0" icon="" id="b68b9fb71b5a8c766cc7a5ea8237fc6b" lang="zh-hans" name="Simplified Chinese Wiktionary" url="https://zh.wiktionary.org/w"/>
</mediawikis>
<websites>
<website enabled="0" icon="" id="b88cb2898e634c6638df618528284c2d" inside_iframe="1" name="Google En-En (Oxford)" url="https://www.google.com/search?q=define:%GDWORD%&amp;hl=en"/>
<website enabled="0" icon="" id="f376365a0de651fd7505e7e5e683aa45" inside_iframe="1" name="Urban Dictionary" url="https://www.urbandictionary.com/define.php?term=%GDWORD%"/>
<website enabled="0" icon="" id="324ca0306187df7511b26d3847f4b07c" inside_iframe="1" name="Multitran (En-Ru)" url="https://www.multitran.com/m.exe?s=%GDWORD%&amp;l1=1&amp;l2=2"/>
<website enabled="0" icon="" id="379a0ce02a34747d642cb0d7de1b2882" inside_iframe="1" name="Merriam-Webster (En)" url="https://www.merriam-webster.com/dictionary/%GDWORD%"/>
</websites>
<dictservers>
<server databases="wn" enabled="1" icon="" id="6eb6f7a1df225e1cfdcd4cf8e9e4771b" name="dict.org" strategies="" url="dict://dict.org"/>
</dictservers>
<programs>
<program commandLine="festival --tts" enabled="0" icon="" id="428b4c2b905ef568a43d9a16f59559b0" name="Festival" type="0"/>
<program commandLine="espeak %GDWORD%" enabled="0" icon="" id="2cf8b3a60f27e1ac812de0b57c148340" name="Espeak" type="0"/>
<program commandLine="man -a --html=/bin/cat %GDWORD%" enabled="0" icon="" id="4f898f7582596cea518c6b0bfdceb8b3" name="Manpages" type="2"/>
<program commandLine="gd-tools marisa --word %GDWORD% --sentence %GDSEARCH%" enabled="1" icon="" id="00824c93f503c5d1680483abdf367948" name="gd-marisa" type="2"/>
<program commandLine="gd-tools images --word %GDWORD% " enabled="1" icon="" id="6dac50cdfb3265d22b966313a1d228b7" name="gd-images" type="2"/>
<program commandLine="gd-tools handwritten --word %GDWORD% --sentence %GDSEARCH%" enabled="1" icon="" id="27ea5cfecf6d68fdf7dcbfd8df6f06f7" name="handwritten" type="2"/>
<program commandLine="gd-tools strokeorder --word %GDWORD% --font-size 10rem" enabled="1" icon="" id="90259fffdd76764f7431170eeb89a0f9" name="strokeorder" type="2"/>
</programs>
<voiceEngines/>
<mutedDictionaries/>
<popupMutedDictionaries/>
<preferences>
<interfaceLanguage></interfaceLanguage>
<interfaceFont>Motomachi</interfaceFont>
<customFonts monospace="DejaVu Sans Mono" sans-serif="Motomachi" serif="DejaVu Serif" standard="DejaVu Serif"/>
<displayStyle></displayStyle>
<interfaceStyle>Fusion</interfaceStyle>
<newTabsOpenAfterCurrentOne>0</newTabsOpenAfterCurrentOne>
<newTabsOpenInBackground>1</newTabsOpenInBackground>
<hideSingleTab>0</hideSingleTab>
<mruTabOrder>0</mruTabOrder>
<hideMenubar>0</hideMenubar>
<enableTrayIcon>1</enableTrayIcon>
<startToTray>0</startToTray>
<closeToTray>1</closeToTray>
<autoStart>0</autoStart>
<doubleClickTranslates>1</doubleClickTranslates>
<selectWordBySingleClick>0</selectWordBySingleClick>
<autoScrollToTargetArticle>1</autoScrollToTargetArticle>
<escKeyHidesMainWindow>0</escKeyHidesMainWindow>
<darkMode>0</darkMode>
<darkReaderMode>0</darkReaderMode>
<zoomFactor>1</zoomFactor>
<helpZoomFactor>1</helpZoomFactor>
<wordsZoomLevel>0</wordsZoomLevel>
<enableMainWindowHotkey>1</enableMainWindowHotkey>
<mainWindowHotkey>Ctrl+F11, F11</mainWindowHotkey>
<enableClipboardHotkey>1</enableClipboardHotkey>
<clipboardHotkey>Ctrl+C, C</clipboardHotkey>
<startWithScanPopupOn>1</startWithScanPopupOn>
<enableScanPopupModifiers>0</enableScanPopupModifiers>
<scanPopupModifiers>0</scanPopupModifiers>
<ignoreOwnClipboardChanges>1</ignoreOwnClipboardChanges>
<scanToMainWindow>1</scanToMainWindow>
<ignoreDiacritics>0</ignoreDiacritics>
<ignorePunctuation>1</ignorePunctuation>
<sessionCollapse>0</sessionCollapse>
<trackClipboardScan>1</trackClipboardScan>
<trackSelectionScan>1</trackSelectionScan>
<showScanFlag>0</showScanFlag>
<selectionChangeDelayTimer>500</selectionChangeDelayTimer>
<pronounceOnLoadMain>0</pronounceOnLoadMain>
<pronounceOnLoadPopup>0</pronounceOnLoadPopup>
<useInternalPlayer>0</useInternalPlayer>
<internalPlayerBackend>FFmpeg</internalPlayerBackend>
<audioPlaybackProgram>mpv</audioPlaybackProgram>
<alwaysOnTop>0</alwaysOnTop>
<searchInDock>0</searchInDock>
<historyStoreInterval>0</historyStoreInterval>
<favoritesStoreInterval>1</favoritesStoreInterval>
<confirmFavoritesDeletion>1</confirmFavoritesDeletion>
<proxyserver enabled="0" useSystemProxy="0">
<type>0</type>
<host></host>
<port>3128</port>
<user></user>
<password></password>
<systemProxyUser></systemProxyUser>
<systemProxyPassword></systemProxyPassword>
</proxyserver>
<ankiConnectServer enabled="0">
<host>127.0.0.1</host>
<port>8765</port>
<deck></deck>
<model></model>
<text>selected_text</text>
<word>word</word>
<sentence>marked_sentence</sentence>
</ankiConnectServer>
<checkForNewReleases>1</checkForNewReleases>
<disallowContentFromOtherSites>0</disallowContentFromOtherSites>
<hideGoldenDictHeader>0</hideGoldenDictHeader>
<maxNetworkCacheSize>50</maxNetworkCacheSize>
<clearNetworkCacheOnExit>1</clearNetworkCacheOnExit>
<removeInvalidIndexOnExit>0</removeInvalidIndexOnExit>
<maxStringsInHistory>500</maxStringsInHistory>
<storeHistory>1</storeHistory>
<alwaysExpandOptionalParts>1</alwaysExpandOptionalParts>
<addonStyle></addonStyle>
<collapseBigArticles>0</collapseBigArticles>
<articleSizeLimit>2000</articleSizeLimit>
<limitInputPhraseLength>0</limitInputPhraseLength>
<inputPhraseLengthLimit>1000</inputPhraseLengthLimit>
<maxDictionaryRefsInContextMenu>20</maxDictionaryRefsInContextMenu>
<synonymSearchEnabled>1</synonymSearchEnabled>
<stripClipboard>0</stripClipboard>
<raiseWindowOnSearch>0</raiseWindowOnSearch>
<fullTextSearch>
<searchMode>0</searchMode>
<dialogGeometry></dialogGeometry>
<disabledTypes></disabledTypes>
<enabled>0</enabled>
<enablePosition>0</enablePosition>
<maxDictionarySize>0</maxDictionarySize>
<parallelThreads>32</parallelThreads>
</fullTextSearch>
</preferences>
<lastMainGroupId>5</lastMainGroupId>
<lastPopupGroupId>0</lastPopupGroupId>
<popupWindowState></popupWindowState>
<popupWindowGeometry></popupWindowGeometry>
<pinPopupWindow>0</pinPopupWindow>
<popupWindowAlwaysOnTop>0</popupWindowAlwaysOnTop>
<mainWindowState></mainWindowState>
<mainWindowGeometry></mainWindowGeometry>
<dictInfoGeometry>AdnQywADAAAAAAVYAAABjgAAB/EAAAMZAAAFWQAAAY8AAAfwAAADGAAAAAEAAAAAAp4AAAVZAAABjwAAB/AAAAMY</dictInfoGeometry>
<inspectorGeometry></inspectorGeometry>
<dictionariesDialogGeometry>AdnQywADAAAAAAVYAAABQwAACEsAAAM5AAAFWQAAAUQAAAhKAAADOAAAAAEAAAAAAp4AAAVZAAABRAAACEoAAAM4</dictionariesDialogGeometry>
<timeForNewReleaseCheck></timeForNewReleaseCheck>
<skippedRelease></skippedRelease>
<showingDictBarNames>0</showingDictBarNames>
<usingSmallIconsInToolbars>0</usingSmallIconsInToolbars>
<editDictionaryCommandLine></editDictionaryCommandLine>
<maxHeadwordSize>256</maxHeadwordSize>
<maxHeadwordsToExpand>0</maxHeadwordsToExpand>
<headwordsDialog>
<searchMode>0</searchMode>
<matchCase>0</matchCase>
<autoApply>0</autoApply>
<headwordsExportPath></headwordsExportPath>
<headwordsDialogGeometry>AdnQywADAAAAAAW/AAABSQAAB3oAAANgAAAFwAAAAUoAAAd5AAADXwAAAAEAAAAAAp4AAAXAAAABSgAAB3kAAANf</headwordsDialogGeometry>
</headwordsDialog>
</config>

View File

@ -4,4 +4,19 @@
<headword>悔しい</headword> <headword>悔しい</headword>
<headword>reproductible</headword> <headword>reproductible</headword>
<headword>転生したら剣でした</headword> <headword>転生したら剣でした</headword>
<headword>違和感</headword>
<headword>ゆっくり</headword>
<headword>議</headword>
<headword>地獄の苦しみ</headword>
<headword>納得が行く</headword>
<headword>意識</headword>
<headword>猿猴捉月。</headword>
<headword>煽情的</headword>
<headword>道徳</headword>
<headword>うらめ</headword>
<headword>パコる</headword>
<headword>かかりきり</headword>
<headword>掛りっ切り</headword>
<headword>気管支喘息</headword>
<headword>ちいっと</headword>
</root> </root>

13568
.config/goldendict/gd_log.txt Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,24 @@
/* Add padding and a horizontal bar between each entry for the sake of readability */
.mdict {
border-top: 0.15em solid #c4c4c4;
margin-bottom: 0.5em;
padding-top: 0.5em;
}
.gddictname {
position: relative;
z-index: 9;
margin-bottom: -0.16em;
}
/* Remove duplicate headers in EPWING dictionaries. */
.epwing_article h3 {
display: none;
}
.epwing_text:first-line {
text-indent: -1em;
}
.epwing_text {
padding-top: 0.5em;
padding-left: 1em;
border-top: 0.15em solid #c4c4c4;
margin-bottom: 0.5em;
}

View File

@ -1,6 +1,8 @@
text_gamma_adjustment 1.7
text_contrast 30
font_size 10 font_size 10
background_opacity 0.6 #background_opacity 0.6
# Enable GPU rendering # Enable GPU rendering
force_bitmap yes force_bitmap yes
# Enable antialiasing # Enable antialiasing

View File

@ -8,6 +8,19 @@ set sortby name; set info
set sortby time; set info time set sortby time; set info time
if %pwd == *'screenshots' {set sortby time; set info time; set reverse; set nodirfirst; } else {set sortby natural; set info ;}
# Share on telegram
cmd send ${{
wmctrl -x -a TelegramDesktop
telegram-desktop -sendpath \
$(for file in $fx; do readlink -f $file; done)
}}
map <c-s> : send <ret>
cmd copy_filename ${{ cmd copy_filename ${{
clean_filename=$(basename "$f") clean_filename=$(basename "$f")
@ -17,3 +30,5 @@ cmd copy_filename ${{
# Map a key to call the copy_filename function # Map a key to call the copy_filename function
map <c-e> : copy_filename <ret> map <c-e> : copy_filename <ret>
# Use C-S-g to go to the bottom/end

60
.config/mpv/input.conf Normal file
View File

@ -0,0 +1,60 @@
# mpv keybindings
# Increase / decrease subtitle font size
# https://www.reddit.com/r/mpv/comments/dg5yzj/trouble_decreasing_subtitles_size/
/ add sub-scale +0.1
? add sub-scale -0.1
# AO volume controls (numpad):
#+ add ao-volume 2
#- add ao-volume -2
# Cycle video aspect ratios; "-1" is the container aspect
A cycle-values video-aspect "16:9" "16:10" "4:3" "2.35:1" "-1"
# Vim-like seeking
l seek 5
h seek -5
j seek -60
k seek 60
# Cycle between subtitle files
K cycle sub
J cycle sub down
# Skip to previous/next subtitle line (disabled - use mpvacioius)
#H no-osd sub-seek -1
#L no-osd sub-seek 1
# Search sub-text on Jisho.org
# https://github.com/mpv-player/mpv/issues/4695#issuecomment-609876072
#Ctrl+j run "/bin/sh" "-c" "xdg-open 'https://jisho.org/search?keyword=${sub-text}'"
# skip to next/previous file
> playlist-next
< playlist-prev
# Add/subtract 50 ms delay from subs
Z add sub-delay +0.05
z add sub-delay -0.05
D add sub-delay -92.3
A add sub-delay -152
# Adjust timing to previous/next subtitle
X sub-step 1
x sub-step -1
Ctrl+r set sub-delay 0
o show-progress
V script-binding visibility
Ctrl+b run "/bin/sh" "-c" "impd add '${=path}'"

View File

@ -1,8 +1,8 @@
sub-font-size=30 sub-font-size=30
sub-pos=13 sub-pos=13
sub-font='~/.fonts/Motomachi-Regular.ttf' #sub-font='~/.fonts/Motomachi-Regular.ttf'
sub-fontconfig=no sub-fontconfig=no
sub-font="Motomachi" sub-font="Calex Code JP"
sub-antialiasing=yes sub-antialiasing=yes
sub-text-outline=0.5 sub-text-outline=0.5
@ -14,11 +14,36 @@ ass-right-margin=50
screenshot-format=png screenshot-format=png
screenshot-high-bit-depth=yes
screenshot-png-compression=7 # this requires a lot of cpu
screenshot-directory=/mnt/Data/mpv-screenshots/ screenshot-directory=/mnt/Data/mpv-screenshots/
input-cursor=no
# then we gonna need this:
# Keybinding to cycle through available audio dubs
ALT+a cycle audio
# Keybinding to cycle through available subtitles
ALT+s cycle sub
# youtube
ytdl-format=bestvideo[height<=?720p]+bestaudio/best
#####
## watching videos without getting drowsy
gpu-context=winvk
video-sync=display-resample
display-fps=23
fps=23
vf-add=fps=23:round=near
#
demuxer-thread=yes demuxer-thread=yes
demuxer-rawvideo-fps=60 demuxer-rawvideo-fps=23
demuxer-rawaudio-rate=384000 demuxer-rawaudio-rate=384000
@ -30,11 +55,13 @@ z add sub-delay -0.05
D add sub-delay -8900 D add sub-delay -8900
# audio normalization
af=lavfi=[dynaudnorm=f=75:g=25:p=0.55]
lavfi=[loudnorm=I=-22:TP=-1.5:LRA=2]
gpu-api=vulkan gpu-api=vulkan
vulkan-async-compute=yes
vulkan-async-transfer=yes
vulkan-queue-count=1
#vo=vaapi #vo=vaapi
@ -44,10 +71,42 @@ lavfi-complex=vid.vd-lavc-threads=16
# Set cache to avoid lag # Set cache to avoid lag
cache=yes #cache=yes
# Limit the amount of data demuxed (read from the file) ahead of playback # Limit the amount of data demuxed (read from the file) ahead of playback
demuxer-max-bytes=700M #demuxer-max-bytes=700M
# shaders
glsl-shader=~~/shaders/Anime4K_Deblur_Original.glsl
glsl-shader=~~/shaders/ravu-r4.hook
# Set the desired window size
window-scale=2.0
# Force video to upscale to at least 2k
vf=scale=w=2048:h=1080:flags=lanczos
# Set the desired window size (optional, adjust as needed)
geometry=2048x1080
# Enable video upscaling
scale=ewa_lanczos
# Enable higher quality scaling when upscaling
cscale=ewa_lanczos
# audio
# audio normalization
#af=lavfi=[dynaudnorm=f=75:g=25:p=0.55]
#lavfi=[loudnorm=I=-22:TP=-1.5:LRA=2]
# BGR
sub-font-size=35
sub-border-size=1.5
sub-color="#ffffff"
sub-border-color="#000000"
sub-align-y=24
sub-ass-force-style=FontName='Calex Code JP',FontSize=48,Outline=0.5,PrimaryColour=&Hffffff&,SecondaryColour=&H000000&,OutlineColour=&H000000&,BackColour=&H000000&,Alignment=2

View File

@ -0,0 +1,271 @@
###
### Main mpvacious configuration file.
### Save this file to ~/.config/mpv/script-opts/subs2srs.conf
###
##
## General settings
##
# Anki deck for new cards. Subdecks are supported.
deck_name=Mining
# Model names are listed in `Tools -> Manage note types` menu in Anki.
# If you don't have a model for Japanese, get it from
# https://tatsumoto.neocities.org/blog/setting-up-anki.html#import-an-example-mining-deck
model_name=Japanese sentences
# Field names as they appear in the selected note type.
# If you set `audio_field` or `image_field` empty,
# the corresponding media file will not be created.
sentence_field=SentKanji
secondary_field=SentEng
audio_field=SentAudio
image_field=Image
# The tag(s) added to new notes. Spaces separate multiple tags.
# Leave nothing after `=` to disable tagging completely.
# The following substitutions are supported:
# %n - the name of the video
# %t - timestamp
# %d - episode number (if none, returns nothing)
# %e - SUBS2SRS_TAGS environment variable (if you have it set)
note_tag=subs2srs
#note_tag=%n %t %e
#note_tag=
# Size and name of the font used in the menu
menu_font_size=24
menu_font_name=Noto Serif CJK JP
##
## Toggleables.
## Possible values: `yes` or `no`.
##
# Use FFmpeg encoder instead of mpv encoder
# If mpvacious encounters problems creating audio and images for Anki cards,
# setting this to `yes` should fix them.
#
# You need to install ffmpeg and add it to the PATH first.
# https://wiki.archlinux.org/title/FFmpeg
# https://www.ffmpeg.org/download.html
#
# FFmpeg encoder is unable to create audio and images from remote content (like YouTube videos).
use_ffmpeg=no
# Automatically create the deck for new cards (see deck_name option)
create_deck=yes
# Allow making notes with the same sentence field.
allow_duplicates=no
# When mpv starts, automatically copy subs to the clipboard as they appear on screen.
# This option can be also toggled in the addon's OSD menu.
autoclip=yes
# Command to run when autoclip is triggered.
# If empty, just copies text to the clipboard.
# If set, calls the external program.
# E.g., even though GoldenDict can watch the system clipboard,
# if you send subtitles directly to GoldenDict, you don't pollute the clipboard as much.
autoclip_command=goldendict
#autoclip_command=goldendict
# Remove all spaces from the primary subtitle text.
# Set this to "yes" for languages without spaces like Japanese.
# However, if mpvacious detects any latin characters in the string, spaces will not be removed.
nuke_spaces=yes
# if set to `yes`, the volume of the outputted audio file
# depends on the volume of the player at the time of export
tie_volumes=no
# Remove text in parentheses and leading/trailing spaces or
# newlines that may interfere with Yomichan before copying
# subtitles to the clipboard
clipboard_trim_enabled=yes
# Add media to fields before or after existing data
append_media=yes
# Remove text in brackets before substituting %n into tag
tag_nuke_brackets=yes
# Remove text in brackets before substituting %n into tag
tag_nuke_parentheses=no
# Remove the episode number before substituting %n into tag
tag_del_episode_num=yes
# Remove everything after the episode number before substituting %n into tag
# Does nothing if the previous option tag_del_episode_num is disabled.
tag_del_after_episode_num=yes
# Convert filename to lowercase for tagging.
tag_filename_lowercase=no
# Lets you disable anki browser manipulation by mpvacious.
disable_gui_browse=no
# Play audio clip automatically in background
# after note creation (or note update) to ensure that the audio is correctly cut.
preview_audio=no
# When selecting subtitle lines, print them on the screen.
show_selected_text=yes
# For convenience, read config file from disk before a card is made.
# Useful if you change your config often since you won't have to restart mpv every time,
# but reading from disk takes some time.
reload_config_before_card_creation=yes
##
## Image settings
##
# Snapshot format.
# Do not switch to `jpg` unless your computer doesn't support `webp`.
snapshot_format=webp
#snapshot_format=jpg
# Quality of produced image files. 0 = lowest, 100=highest.
snapshot_quality=15
# Image dimensions
# If either (but not both) of the width or height parameters is -2,
# the value will be calculated preserving the aspect-ratio.
snapshot_width=-2
snapshot_height=200
# Screenshot (yes, no)
# Usually not required.
# When making Anki cards, create a screenshot (by calling 'screenshot-to-file') instead of a snapshot.
# If set to yes, image dimensions and quality cannot be controlled due to mpv limitations.
# 'snapshot_format' is still respected.
# When using this, a custom sync server is recommended, e.g. https://github.com/ankicommunity/anki-sync-server
screenshot=no
# The exact image template used when exporting to Anki's image field.
# Adding data-editor-shrink="true" makes the image smaller by default within the Anki viewer
# on versions 2.1.53+ (equivalent of double-clicking on the image).
# You likely would not want to change this unless you know what you are doing.
image_template=<img alt="snapshot" src="%s">
#image_template=<img alt="snapshot" data-editor-shrink="true" src="%s">
# Similar to image_template but with audio.
# Normally, the user doesn't need to change this setting,
# but it may be needed for audio files to be playable on AnkiWeb.
audio_template=[sound:%s]
#audio_template=<audio controls="" src="%s"></audio>
##
## Animated snapshots
## Animated snapshots will capture the video from the start to the end times selected when using mpvacious.
##
# If enabled, generates animated snapshots (something like GIFs) instead of static snapshots.
animated_snapshot_enabled=no
# Number of frame per seconds, a value between 0 and 30 (30 included)
# Higher values will increase both quality and file size, lower values will do the opposite
animated_snapshot_fps=10
# Animated snapshot dimensions
# If either (but not both) of the width or height parameters is -2,
# the value will be calculated preserving the aspect-ratio.
animated_snapshot_width=-2
animated_snapshot_height=200
# Quality of the produced animation, 0 = lowest, 100 = highest
animated_snapshot_quality=5
##
## Audio settings
##
# Audio format.
# Do not switch to `mp3` unless your computer doesn't support `opus`.
audio_format=opus
#audio_format=mp3
# Sane values are 16k-32k for opus, 64k-128k for mp3.
audio_bitrate=24k
# Set a pad to the dialog timings. 0.5 = half a second.
# Pads are never applied to manually set timings.
audio_padding=0.0
#audio_padding=0.5
##
## Forvo support (Yomichan users only)
##
# yes - fetch audio from Forvo if Yomichan couldn't find the audio (default)
# always - always fetch audio from Forvo and replace the audio added by Yomichan
# no - never use Forvo
use_forvo=yes
# Vocab field should be equal to {expression} field in Yomichan
vocab_field=VocabKanji
# Vocab Audio field should be equal to {audio} field in Yomichan
vocab_audio_field=VocabAudio
##
## Misc info
## Various context information that can be written on your cards in a specified field.
##
# yes to enable or no to disable.
miscinfo_enable=yes
# Field name
miscinfo_field=Notes
# Format string used to fill the misc info field.
# It supports the same substitutions as `note_tag`. HTML is supported.
miscinfo_format=%n EP%d (%t)
#miscinfo_format=From <b>mpvacious</b> %n at %t.
##
## Secondary subtitles
## Mpvacious can try automatically loading secondary subtitles that will appear at the top.
## For example, you may want to load English subs alongside Japanese subs.
##
## Secondary subtitles should be present in the container.
## But if you manually set secondary sid from the command line, mpvacious won't change it.
##
# Language of secondary subs.
# If you leave this parameter empty, no secondary subs will be automatically loaded.
secondary_sub_lang=eng,en,rus,ru,bel,be
#secondary_sub_lang=
# Hover area.
# Proportion of the top part of the mpv window where the secondary subtitles are visible when hovered over.
# Possible values: from 0.0 to 1.0
secondary_sub_area=0.15
# Visibility state
# Can be set to: 'auto', 'never', 'always'.
# If set to 'never' or 'always', secondary_sub_area has no effect.
# If set to 'auto', visibility behaves according to the value of secondary_sub_area.
# Default binding to cycle this value: Ctrl+v.
secondary_sub_visibility=auto
##
## Custom audio encoding arguments
## These arguments are added to the command line.
## `mpv` and `ffmpeg` accept slightly different parameters.
## Feel free to experiment for yourself, but be careful or media creation might stop working.
##
# Ffmpeg
ffmpeg_audio_args=-af loudnorm=I=-16:TP=-1.5:LRA=11
#ffmpeg_audio_args=-af silenceremove=1:0:-50dB
# mpv
# mpv accepts each filter as a separate argument, e.g. --af-append=1 --af-append=2
mpv_audio_args=--af-append=loudnorm=I=-16:TP=-1.5:LRA=11
#mpv_audio_args=--af-append=silenceremove=1:0:-50dB

View File

@ -0,0 +1,271 @@
###
### Main mpvacious configuration file.
### Save this file to ~/.config/mpv/script-opts/subs2srs.conf
###
##
## General settings
##
# Anki deck for new cards. Subdecks are supported.
deck_name=Mining
# Model names are listed in `Tools -> Manage note types` menu in Anki.
# If you don't have a model for Japanese, get it from
# https://tatsumoto.neocities.org/blog/setting-up-anki.html#import-an-example-mining-deck
model_name=Japanese sentences
# Field names as they appear in the selected note type.
# If you set `audio_field` or `image_field` empty,
# the corresponding media file will not be created.
sentence_field=SentKanji
secondary_field=SentEng
audio_field=SentAudio
image_field=Image
# The tag(s) added to new notes. Spaces separate multiple tags.
# Leave nothing after `=` to disable tagging completely.
# The following substitutions are supported:
# %n - the name of the video
# %t - timestamp
# %d - episode number (if none, returns nothing)
# %e - SUBS2SRS_TAGS environment variable (if you have it set)
note_tag=subs2srs
#note_tag=%n %t %e
#note_tag=
# Size and name of the font used in the menu
menu_font_size=24
menu_font_name=Noto Serif CJK JP
##
## Toggleables.
## Possible values: `yes` or `no`.
##
# Use FFmpeg encoder instead of mpv encoder
# If mpvacious encounters problems creating audio and images for Anki cards,
# setting this to `yes` should fix them.
#
# You need to install ffmpeg and add it to the PATH first.
# https://wiki.archlinux.org/title/FFmpeg
# https://www.ffmpeg.org/download.html
#
# FFmpeg encoder is unable to create audio and images from remote content (like YouTube videos).
use_ffmpeg=no
# Automatically create the deck for new cards (see deck_name option)
create_deck=yes
# Allow making notes with the same sentence field.
allow_duplicates=no
# When mpv starts, automatically copy subs to the clipboard as they appear on screen.
# This option can be also toggled in the addon's OSD menu.
autoclip=yes
# Command to run when autoclip is triggered.
# If empty, just copies text to the clipboard.
# If set, calls the external program.
# E.g., even though GoldenDict can watch the system clipboard,
# if you send subtitles directly to GoldenDict, you don't pollute the clipboard as much.
autoclip_command=
#autoclip_command=goldendict
# Remove all spaces from the primary subtitle text.
# Set this to "yes" for languages without spaces like Japanese.
# However, if mpvacious detects any latin characters in the string, spaces will not be removed.
nuke_spaces=yes
# if set to `yes`, the volume of the outputted audio file
# depends on the volume of the player at the time of export
tie_volumes=no
# Remove text in parentheses and leading/trailing spaces or
# newlines that may interfere with Yomichan before copying
# subtitles to the clipboard
clipboard_trim_enabled=yes
# Add media to fields before or after existing data
append_media=yes
# Remove text in brackets before substituting %n into tag
tag_nuke_brackets=yes
# Remove text in brackets before substituting %n into tag
tag_nuke_parentheses=no
# Remove the episode number before substituting %n into tag
tag_del_episode_num=yes
# Remove everything after the episode number before substituting %n into tag
# Does nothing if the previous option tag_del_episode_num is disabled.
tag_del_after_episode_num=yes
# Convert filename to lowercase for tagging.
tag_filename_lowercase=no
# Lets you disable anki browser manipulation by mpvacious.
disable_gui_browse=no
# Play audio clip automatically in background
# after note creation (or note update) to ensure that the audio is correctly cut.
preview_audio=no
# When selecting subtitle lines, print them on the screen.
show_selected_text=yes
# For convenience, read config file from disk before a card is made.
# Useful if you change your config often since you won't have to restart mpv every time,
# but reading from disk takes some time.
reload_config_before_card_creation=yes
##
## Image settings
##
# Snapshot format.
# Do not switch to `jpg` unless your computer doesn't support `webp`.
snapshot_format=webp
#snapshot_format=jpg
# Quality of produced image files. 0 = lowest, 100=highest.
snapshot_quality=15
# Image dimensions
# If either (but not both) of the width or height parameters is -2,
# the value will be calculated preserving the aspect-ratio.
snapshot_width=-2
snapshot_height=200
# Screenshot (yes, no)
# Usually not required.
# When making Anki cards, create a screenshot (by calling 'screenshot-to-file') instead of a snapshot.
# If set to yes, image dimensions and quality cannot be controlled due to mpv limitations.
# 'snapshot_format' is still respected.
# When using this, a custom sync server is recommended, e.g. https://github.com/ankicommunity/anki-sync-server
screenshot=no
# The exact image template used when exporting to Anki's image field.
# Adding data-editor-shrink="true" makes the image smaller by default within the Anki viewer
# on versions 2.1.53+ (equivalent of double-clicking on the image).
# You likely would not want to change this unless you know what you are doing.
image_template=<img alt="snapshot" src="%s">
#image_template=<img alt="snapshot" data-editor-shrink="true" src="%s">
# Similar to image_template but with audio.
# Normally, the user doesn't need to change this setting,
# but it may be needed for audio files to be playable on AnkiWeb.
audio_template=[sound:%s]
#audio_template=<audio controls="" src="%s"></audio>
##
## Animated snapshots
## Animated snapshots will capture the video from the start to the end times selected when using mpvacious.
##
# If enabled, generates animated snapshots (something like GIFs) instead of static snapshots.
animated_snapshot_enabled=no
# Number of frame per seconds, a value between 0 and 30 (30 included)
# Higher values will increase both quality and file size, lower values will do the opposite
animated_snapshot_fps=10
# Animated snapshot dimensions
# If either (but not both) of the width or height parameters is -2,
# the value will be calculated preserving the aspect-ratio.
animated_snapshot_width=-2
animated_snapshot_height=200
# Quality of the produced animation, 0 = lowest, 100 = highest
animated_snapshot_quality=5
##
## Audio settings
##
# Audio format.
# Do not switch to `mp3` unless your computer doesn't support `opus`.
audio_format=opus
#audio_format=mp3
# Sane values are 16k-32k for opus, 64k-128k for mp3.
audio_bitrate=24k
# Set a pad to the dialog timings. 0.5 = half a second.
# Pads are never applied to manually set timings.
audio_padding=0.0
#audio_padding=0.5
##
## Forvo support (Yomichan users only)
##
# yes - fetch audio from Forvo if Yomichan couldn't find the audio (default)
# always - always fetch audio from Forvo and replace the audio added by Yomichan
# no - never use Forvo
use_forvo=yes
# Vocab field should be equal to {expression} field in Yomichan
vocab_field=VocabKanji
# Vocab Audio field should be equal to {audio} field in Yomichan
vocab_audio_field=VocabAudio
##
## Misc info
## Various context information that can be written on your cards in a specified field.
##
# yes to enable or no to disable.
miscinfo_enable=yes
# Field name
miscinfo_field=Notes
# Format string used to fill the misc info field.
# It supports the same substitutions as `note_tag`. HTML is supported.
miscinfo_format=%n EP%d (%t)
#miscinfo_format=From <b>mpvacious</b> %n at %t.
##
## Secondary subtitles
## Mpvacious can try automatically loading secondary subtitles that will appear at the top.
## For example, you may want to load English subs alongside Japanese subs.
##
## Secondary subtitles should be present in the container.
## But if you manually set secondary sid from the command line, mpvacious won't change it.
##
# Language of secondary subs.
# If you leave this parameter empty, no secondary subs will be automatically loaded.
secondary_sub_lang=eng,en,rus,ru,bel,be
#secondary_sub_lang=
# Hover area.
# Proportion of the top part of the mpv window where the secondary subtitles are visible when hovered over.
# Possible values: from 0.0 to 1.0
secondary_sub_area=0.15
# Visibility state
# Can be set to: 'auto', 'never', 'always'.
# If set to 'never' or 'always', secondary_sub_area has no effect.
# If set to 'auto', visibility behaves according to the value of secondary_sub_area.
# Default binding to cycle this value: Ctrl+v.
secondary_sub_visibility=auto
##
## Custom audio encoding arguments
## These arguments are added to the command line.
## `mpv` and `ffmpeg` accept slightly different parameters.
## Feel free to experiment for yourself, but be careful or media creation might stop working.
##
# Ffmpeg
ffmpeg_audio_args=-af loudnorm=I=-16:TP=-1.5:LRA=11
#ffmpeg_audio_args=-af silenceremove=1:0:-50dB
# mpv
# mpv accepts each filter as a separate argument, e.g. --af-append=1 --af-append=2
mpv_audio_args=--af-append=loudnorm=I=-16:TP=-1.5:LRA=11
#mpv_audio_args=--af-append=silenceremove=1:0:-50dB

@ -0,0 +1 @@
Subproject commit 5593c50faaff2e3a4e1ce46648c14b872dc9c766

View File

@ -0,0 +1,10 @@
local target_fps = 23
mp.add_periodic_timer(1, function()
local fps = mp.get_property_native("estimated-vf-fps")
if fps and math.abs(fps - target_fps) > 0.1 then
mp.set_property_native("speed", fps / target_fps)
else
mp.set_property_native("speed", 1)
end
end)

View File

@ -0,0 +1,154 @@
local utils = require 'mp.utils'
local msg = require 'mp.msg'
local settings = {
filetypes = {
'jpg', 'jpeg', 'png', 'tif', 'tiff', 'gif', 'webp', 'svg', 'bmp',
'mp3', 'wav', 'ogm', 'flac', 'm4a', 'wma', 'ogg', 'opus',
'mkv', 'avi', 'mp4', 'ogv', 'webm', 'rmvb', 'flv', 'wmv', 'mpeg', 'mpg', 'm4v', '3gp'
},
--linux(true)/windows(false)/auto(nil)
linux_over_windows = nil,
--at end of directory jump to start and vice versa
allow_looping = true,
--order by natural (version) numbers, thus behaving case-insensitively and treating multi-digit numbers atomically
--e.x.: true will result in the following order: 09A 9A 09a 9a 10A 10a
-- while false will result in: 09a 09A 10a 10A 9a 9A
version_flag = true,
}
local filetype_lookup = {}
for _, ext in ipairs(settings.filetypes) do
filetype_lookup[ext] = true
end
--check os
if settings.linux_over_windows==nil then
local o = {}
if mp.get_property_native('options/vo-mmcss-profile', o) ~= o then
settings.linux_over_windows = false
else
settings.linux_over_windows = true
end
end
function show_osd_message(file)
mp.osd_message("Now playing: " .. file, 3) -- Adjust OSD display time as needed
end
function nexthandler()
movetofile(true)
end
function prevhandler()
movetofile(false)
end
function get_files_windows(dir)
local args = {
'powershell', '-NoProfile', '-Command', [[& {
Trap {
Write-Error -ErrorRecord $_
Exit 1
}
$path = "]]..dir..[["
$escapedPath = [WildcardPattern]::Escape($path)
cd $escapedPath
$list = (Get-ChildItem -File | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(20) }) }).Name
$string = ($list -join "/")
$u8list = [System.Text.Encoding]::UTF8.GetBytes($string)
[Console]::OpenStandardOutput().Write($u8list, 0, $u8list.Length)
}]]
}
local process = utils.subprocess({ args = args, cancellable = false })
return parse_files(process, '%/')
end
function get_files_linux(dir)
local flags = ('-1p' .. (settings.version_flag and 'v' or ''))
local args = { 'ls', flags, dir }
local process = utils.subprocess({ args = args, cancellable = false })
return parse_files(process, '\n')
end
function parse_files(res, delimiter)
if not res.error and res.status == 0 then
local valid_files = {}
for line in res.stdout:gmatch("[^"..delimiter.."]+") do
local ext = line:match("^.+%.(.+)$")
if ext and filetype_lookup[ext:lower()] then
table.insert(valid_files, line)
end
end
return valid_files, nil
else
return nil, res.error
end
end
function movetofile(forward)
if mp.get_property('filename'):match("^%a%a+:%/%/") then return end
local pwd = mp.get_property('working-directory')
local relpath = mp.get_property('path')
if not pwd or not relpath then return end
local path = utils.join_path(pwd, relpath)
local filename = mp.get_property("filename")
local dir = utils.split_path(path)
local files, error
if settings.linux_over_windows then
files, error = get_files_linux(dir)
else
files, error = get_files_windows(dir)
end
if not files then
msg.error("Subprocess failed: "..(error or ''))
return
end
local found = false
local memory = nil
local lastfile = true
local firstfile = nil
for _, file in ipairs(files) do
if found == true then
mp.commandv("loadfile", utils.join_path(dir, file), "replace")
lastfile = false
show_osd_message(file)
break
end
if file == filename then
found = true
if not forward then
lastfile = false
if settings.allow_looping and firstfile == nil then
found = false
else
if firstfile == nil then break end
mp.commandv("loadfile", utils.join_path(dir, memory), "replace")
show_osd_message(memory)
break
end
end
end
memory = file
if firstfile == nil then firstfile = file end
end
if lastfile and firstfile and settings.allow_looping then
mp.commandv("loadfile", utils.join_path(dir, firstfile), "replace")
show_osd_message(firstfile)
end
if not found and memory then
mp.commandv("loadfile", utils.join_path(dir, memory), "replace")
show_osd_message(memory)
end
end
mp.add_key_binding('Shift+RIGHT', 'nextfile', nexthandler)
mp.add_key_binding('Shift+LEFT', 'previousfile', prevhandler)

@ -0,0 +1 @@
Subproject commit 551a817a3ac815e5769214f8595b9a2e7767d7c5

@ -0,0 +1 @@
Subproject commit 509b6b624592dbac6f2d7e0c4bc92a76460e7129

View File

@ -0,0 +1,287 @@
// MIT License
// Copyright (c) 2019-2021 bloc97
// All rights reserved.
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//!DESC Anime4K-v3.2-Deblur-Original-Luma
//!HOOK MAIN
//!BIND HOOKED
//!SAVE LINELUMA
//!COMPONENTS 1
float get_luma(vec4 rgba) {
return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba);
}
vec4 hook() {
return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0);
}
//!DESC Anime4K-v3.2-Deblur-Original-Kernel-X
//!HOOK MAIN
//!BIND HOOKED
//!BIND LINELUMA
//!SAVE LUMAD
//!WIDTH MAIN.w 2 *
//!HEIGHT MAIN.h 2 *
//!COMPONENTS 2
vec4 hook() {
vec2 d = HOOKED_pt;
//[tl t tr]
//[ l c r]
//[bl b br]
float l = LINELUMA_tex(HOOKED_pos + vec2(-d.x, 0.0)).x;
float c = LINELUMA_tex(HOOKED_pos).x;
float r = LINELUMA_tex(HOOKED_pos + vec2(d.x, 0.0)).x;
//Horizontal Gradient
//[-1 0 1]
//[-2 0 2]
//[-1 0 1]
float xgrad = (-l + r);
//Vertical Gradient
//[-1 -2 -1]
//[ 0 0 0]
//[ 1 2 1]
float ygrad = (l + c + c + r);
//Computes the luminance's gradient
return vec4(xgrad, ygrad, 0.0, 0.0);
}
//!DESC Anime4K-v3.2-Deblur-Original-Kernel-Y
//!HOOK MAIN
//!BIND HOOKED
//!BIND LUMAD
//!SAVE LUMAD
//!WIDTH MAIN.w 2 *
//!HEIGHT MAIN.h 2 *
//!COMPONENTS 2
/* --------------------- SETTINGS --------------------- */
//Strength of edge refinement, good values are between 0.2 and 4
#define REFINE_STRENGTH 1.0
/* --- MODIFY THESE SETTINGS BELOW AT YOUR OWN RISK --- */
//Bias of the refinement function, good values are between 0 and 1
#define REFINE_BIAS 0.0
//Polynomial fit obtained by minimizing MSE error on image
#define P5 ( 11.68129591)
#define P4 (-42.46906057)
#define P3 ( 60.28286266)
#define P2 (-41.84451327)
#define P1 ( 14.05517353)
#define P0 (-1.081521930)
/* ----------------- END OF SETTINGS ----------------- */
float power_function(float x) {
float x2 = x * x;
float x3 = x2 * x;
float x4 = x2 * x2;
float x5 = x2 * x3;
return P5*x5 + P4*x4 + P3*x3 + P2*x2 + P1*x + P0;
}
vec4 hook() {
vec2 d = HOOKED_pt;
//[tl t tr]
//[ l cc r]
//[bl b br]
float tx = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).x;
float cx = LUMAD_tex(HOOKED_pos).x;
float bx = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).x;
float ty = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).y;
//float cy = LUMAD_tex(HOOKED_pos).y;
float by = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).y;
//Horizontal Gradient
//[-1 0 1]
//[-2 0 2]
//[-1 0 1]
float xgrad = (tx + cx + cx + bx);
//Vertical Gradient
//[-1 -2 -1]
//[ 0 0 0]
//[ 1 2 1]
float ygrad = (-ty + by);
//Computes the luminance's gradient
float sobel_norm = clamp(sqrt(xgrad * xgrad + ygrad * ygrad), 0.0, 1.0);
float dval = clamp(power_function(clamp(sobel_norm, 0.0, 1.0)) * REFINE_STRENGTH + REFINE_BIAS, 0.0, 1.0);
return vec4(sobel_norm, dval, 0.0, 0.0);
}
//!DESC Anime4K-v3.2-Deblur-Original-Kernel-X
//!HOOK MAIN
//!BIND HOOKED
//!BIND LUMAD
//!SAVE LUMAMM
//!WIDTH MAIN.w 2 *
//!HEIGHT MAIN.h 2 *
//!COMPONENTS 2
vec4 hook() {
vec2 d = HOOKED_pt;
if (LUMAD_tex(HOOKED_pos).y < 0.1) {
return vec4(0.0);
}
//[tl t tr]
//[ l c r]
//[bl b br]
float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0.0)).x;
float c = LUMAD_tex(HOOKED_pos).x;
float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0.0)).x;
//Horizontal Gradient
//[-1 0 1]
//[-2 0 2]
//[-1 0 1]
float xgrad = (-l + r);
//Vertical Gradient
//[-1 -2 -1]
//[ 0 0 0]
//[ 1 2 1]
float ygrad = (l + c + c + r);
return vec4(xgrad, ygrad, 0.0, 0.0);
}
//!DESC Anime4K-v3.2-Deblur-Original-Kernel-Y
//!HOOK MAIN
//!BIND HOOKED
//!BIND LUMAD
//!BIND LUMAMM
//!SAVE LUMAMM
//!WIDTH MAIN.w 2 *
//!HEIGHT MAIN.h 2 *
//!COMPONENTS 2
vec4 hook() {
vec2 d = HOOKED_pt;
if (LUMAD_tex(HOOKED_pos).y < 0.1) {
return vec4(0.0);
}
//[tl t tr]
//[ l cc r]
//[bl b br]
float tx = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).x;
float cx = LUMAMM_tex(HOOKED_pos).x;
float bx = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).x;
float ty = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).y;
//float cy = LUMAMM_tex(HOOKED_pos).y;
float by = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).y;
//Horizontal Gradient
//[-1 0 1]
//[-2 0 2]
//[-1 0 1]
float xgrad = (tx + cx + cx + bx);
//Vertical Gradient
//[-1 -2 -1]
//[ 0 0 0]
//[ 1 2 1]
float ygrad = (-ty + by);
float norm = sqrt(xgrad * xgrad + ygrad * ygrad);
if (norm <= 0.001) {
xgrad = 0.0;
ygrad = 0.0;
norm = 1.0;
}
return vec4(xgrad/norm, ygrad/norm, 0.0, 0.0);
}
//!DESC Anime4K-v3.2-Deblur-Original-Apply
//!HOOK MAIN
//!BIND HOOKED
//!BIND LUMAD
//!BIND LUMAMM
//!WIDTH MAIN.w 2 *
//!HEIGHT MAIN.h 2 *
//!SAVE RESAMPLED
vec4 hook() {
vec2 d = HOOKED_pt;
float dval = LUMAD_tex(HOOKED_pos).y;
if (dval < 0.1) {
return HOOKED_tex(HOOKED_pos);
}
vec4 dc = LUMAMM_tex(HOOKED_pos);
if (abs(dc.x + dc.y) <= 0.0001) {
return HOOKED_tex(HOOKED_pos);
}
float xpos = -sign(dc.x);
float ypos = -sign(dc.y);
vec4 xval = HOOKED_tex(HOOKED_pos + vec2(d.x * xpos, 0.0));
vec4 yval = HOOKED_tex(HOOKED_pos + vec2(0.0, d.y * ypos));
float xyratio = abs(dc.x) / (abs(dc.x) + abs(dc.y));
vec4 avg = xyratio * xval + (1.0 - xyratio) * yval;
return avg * dval + HOOKED_tex(HOOKED_pos) * (1.0 - dval);
}
//!DESC Anime4K-v3.2-Deblur-Original-Resample
//!HOOK MAIN
//!BIND HOOKED
//!BIND RESAMPLED
vec4 hook() {
return RESAMPLED_tex(HOOKED_pos);
}

View File

@ -0,0 +1,969 @@
// MIT License
// Copyright (c) 2019-2021 bloc97
// All rights reserved.
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x3
//!HOOK MAIN
//!BIND MAIN
//!SAVE conv2d_tf
//!WIDTH MAIN.w
//!HEIGHT MAIN.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off)))
vec4 hook() {
vec4 result = mat4(0.3053028, -0.037464816, 0.113983095, 0.12537485, -0.18630321, 0.084269725, -0.01351514, -0.20190673, -0.12298384, -0.037622184, -0.070214555, -0.19367279, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0);
result += mat4(-0.41849324, 0.099702746, -0.04276645, -0.047299717, 0.20074473, 0.14217933, 0.15571699, 0.19553481, 0.21868695, -0.053848714, 0.016413521, 0.14117444, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0);
result += mat4(0.030540446, -0.052293833, 0.0715466, -0.31160545, 0.07808315, -0.16860045, 0.032828577, -0.2955024, -0.110374965, 0.04043687, -0.014024628, 0.058699366, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0);
result += mat4(-0.10727635, 0.054200135, 0.20853694, 0.21086875, 0.122690216, -0.091823794, 0.310609, -0.01738923, -0.0013488946, 0.10835534, -0.077265196, 0.086751856, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0);
result += mat4(-0.77150255, 0.40530515, -0.41257596, -0.14367618, 0.46888494, 0.2650122, -0.934199, 0.40476102, 0.32293493, 0.20251967, 0.19891106, -0.29698747, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0);
result += mat4(-0.12505147, -0.41904053, -0.065798186, 0.34075752, 0.026240354, -0.2977496, 0.032647505, -0.003566783, 0.10290523, -0.23417123, -0.06014203, 0.094735645, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0);
result += mat4(0.11207838, -0.04062474, 0.023897955, 0.08605987, -0.020888371, 0.045541205, -0.07231824, -0.25884083, -0.11796847, -0.002691391, 0.0050435597, 0.02756291, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0);
result += mat4(0.4615728, 0.041790638, 0.08971143, 0.20213957, -0.38537467, 0.19938901, 0.08594364, -0.08621994, -0.08163473, -0.133266, -0.09561729, -0.014209637, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0);
result += mat4(0.0787417, -0.0483673, 0.07621572, -0.060169693, -0.013465177, -0.17152289, 0.02515561, 0.17675288, -0.05173998, 0.10768042, -0.029858522, -0.013957215, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0);
result += vec4(0.0072128535, -0.05658625, 0.052939568, -0.1760861);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x3
//!HOOK MAIN
//!BIND MAIN
//!SAVE conv2d_tf1
//!WIDTH MAIN.w
//!HEIGHT MAIN.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off)))
vec4 hook() {
vec4 result = mat4(-0.112743355, 0.0422517, 0.21350034, -0.0967133, 0.16265953, 0.0022497, 0.015078242, 0.08204187, 0.035236806, -0.0468228, -0.09464228, -0.001864949, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0);
result += mat4(0.25631642, -0.41485596, -0.16662048, 0.13201024, 0.057921384, 0.2240005, -0.30038536, -0.08305622, 0.2228756, 0.32263795, 0.10608189, -0.18616734, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0);
result += mat4(0.08997524, 0.11516871, 0.19212262, -0.035154644, 0.11612274, -0.04056247, 0.14974374, 0.029173585, -0.07629641, -0.14353512, 0.041081246, 0.20230265, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0);
result += mat4(0.2262286, 0.055954933, -0.14499907, 0.17314723, 0.16590612, -0.06688698, -0.11118816, -0.012938116, -0.043101817, 0.026133137, 0.2958395, 0.06543993, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0);
result += mat4(-0.07311521, -0.3041244, -0.47978505, -0.6350967, -0.17432262, 0.34965977, 0.25399777, -0.16590433, -0.49957857, 0.0549526, -0.40869385, -0.08780993, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0);
result += mat4(-0.3014447, -0.00021343959, -0.14953177, 0.028001398, -0.14931908, -0.14910097, -0.13287953, -0.45026535, 0.17378895, 0.024704922, -0.027308129, -0.10292025, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0);
result += mat4(-0.06732655, -0.13119644, 0.066014715, 0.081011154, -0.15154321, 0.2407805, 0.07733481, 0.12312706, 0.1741804, 0.008495716, -0.14125362, -0.043644864, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0);
result += mat4(0.11465958, 0.42001364, 0.011069392, 0.3203028, -0.058801666, -0.37830314, -0.030540617, 0.2245139, -0.11310525, -0.14845212, 0.19957744, 0.25789997, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0);
result += mat4(-0.16037206, 0.21326372, 0.020099448, 0.018666709, 0.122083254, -0.16033986, -0.10725163, 0.2556128, 0.1650688, -0.10475823, 0.048623525, -0.103755645, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0);
result += vec4(0.007717166, -0.027800834, 0.0795002, 0.0053199283);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_tf
//!BIND conv2d_tf1
//!SAVE conv2d_1_tf
//!WIDTH conv2d_tf.w
//!HEIGHT conv2d_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(-0.0056740534, -0.21186607, -0.18014967, 0.118979976, -0.0015611284, -0.07708486, 0.060131397, 0.11653345, 0.027150517, 0.10837246, 0.08583816, -0.14032431, 0.017552888, 0.0035846964, 0.03980114, 0.064649396) * go_0(-1.0, -1.0);
result += mat4(-0.03289318, -0.12004539, 0.26514888, -0.15079662, 0.04214227, -0.027273783, -0.027950313, 0.19614808, 0.18510003, -0.10346252, -0.029836183, 0.09174428, -0.0088710375, -0.18273513, 0.06601674, 0.009983851) * go_0(-1.0, 0.0);
result += mat4(0.08476211, 0.043996535, 0.056711517, 0.009976895, 0.07039107, -0.024862664, -0.059921104, 0.046850603, 0.04983447, 0.04863198, 0.21777405, -0.0576961, 0.045321796, -0.0060038245, 0.096396215, -0.10842004) * go_0(-1.0, 1.0);
result += mat4(-0.15746164, 0.041757874, 0.035169285, -0.1734288, -0.24219254, -0.13318908, 0.2272079, -0.02902605, 0.07750601, -0.1467191, -0.12296749, -0.07533314, -0.07073083, 0.17909113, 0.04789308, 0.17245363) * go_0(0.0, -1.0);
result += mat4(0.057547905, 0.1464685, -0.33115456, -0.26956198, -0.26298407, -0.059824817, 0.022509675, -0.09251868, 0.36277944, -0.2072429, 0.21095088, -0.45492023, 0.07428653, 0.1593302, -0.2945834, 0.12825087) * go_0(0.0, 0.0);
result += mat4(-0.1318458, 0.27804148, 0.037600737, 0.12047866, 0.0065036337, 0.0017241207, 0.060497303, -0.14786585, -0.15149063, 0.02731698, 0.048886403, -0.0025970868, -0.026979815, 0.07348884, 0.015636757, -0.107966796) * go_0(0.0, 1.0);
result += mat4(-0.079988025, -0.01626299, 0.06517438, 0.086406484, -0.1484504, 0.070595, 0.20620634, 0.09713373, -0.13620836, 0.012067949, -0.00068703433, -0.038030174, 0.22300471, -0.0012400965, -0.014827909, -0.08927486) * go_0(1.0, -1.0);
result += mat4(0.15634936, 0.052028038, 0.038081627, 0.12720168, 0.07342066, -0.04318368, -0.0065998454, 0.12109317, -0.45398173, 0.03666754, -0.17773737, 0.038516667, -0.13009632, -0.007457001, -0.013938809, 0.09776142) * go_0(1.0, 0.0);
result += mat4(0.029636936, 0.12864171, 0.11347291, -0.11812842, -0.0870342, 0.035678383, 0.050338242, 0.045754932, -0.07072752, 0.010447726, 0.039642975, -0.08795004, -0.1191525, 0.00967509, 0.13485421, -0.053204738) * go_0(1.0, 1.0);
result += mat4(-0.011072695, -0.09613245, -0.09094804, 0.028029291, -0.04031162, 0.15690295, 0.25094184, -0.21776834, 0.06524669, 0.06412185, -0.052852992, -0.08097702, -0.039127756, 0.036357917, 0.104585476, 0.25095442) * go_1(-1.0, -1.0);
result += mat4(-0.08328618, -0.006246033, 0.099708706, -0.014916097, 0.17727195, 0.4369228, 0.14760216, 0.06707674, 0.025167737, -0.022487842, -0.038962565, 0.15380669, 0.08125089, 0.09844594, 0.33538374, -0.003161368) * go_1(-1.0, 0.0);
result += mat4(-0.0128195705, -0.05475118, -0.037705053, -0.0012077648, -0.17425515, 0.091487505, -0.12909423, 0.0074876705, 0.13438368, 5.778033e-05, 0.04563314, -0.12185897, -0.053612474, -0.049824294, -0.12851205, 0.12856449) * go_1(-1.0, 1.0);
result += mat4(-0.025741795, 0.01867236, -0.00027440622, 0.10502768, 0.27042285, -0.14947751, 0.11143123, 0.2575913, -0.07414089, -0.33919522, -0.13194235, -0.20088726, 0.23121537, -0.08197353, 0.06693911, 0.015411386) * go_1(0.0, -1.0);
result += mat4(0.09143717, 0.22842278, 0.06501074, -0.20009698, -0.042117566, -0.23452093, -0.074082755, -0.10612558, 0.077631965, 0.08343657, -0.07657599, -0.43297377, 0.7092466, -0.16272525, 0.17222248, -0.056038965) * go_1(0.0, 0.0);
result += mat4(0.081200436, 0.046752565, 0.028254949, 0.18820632, 0.096592255, 0.05896745, 0.14845169, 0.034777895, 0.07195204, -0.1908046, -0.015341971, 0.02606145, -0.010377239, 0.0755547, -0.15285216, 0.047916733) * go_1(0.0, 1.0);
result += mat4(-0.06825636, -0.049540907, -0.024328846, 0.03506251, 0.2060094, 0.054119263, -0.06671269, 0.052428722, 0.055792283, -0.14336903, -0.03180757, 0.013760968, -0.037398104, -0.06880077, -0.023608573, 0.0360965) * go_1(1.0, -1.0);
result += mat4(-0.16937497, -0.30156836, 0.0021435453, 0.025772978, -0.17990975, 0.046133514, -0.32447076, -0.083382785, -0.081322014, -0.022132374, -0.05319431, 0.11794733, 0.08943906, 0.12927428, 0.105764806, -0.051034793) * go_1(1.0, 0.0);
result += mat4(-0.011012306, 0.047636557, 0.050260928, 0.051847618, 0.010985655, -0.13752967, 0.023869954, 0.07011459, -0.18244945, 0.07239806, -0.013638856, -0.026982805, 0.11395993, -0.031304818, -0.08714153, 0.077115685) * go_1(1.0, 1.0);
result += mat4(0.08707592, 0.2265186, 0.13363098, -0.039588258, -0.029561255, 0.019238092, 0.024606103, -0.0019022018, -0.062285982, -0.0629511, -0.03753033, 0.109805316, 0.016018672, -0.08284564, -0.04092752, -0.030386891) * go_2(-1.0, -1.0);
result += mat4(0.0016500859, 0.01616536, -0.099148355, 0.24161765, 0.028064307, -0.028680569, 0.054400917, -0.1978921, -0.08584302, -0.096797146, -0.06546965, -0.09342837, 0.030265866, 0.07057579, -0.02080932, 0.053178705) * go_2(-1.0, 0.0);
result += mat4(-0.030304352, 0.047440585, -0.04248429, 0.08568772, -0.051317703, 0.036739342, 0.00865767, -0.018183297, -0.07335176, 0.025001721, -0.068509035, 0.1814819, -0.09756565, -0.024179723, -0.05959287, 0.0352454) * go_2(-1.0, 1.0);
result += mat4(0.023015196, -0.022870664, -0.12028372, -0.111095205, 0.11065281, -0.19900022, -0.24012049, -0.017028643, -0.13484617, 0.050107025, 0.10741765, 0.037951697, 0.013090438, -0.0010045726, -0.029447839, -0.1859787) * go_2(0.0, -1.0);
result += mat4(0.17922719, -0.24138594, -0.44595388, -0.032014426, 0.06897096, 0.07125395, 0.1944457, -0.035794795, -0.24022278, -0.13230884, -0.1277025, 0.21229011, -0.12249393, 0.06141907, 0.2687936, -0.26896995) * go_2(0.0, 0.0);
result += mat4(0.0397242, -0.30710965, 0.28815824, -0.06642567, -0.07588877, -0.019552408, 0.0057806037, 0.11465521, 0.03560534, -0.10640553, 0.023589289, -0.16667193, 0.02066607, -0.01026633, -0.02655378, 0.082493655) * go_2(0.0, 1.0);
result += mat4(-0.007902949, -0.08501038, -0.029395591, -0.07072227, -0.01800967, -0.14564751, -0.08372804, -0.049974415, 0.1756957, -0.02042449, -0.04413007, -0.016873527, -0.2385717, -0.001741017, 0.08298281, -0.019873247) * go_2(1.0, -1.0);
result += mat4(-0.01803727, 0.0642893, 0.21513617, 0.066888265, -0.042107955, -0.123470366, 0.045296013, -0.11958806, 0.48208967, -0.027188249, 0.12136116, 0.05246265, 0.13522038, -0.016297493, 0.028486907, -0.059840377) * go_2(1.0, 0.0);
result += mat4(-0.1373251, -0.11281026, -0.06418318, 0.08444032, 0.062874556, -0.009133875, -0.049571835, -0.042995855, 0.12483249, -0.025967957, -0.11202483, 0.09862257, 0.099986054, 0.009230306, -0.09042664, 0.046612263) * go_2(1.0, 1.0);
result += mat4(0.03203309, 0.106030256, 0.045741174, -0.020529225, -0.028610658, -0.055219248, -0.21404657, 0.07746393, -0.059359375, 0.0033258004, -0.0054513607, 0.06856653, 0.18043655, -0.119936846, -0.05639265, -0.10240379) * go_3(-1.0, -1.0);
result += mat4(-0.0004331875, 0.10426754, -0.008130048, 0.012795991, -0.14372933, -0.40797862, 0.105197415, -0.0041354536, -0.079792455, 0.0914027, 0.012418237, -0.11449173, 0.020261409, -0.14681602, -0.13355242, 0.18290488) * go_3(-1.0, 0.0);
result += mat4(0.052306626, 0.010864275, -0.072627716, -0.009773121, 0.09484167, -0.09631301, 0.14896165, -0.21220942, -0.11994051, -0.002957136, -0.118194886, 0.08661347, 0.10005298, -0.029620873, 0.101668894, 0.0242806) * go_3(-1.0, 1.0);
result += mat4(-0.055188183, -0.06322889, 0.12994595, 0.03140751, -0.092755616, 0.04239107, 0.18460171, 0.08471877, 0.014203371, 0.13608724, 0.035351243, -0.07883493, -0.10067456, 0.14417742, 0.0054235114, 0.100745104) * go_3(0.0, -1.0);
result += mat4(-0.043811034, -0.16055201, -0.11927185, 0.20517266, 0.16734722, 0.27720267, 0.1205665, 0.045803893, -0.07874647, 0.06764307, -0.11157022, 0.080770165, -0.044105835, -0.03276538, -0.10945451, 0.100562036) * go_3(0.0, 0.0);
result += mat4(-0.044731796, -0.12854387, -0.061937924, -0.21604767, -0.036132332, -0.024353411, -0.16718283, 0.14903957, -0.11620588, 0.14563644, 0.23363836, 0.08400659, 0.15248756, -0.1424437, 0.112882614, -0.04096889) * go_3(0.0, 1.0);
result += mat4(-0.0486021, -0.05714939, 0.042517707, -0.06106919, -0.12970918, -0.071898215, -0.044727243, -0.026308542, 0.05687118, -0.0394057, -0.109454155, -0.0021216893, 0.018588595, 0.08061093, 0.0500373, -0.0034918839) * go_3(1.0, -1.0);
result += mat4(0.11269324, -0.17924047, -0.12965205, -0.07287767, -0.015830642, -0.044497102, 0.20014328, -0.14054494, 0.1232692, 0.2395109, 0.14093149, 0.03518561, -0.14088139, -0.09045081, -0.07283352, 0.053434785) * go_3(1.0, 0.0);
result += mat4(0.020512339, 0.026349569, -0.06666101, 0.05554806, -0.03044066, 0.26656216, 0.019155584, -0.12118906, 0.087923005, -0.1716557, 0.050843164, 0.037432503, -0.030232614, 0.030457936, 0.04232163, -0.066400655) * go_3(1.0, 1.0);
result += vec4(-0.0216415, 0.09015036, -0.030761974, -0.26541537);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_tf
//!BIND conv2d_tf1
//!SAVE conv2d_1_tf1
//!WIDTH conv2d_tf.w
//!HEIGHT conv2d_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(0.04688368, 0.13853125, 0.1714716, -0.03034447, -0.08090605, 0.1225867, 0.17535992, 0.012508419, -0.0010665918, -0.07481546, -0.15541986, 0.0671128, -0.029307734, -0.076674186, 0.03925896, -0.07140553) * go_0(-1.0, -1.0);
result += mat4(-0.13273083, 0.062933214, 0.04200143, -0.0080243945, -0.120439716, -0.090192355, -0.022639645, 0.00020024918, -0.11211478, -0.12949537, 0.025783822, 0.009155746, 0.01004339, -0.0661901, 0.10630156, 0.053137038) * go_0(-1.0, 0.0);
result += mat4(0.07113487, -0.16011865, -0.10838903, -0.0034704183, 0.110606894, -0.14915739, 0.036511585, -0.003103608, -0.0551775, -0.13140677, 0.05270299, 0.12139221, 0.02226174, 0.008415268, -0.06647426, 0.118130066) * go_0(-1.0, 1.0);
result += mat4(-0.045172617, -0.0020388453, -0.27287582, 0.002428232, -0.2833772, 0.13788106, 0.073339015, 0.10666715, 0.08455194, 0.16499293, 0.089058325, 0.008815447, 0.034657538, -0.109856166, -0.11499077, -0.02918854) * go_0(0.0, -1.0);
result += mat4(0.07910854, -0.26334837, -0.3246593, -0.08246522, 0.09211476, 0.40793833, -0.09658794, -0.14430091, -0.50632644, 0.087234974, 0.26298127, 0.3687086, 0.06492316, 0.23082961, 0.18233871, -0.09283792) * go_0(0.0, 0.0);
result += mat4(-0.022744032, 0.21690565, 0.2694824, -0.12230013, -0.07969618, 0.21595429, -0.034979805, 0.008938489, 0.21289209, -0.446482, -0.042927746, -0.13587558, -0.032581557, -0.07182814, -0.054092336, -0.009542036) * go_0(0.0, 1.0);
result += mat4(-0.0034912943, -0.080354184, -0.08577375, -0.1521193, 0.09809233, 0.034529503, -0.100664355, 0.008191219, -0.014303411, -0.02862216, -0.18669915, -0.12384598, 0.046499267, 0.093707144, 0.10661308, 0.15079576) * go_0(1.0, -1.0);
result += mat4(-0.031025652, -0.0384342, 0.14258307, 0.25531343, 0.0075049917, -0.03966595, 0.062381975, 0.19593526, -0.2868182, 0.03162008, -0.4391041, -0.524017, -0.034463473, -0.0066741486, -0.24586639, 0.10521736) * go_0(1.0, 0.0);
result += mat4(-0.07452321, -0.0227877, -0.025402244, 0.115727395, -0.039511252, -0.07785703, -0.013689458, 0.0066024344, -0.052957747, 0.011206241, -0.0021671024, 0.077190824, -0.11709912, 0.046635598, 0.123751156, -0.03712064) * go_0(1.0, 1.0);
result += mat4(0.055411004, -0.0020031065, 0.06685547, -0.018829947, -0.06378933, -0.18389674, -0.0023551763, 0.0670314, 0.13038594, 0.0601923, -0.03035789, -0.019537423, -0.014483204, -0.056800704, 0.08663347, -0.106859975) * go_1(-1.0, -1.0);
result += mat4(-0.06603686, 0.07360526, -0.0072026253, -0.06778907, -0.039178446, 0.012397263, -0.13482279, 0.05745685, -0.055182382, -0.10545766, 0.003857615, 0.041947857, -0.15239377, 0.041826613, 0.058879383, -0.0042669442) * go_1(-1.0, 0.0);
result += mat4(-0.0697229, -0.010702144, -0.032265816, 0.013317131, 0.105028264, 0.21032134, 0.06845646, -0.018358687, 0.064568676, 0.08437135, -0.000723181, 0.1324007, 0.05527932, -0.049871888, -0.10125047, -0.005040889) * go_1(-1.0, 1.0);
result += mat4(-0.006467578, -0.05120533, -0.011780779, -0.011742203, -0.34242442, -0.020819988, 0.17381702, -0.059836414, -0.028882682, 0.23210457, 0.16579404, -0.03708216, -0.23541835, -0.03290251, 0.029319672, 0.26189178) * go_1(0.0, -1.0);
result += mat4(-0.30955994, -0.06408282, -0.16872866, 0.10767772, -0.041430887, 0.051697977, 0.12523535, -0.060389146, 0.026289431, 0.06359533, 0.13526368, 0.2479901, -0.3263977, 0.10216362, -0.0030894123, 0.046437826) * go_1(0.0, 0.0);
result += mat4(0.10061438, -0.17047118, -0.21593021, -0.023389054, -0.17507865, -0.30822313, -0.22044766, 0.16078933, 0.07099252, -0.11573018, 0.24712858, -0.0659458, -0.037504572, -0.12297423, 0.03342632, -0.058119852) * go_1(0.0, 1.0);
result += mat4(-0.020957774, -0.0224927, 0.04069268, -0.07911167, 0.074009344, 0.065916434, 0.008222278, 0.11625076, -0.25299504, 0.03357169, -0.021988, 0.015821831, -0.0021187372, -0.030700417, -0.004374924, 0.027358979) * go_1(1.0, -1.0);
result += mat4(0.06549052, -0.048067164, 0.05489091, -0.28851983, 0.13378961, 0.026875904, -0.09877994, -0.19947459, -0.1274035, -0.022928834, -0.26344195, -0.025870804, 0.022505255, 0.0070861108, 0.121051334, -0.025964163) * go_1(1.0, 0.0);
result += mat4(0.059426542, -0.0327433, 0.2313695, -0.07046268, 0.20479666, 0.027021704, 0.2564928, -0.11689885, -0.07407976, -0.019611249, 0.093463086, -0.121553615, 0.035009407, -0.008135333, -0.075931996, 0.047803063) * go_1(1.0, 1.0);
result += mat4(-0.059434246, -0.1652242, -0.124611154, 0.04743711, 0.10530296, -0.13869187, -0.036534663, -0.035206333, 0.06067593, 0.06126907, 0.120151915, -0.06722673, 0.008103894, 0.037225723, -0.007520425, 0.065720856) * go_2(-1.0, -1.0);
result += mat4(-3.6759695e-05, -0.036789574, 0.013370567, -0.037871476, -0.013454664, 0.15086569, 0.10164699, 0.057703357, -0.12871023, 0.12827681, -0.055057358, -0.040753044, -0.0142621, 0.08563361, -0.04615499, -0.03130452) * go_2(-1.0, 0.0);
result += mat4(-0.117965914, 0.09056485, 0.07272314, 0.009695964, -0.11331058, 0.07467256, -0.08291521, 0.00937355, -0.04097737, 0.07752905, -0.017335521, -0.12539999, 0.039462104, -0.0007037007, 0.06034812, -0.09497377) * go_2(-1.0, 1.0);
result += mat4(0.20828065, 0.0400099, 0.047638226, -0.046423353, -0.026133502, 0.098207295, 0.056742374, 0.017029466, -0.058164768, -0.046973787, -0.17328712, -0.0012984811, 0.050085854, 0.11296557, 0.12639083, 0.058543045) * go_2(0.0, -1.0);
result += mat4(-0.098907426, 0.22031747, 0.101559944, 0.06616554, 0.026110496, 0.56487054, 0.23754556, -0.07540935, 0.31768414, -0.47653618, 0.015073956, -0.33731326, 0.087285936, -0.24593173, -0.26141426, 0.15003823) * go_2(0.0, 0.0);
result += mat4(0.046026446, -0.13767281, 0.064847544, 0.07717139, 0.08544123, -0.11092969, 0.072325274, 0.010849038, -0.3055905, 0.66436774, 0.1434729, 0.0494463, 0.07115603, 0.083811216, 0.020431712, 0.06537088) * go_2(0.0, 1.0);
result += mat4(-0.15532711, 0.030139687, 0.040853374, 0.11089222, -0.08150315, -0.015851755, -0.06787692, 0.096075505, -0.011956207, -0.0017758606, 0.1277494, 0.16156575, -0.038588695, -0.0626418, -0.041797023, -0.19467135) * go_2(1.0, -1.0);
result += mat4(0.12917455, 0.017410474, -0.20125067, -0.08040003, -0.13494664, 0.17789102, -0.19909395, 0.08441434, 0.078570575, -0.06330619, 0.23767303, 0.5442659, -0.009227878, -0.021818208, 0.14318731, -0.09042824) * go_2(1.0, 0.0);
result += mat4(0.097801, 0.09345441, 0.17846581, -0.14773296, 0.06536365, 0.07642184, -0.011880635, 0.02086135, 0.013336972, -0.053295113, -0.13410404, 0.027241753, 0.087728985, -0.044033397, -0.13098569, 0.009423933) * go_2(1.0, 1.0);
result += mat4(-0.02488427, 0.0134966355, -0.0075000813, 0.07272353, 0.015842725, 0.13765687, 0.028079558, -0.08384948, -0.06666623, -0.023220664, 0.025091043, -0.055167805, -0.18826278, 0.04423603, 0.13499942, 0.059128854) * go_3(-1.0, -1.0);
result += mat4(0.01935146, -0.030980906, -0.031569187, -0.0036869382, 0.036753897, 0.118464164, 0.15871695, -0.09842428, 0.023324292, 0.071796335, -0.07869346, -0.10751301, -0.2588698, 0.064011686, 0.17386378, -0.039197855) * go_3(-1.0, 0.0);
result += mat4(0.08590827, 0.005497696, -0.026512025, 0.015661815, 0.1102415, -0.08268483, -0.0032903247, 0.10049029, -0.008157236, -0.035823178, -0.017570151, -0.081716835, -0.3531045, 0.010005245, 0.017141227, -0.016376914) * go_3(-1.0, 1.0);
result += mat4(-0.16617337, -0.007689783, 0.00954665, 0.07117733, -0.001669262, -0.012331606, 0.051613946, 0.062780835, 0.06123557, -0.20243123, -0.19181818, 0.032895602, 0.19760677, 0.004464939, 0.12754539, -0.27360034) * go_3(0.0, -1.0);
result += mat4(0.15006685, -0.083587274, -0.03215495, -0.16992462, -0.011944293, 0.058361508, -0.088097006, 0.023880545, -0.04168166, -0.06960282, -0.092672385, -0.057278465, 0.23540072, -0.1721208, -0.018213503, -0.23494521) * go_3(0.0, 0.0);
result += mat4(-0.124885194, 0.1905868, 0.11108704, 0.03163991, 0.11383064, 0.101223364, 0.069428995, -0.14298953, -0.07609092, 0.13704266, -0.07749446, -0.0005389336, -0.04617235, 0.18011934, 0.08350316, 0.09416366) * go_3(0.0, 1.0);
result += mat4(0.073356606, 0.067966126, -0.21285574, 0.0782625, -0.0034364646, -0.032581426, -0.05538558, -0.1317288, 0.14552782, -0.1132393, 0.13063973, -0.00833602, 0.0026844777, 0.028135289, -0.02536825, -0.028372496) * go_3(1.0, -1.0);
result += mat4(-0.318728, 0.07862527, -0.12176221, 0.35010242, -0.029198067, 0.016302662, 0.17667587, 0.12605923, 0.1556697, -0.06061443, 0.05843511, 0.10891248, 0.01267106, -0.018492714, -0.15945031, -0.050723754) * go_3(1.0, 0.0);
result += mat4(-0.21555941, -0.016813517, -0.084676236, -0.07545412, -0.14518794, -0.014592766, -0.2446481, 0.0530632, 0.0847341, 0.12342537, -0.028644923, 0.083479315, -0.04179012, 0.0025225023, 0.16006976, -0.026940256) * go_3(1.0, 1.0);
result += vec4(-0.060742114, -0.037577342, 0.055704296, 0.03134311);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_1_tf
//!BIND conv2d_1_tf1
//!SAVE conv2d_2_tf
//!WIDTH conv2d_1_tf.w
//!HEIGHT conv2d_1_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(0.13129333, -0.022117995, -0.009753253, 0.020439912, 0.044090994, -0.0916335, 0.0036765633, -0.11719207, -0.06413809, 0.04079378, -0.00085516454, -0.06306388, -0.12660664, -0.054126263, -0.005513979, 0.06364538) * go_0(-1.0, -1.0);
result += mat4(-0.028422508, 0.23270117, -0.28674677, -0.10820166, 0.024321957, -0.0811145, -0.07290707, -0.02125165, -0.064260505, 0.052076746, -0.009654081, 0.08363882, -0.02037171, 0.15006389, 0.121593125, -0.011237004) * go_0(-1.0, 0.0);
result += mat4(-0.14672333, 0.015381624, 0.1028172, -0.041823238, 0.0072677187, -0.042953942, 0.06426537, -0.0938381, -0.05990813, -0.04599802, -0.11264726, -0.027826328, -0.058160868, 0.10747306, -0.07327458, 0.07998872) * go_0(-1.0, 1.0);
result += mat4(-0.08702181, -0.03750975, -0.045659006, 0.04488332, 0.09102003, 0.066556975, -0.04353586, 0.08994567, -0.13561495, -0.10653702, 0.006989605, 0.028230097, 0.07177144, 0.2938447, -0.00943923, 0.022120917) * go_0(0.0, -1.0);
result += mat4(-0.1801194, -0.11119162, 0.1977298, -0.247902, -0.16654298, -0.07423158, 0.114130594, 0.0014401592, 0.006954727, -0.09810646, -0.051310766, 0.19487657, 0.2545855, -0.06328558, -0.04617056, 0.09444692) * go_0(0.0, 0.0);
result += mat4(0.011378825, 0.16044368, 0.017211074, 0.14472178, 0.032992378, -0.008925819, 0.035120245, -0.012409223, 0.074333005, 0.1178002, -0.128956, -0.13624239, -0.2791275, 0.21457297, -0.1476131, 0.04874687) * go_0(0.0, 1.0);
result += mat4(-0.03491764, -0.061763793, 0.05779039, 0.0054837577, -0.023937583, 0.08281698, 0.032306053, -0.014566218, 0.12738499, -0.0132100545, -0.051833414, 0.0057818824, 0.012158851, -0.20231532, -0.0043795826, 0.10285843) * go_0(1.0, -1.0);
result += mat4(-0.22269921, -0.15135509, -0.039143335, 0.033390045, 0.06770212, -0.14538582, -0.08011057, 0.03796648, -0.025913516, 0.13925864, 0.18309896, 0.012709204, -0.24912506, 0.3217706, 0.0394195, 0.017977878) * go_0(1.0, 0.0);
result += mat4(0.00080196525, 0.059145816, 0.05720508, 0.0056548906, 0.005168018, 0.09938438, 0.0200503, -0.05516137, 0.061309986, -0.019621318, -0.1541441, 0.019540716, 0.030571707, -0.09054893, 0.032851614, -0.27210873) * go_0(1.0, 1.0);
result += mat4(0.27061436, -0.114008114, -0.0020118617, -0.1656827, 0.09770587, 0.029897455, -0.03307522, -0.04661818, 0.033011347, 0.18498488, -0.05162084, 0.087471776, -0.24665618, -0.12538423, -0.08123797, -0.010210389) * go_1(-1.0, -1.0);
result += mat4(0.075188264, 0.0020608555, 0.18558815, 0.041179713, 0.11232638, 0.05507779, -0.19599183, 0.027942855, 0.06199144, 0.22141005, -0.06121163, 0.014993597, 0.24105869, -0.019737717, -0.112485714, 0.0157406) * go_1(-1.0, 0.0);
result += mat4(0.09425698, 0.0207658, 0.12074599, 0.009430481, 0.11889248, -0.025782838, 0.0034711843, 0.05113582, 0.012531833, -0.0018606635, -0.09137569, 0.018120576, 0.4051155, 0.02222076, -0.16001017, 0.10981527) * go_1(-1.0, 1.0);
result += mat4(-0.03582557, 0.014994796, -6.4688604e-05, 0.24618183, -0.11697727, 0.24388117, 0.038502026, -0.3511993, 0.101741396, -0.10748137, 0.035059888, -0.017535849, 0.09450039, 0.06541661, 0.12149035, 0.28798738) * go_1(0.0, -1.0);
result += mat4(-0.27143848, 0.017990451, -0.69144464, 0.037944376, -0.04551905, 0.09263134, 0.4259611, -0.14107811, -0.10641847, 0.23065196, 0.040813655, -0.07789163, 0.3087666, 0.08190437, 0.16409059, -0.06455426) * go_1(0.0, 0.0);
result += mat4(-0.08290655, -0.35286915, -0.18082355, -0.32229406, 0.1608227, 0.030915622, 0.09207708, 0.02655054, 0.039464593, 0.026095424, 0.052584656, 0.033881903, -0.01751319, -0.0011676399, 0.04002607, 0.1630013) * go_1(0.0, 1.0);
result += mat4(-0.012021132, 0.12163766, -0.07410629, -0.06879096, 0.017859738, -0.039261997, -0.028677614, -0.23610398, -0.15963873, -0.0006119958, 0.11275506, 0.0082659265, 0.05677582, 0.08676638, -0.08669759, -0.10475464) * go_1(1.0, -1.0);
result += mat4(0.12792721, 0.06888765, 0.31803077, 0.26002547, -0.067599155, -0.011822328, -0.2589909, -0.30024147, 0.11076704, 0.15200609, -0.018180368, -0.19146141, 0.22298847, 0.059484895, 0.034478076, 0.15610938) * go_1(1.0, 0.0);
result += mat4(0.0870121, -0.016420847, -0.011579898, 0.097182855, -0.120095566, -0.06843338, -0.043460473, -0.060684606, -0.027540063, -0.008499213, 0.033570655, -0.06866259, 0.01429712, -0.07424434, 0.0009466247, 0.09142678) * go_1(1.0, 1.0);
result += mat4(-0.03781424, 0.04587032, 0.03744051, 0.02712279, -0.051038064, 0.0669144, -0.02640278, 0.12384894, -0.0022533627, -0.010022036, 0.07536463, -0.030489929, 0.09418577, 0.155089, -0.011290433, -0.02102941) * go_2(-1.0, -1.0);
result += mat4(-0.0053278613, -0.07160643, 0.039028414, 0.04123311, -0.10693177, -0.1170874, 0.07230816, -0.033255517, -0.119176835, 0.0786526, -0.11880206, -0.11354601, -0.037539184, 0.14404313, 0.069760695, 0.024738638) * go_2(-1.0, 0.0);
result += mat4(0.03413808, -0.006487654, 0.10006853, 0.22228058, -0.13796462, -0.14042488, 0.04017443, -0.031790894, -0.06673143, 0.009888688, 0.08831443, -0.0045771743, -0.028375361, -0.04704813, 0.07128581, -0.07012518) * go_2(-1.0, 1.0);
result += mat4(-0.06954315, -0.23728988, -0.14192343, -0.08236467, -0.2552115, 0.04102959, -0.06355397, -0.08340241, 0.17617856, 0.20281969, -0.16249381, 0.10843737, -0.04392261, -0.08587206, 0.053069845, -0.15482199) * go_2(0.0, -1.0);
result += mat4(0.124981806, 0.12828638, -0.061472785, -0.20108232, -0.14905351, -0.40766275, -0.35427195, -0.13183996, 0.09307428, -0.07697028, 0.06702549, -0.22656697, 0.019868268, -0.19361132, 0.08784669, 0.20249842) * go_2(0.0, 0.0);
result += mat4(-0.004661343, -0.09333453, -0.24876262, -0.07906779, 0.110697776, -0.37069768, -0.042212646, -0.0046135853, -0.2254257, -0.023392014, 0.031476703, -0.045574382, -0.12675518, -0.076056994, -0.08228006, -0.040303517) * go_2(0.0, 1.0);
result += mat4(0.16182694, 0.0512523, 0.051189836, 0.048962783, -0.05156489, -0.17987493, -0.012037288, 0.06953726, -0.09458492, 0.1610021, -0.004063283, -0.032922342, 0.08995396, 0.1939926, -0.018710036, -0.08153231) * go_2(1.0, -1.0);
result += mat4(-0.064830944, 0.06121252, -0.18886387, -0.12976822, -0.031117212, 0.12219633, 0.19070715, 0.12495262, -0.11994464, -0.24687837, -0.08425294, -0.016920334, -0.13286817, -0.3260188, -0.11776061, 0.1651019) * go_2(1.0, 0.0);
result += mat4(-0.17652592, 0.002499805, -0.030541016, -0.01393431, 0.031418208, 0.08209422, 0.12430871, 0.4387016, -0.108871914, -0.09041422, 0.031226631, -0.1638517, 0.20756467, 0.014476537, -0.012701195, -0.03440563) * go_2(1.0, 1.0);
result += mat4(0.005320072, -0.0032291536, -0.017209187, 0.031944863, -0.2479921, -0.24433962, -0.13832912, 0.07835928, -0.17707248, 0.028202811, -0.19121435, 0.164587, 0.123152815, 0.0050288937, 0.084104605, -0.0380019) * go_3(-1.0, -1.0);
result += mat4(0.16008669, -0.018608516, -0.013778938, 0.033447385, -0.01242472, -0.070916265, 0.026909694, -0.07318777, 0.15158044, 0.12047607, -0.1709358, 0.2031767, 0.0025611701, -0.21457459, 0.2791286, 0.10159932) * go_3(-1.0, 0.0);
result += mat4(0.14320926, 0.020023825, -0.0484187, 0.011563084, -0.2640472, -0.013056275, 0.004234292, -0.095376395, 0.28363484, -0.0058227647, -0.0777649, 0.05238444, 0.41757923, -0.07081097, 0.012567031, -0.13029522) * go_3(-1.0, 1.0);
result += mat4(0.07266207, 0.042793367, -0.08212271, -0.23401663, -0.19457819, 0.4191269, -0.03095442, 0.15339781, -0.28451788, 0.09316364, 0.10231693, -0.22844811, 0.111623526, 0.120017685, 0.18777381, 0.014420896) * go_3(0.0, -1.0);
result += mat4(0.15037206, -0.29763284, 0.2601235, 0.0193363, 0.13686465, 0.009907918, -0.37781665, 0.04916627, 0.14114739, 0.5043813, 0.0447959, -0.029427614, 0.041768756, 0.27211213, 0.14163221, 0.086162075) * go_3(0.0, 0.0);
result += mat4(0.19159287, 0.21363218, 0.15053211, 0.08992885, 0.100828275, 0.09379921, 0.030783929, 0.11664482, -0.059145752, -0.19400764, -0.09351283, -0.016430443, -0.12910964, -0.067078374, 0.11760082, 0.121194765) * go_3(0.0, 1.0);
result += mat4(-0.055059325, 0.09299572, 0.06848913, 0.06334532, -0.1476285, 0.111801244, -0.033960916, 0.06474366, -0.04952303, 0.27885208, -0.052447475, 0.09226763, -0.15024844, -0.0033919013, 0.013498364, 0.09135676) * go_3(1.0, -1.0);
result += mat4(-0.017010042, -0.122343406, -0.19097193, -0.27957183, -0.18206005, 0.102321096, 0.22794476, 0.0439245, -0.23710132, -0.08070259, 0.17377135, 0.23811814, 0.17799385, 0.049567625, 0.1470908, 0.07329385) * go_3(1.0, 0.0);
result += mat4(0.0038071256, 0.19454515, -0.01222965, -0.07390379, -0.0532754, 0.03942833, 0.123840906, 0.023459576, -0.0658742, -0.023957543, -0.14682837, 0.1221027, -0.010986398, -0.066184506, 0.03026491, -0.0638446) * go_3(1.0, 1.0);
result += vec4(-0.06427697, -0.00039365015, 0.011889719, 0.060232002);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_1_tf
//!BIND conv2d_1_tf1
//!SAVE conv2d_2_tf1
//!WIDTH conv2d_1_tf.w
//!HEIGHT conv2d_1_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(-0.012110923, 0.07818654, 0.07964548, 0.11885079, -0.07694473, -0.01378252, 0.006632789, -0.12876098, 0.0069211307, 0.022278586, 0.069553085, 0.16569804, -0.11123615, 0.06125189, -0.11232848, 0.1559266) * go_0(-1.0, -1.0);
result += mat4(-0.3261174, -0.25586754, 0.21129315, 0.3135101, 0.1509055, 0.0044283345, 0.024674175, -0.08000473, 0.01213029, 0.09093019, 0.04942677, 0.09806723, -0.16454464, -0.14433062, -0.058094524, -0.060819894) * go_0(-1.0, 0.0);
result += mat4(0.023174008, 0.02858724, 0.07685972, 0.036857616, -0.10415571, 0.10241035, -0.01893166, 0.02065923, 0.058356714, 0.096426114, -0.03772327, -0.1529002, 0.13740575, -0.048291504, -0.06152548, -0.15199897) * go_0(-1.0, 1.0);
result += mat4(0.029300174, -0.13222043, 0.0139825605, -0.02274408, 0.062944874, 0.028447356, 0.05960515, 0.034447193, 0.03133432, -0.019283533, -0.024591971, -0.0043914663, 0.15245225, 0.006851478, -0.051783554, 0.17453748) * go_0(0.0, -1.0);
result += mat4(-0.09125915, 0.081739366, 0.01196335, 0.23130219, -0.22557035, -0.13537665, 0.0022028848, -0.043430023, 0.22759882, 0.07920754, -0.027986467, -0.14051494, -0.19557038, -0.03585936, -0.4258294, -0.03856216) * go_0(0.0, 0.0);
result += mat4(0.18511422, -0.09368415, 0.1551229, 0.04322566, -0.023400841, -0.02261204, 0.15129441, -0.007954805, -0.10739125, 0.019459398, 0.013128325, 0.018073296, 0.20886365, -0.20662378, -0.03814699, -0.09272838) * go_0(0.0, 1.0);
result += mat4(-0.027352437, -0.039882626, 0.12598103, -0.093930446, 0.030846786, -0.09325075, -0.009084744, -0.024584265, 0.07159868, 0.14162529, 0.19019091, 0.058855128, -0.09880401, -0.01843218, 0.14753596, -0.2449532) * go_0(1.0, -1.0);
result += mat4(0.06565521, 0.09150168, -0.08654865, 0.0829788, -0.07596146, -0.01815166, -0.08786775, -0.03477514, 0.20538878, -0.012766377, 0.020719538, 0.088188395, -0.034300096, 0.29972988, -0.20005241, 0.018425167) * go_0(1.0, 0.0);
result += mat4(0.11713916, 0.024167519, 0.05167596, -0.0027117804, -0.016994188, 0.048177514, -0.012556207, 0.010979094, 0.09098878, 0.028514355, 0.06063336, -0.06624107, 0.012754856, 0.013208708, -0.061374772, -0.0025992664) * go_0(1.0, 1.0);
result += mat4(-0.09053513, 0.03183455, 0.017340872, 0.12934409, -0.022161964, -0.0015361432, -0.049972344, -0.12763855, 0.12779881, -0.04697911, 0.018968226, -0.119873665, 0.05462772, -0.13919477, -0.10226718, -0.2540179) * go_1(-1.0, -1.0);
result += mat4(-0.29912186, -0.09291771, 0.050926663, 0.49361777, 0.21372582, 0.076717265, -0.058968987, -0.1572678, 0.3194591, -0.120582424, 0.03942037, 0.023128232, 0.24321598, 0.07046334, -0.21204855, -0.648296) * go_1(-1.0, 0.0);
result += mat4(0.05366883, -0.020366706, 0.020979457, -0.06893884, 0.04837168, 0.017253762, 0.008874203, -0.020785445, -0.20425391, 0.060179923, 0.046167206, 0.09863377, -0.14381303, 0.038928367, -0.06590863, -0.18408588) * go_1(-1.0, 1.0);
result += mat4(0.07099762, 0.2029403, -0.033945918, 0.15202214, 0.0901113, -0.27336198, -0.17693861, -0.16206753, -0.17642029, 0.09400492, -0.11165698, -0.07863893, -0.16306102, -0.056210615, 0.22173557, 0.013508989) * go_1(0.0, -1.0);
result += mat4(0.08541511, -0.27093616, -0.35273993, -0.48919773, 0.038383547, -0.16013749, 0.012996215, -0.03434873, 0.07024113, -0.28971404, 0.10623425, -0.0019642068, -0.062374946, 0.3291145, 0.22468035, -0.42971882) * go_1(0.0, 0.0);
result += mat4(0.020427933, 0.15062793, 0.08308975, -0.025095072, 0.030093266, -0.09649862, -0.03382388, -0.0016017791, 0.105402954, 0.020693144, -0.051065, 0.07704679, 0.02864139, -0.00135146, 0.03762216, 0.029277142) * go_1(0.0, 1.0);
result += mat4(0.01700994, 0.12214317, 0.06749582, 0.07354159, -0.093085855, -0.065021954, 0.010773045, -0.00095128635, -0.045384295, -0.072611265, -0.043900184, 0.049471326, 0.029131187, 0.03180158, -0.13313527, 0.05280797) * go_1(1.0, -1.0);
result += mat4(0.14751251, -0.15087761, 0.09932281, -0.099232934, -0.062390897, 0.112391844, -0.09159478, 0.15856399, 0.034708973, 0.01819943, -0.02730164, -0.13562973, -0.05687333, -0.0114601655, 0.07025971, 0.02496533) * go_1(1.0, 0.0);
result += mat4(-0.0117268525, -0.026162883, 0.07481553, 0.13420302, 0.029870516, 0.07405776, -0.06379041, 0.09631234, -0.07754842, 0.035888605, 0.0034764851, -0.040771756, -0.092022054, -0.034230903, -0.02281844, -0.0028173258) * go_1(1.0, 1.0);
result += mat4(-0.059846643, 0.016772347, -0.02287152, 0.07036337, -0.024946844, 0.09826078, -0.068491876, 0.20852126, 0.073890835, -0.058288682, 0.013093785, -0.05776076, 0.0516503, 0.052794468, 0.10837015, 0.038539834) * go_2(-1.0, -1.0);
result += mat4(-0.16391893, -0.008062687, -0.35022175, 0.2510062, -0.15820411, 0.048403125, 0.024878092, 0.037888516, -0.035924178, -0.068953894, -0.025386479, 0.24405715, -0.018495679, -0.051277515, 0.14754932, -0.031538483) * go_2(-1.0, 0.0);
result += mat4(-0.038429607, -0.047140498, -0.018157095, -0.029318782, -0.04094171, -0.11870087, 0.11214255, 0.07142628, 0.021007229, -0.005681072, 0.1662777, 0.10829575, 0.112268396, 0.03567479, -0.06738845, 0.0032037434) * go_2(-1.0, 1.0);
result += mat4(-0.032217573, 0.2102397, -0.20617546, -0.07920811, 0.12918773, 0.054486286, -0.13656865, 0.05806265, 0.01963165, 0.049910642, 0.15538268, 0.10724465, -0.09697837, -0.03070673, -0.0071386313, -0.11899626) * go_2(0.0, -1.0);
result += mat4(0.130827, 0.0051715383, -0.07212691, 0.45726067, 0.2773031, 0.2973666, 0.3951691, 0.01333662, -0.14561643, 0.04508669, 0.121690124, 0.13326228, -0.22579186, 0.058161184, 0.09281702, -0.00079749606) * go_2(0.0, 0.0);
result += mat4(-0.00771113, 0.09912341, -0.41895548, -0.06705759, 0.029148718, 0.052991726, 0.18665347, -0.031787418, 0.23053595, 0.09444956, 0.10691037, -0.06325714, -0.05335701, 0.1917427, -0.0065284846, 0.032622546) * go_2(0.0, 1.0);
result += mat4(-0.056801565, -0.019131258, -0.0939022, -0.08130343, -0.11051993, 0.0035269214, -0.047361933, -0.0543875, 0.10854369, 0.06445185, 0.016828364, -0.022595318, 0.1450623, 0.033027507, -0.020425137, 0.16169788) * go_2(1.0, -1.0);
result += mat4(-0.08747717, 0.07770065, 0.018155783, 0.07160794, 0.09860347, -0.04329888, -0.0043579484, -0.2014418, -0.060260013, 0.0036374568, -0.17566042, -0.2268221, 0.001273691, -0.2609373, -0.19417606, -0.04102927) * go_2(1.0, 0.0);
result += mat4(-0.086845055, -0.114253804, -0.13433142, -0.025941795, -0.0155711295, -0.13578776, 0.12059696, -0.08760523, -0.0057348222, 0.12164273, 0.07270617, -0.06352636, 0.08894258, 0.04140841, 0.1230304, -0.030357126) * go_2(1.0, 1.0);
result += mat4(0.03320213, 0.015911903, -0.06288296, -0.121976145, 0.2713457, 0.13913193, -0.092420585, 0.105714336, 0.10294281, -0.04591945, -0.11767934, 0.032249406, -0.06506192, -0.04639334, 0.08137017, -0.031746846) * go_3(-1.0, -1.0);
result += mat4(0.13717805, 0.0071242675, -0.077256985, -0.14974317, -0.08467893, -0.20126395, -0.06240603, 0.09554399, -0.075844854, 0.28380412, 0.046030026, 0.053188596, 0.50943077, 0.1179795, 0.32203588, -0.06712207) * go_3(-1.0, 0.0);
result += mat4(-0.18528835, 0.0016975187, -0.0041140947, 0.11234392, -0.34049067, -0.056880493, -0.04325441, 0.09905571, 0.10978758, 0.009608353, -0.10801905, -0.04071131, -0.09096832, -0.12350487, 0.011801418, 0.22521795) * go_3(-1.0, 1.0);
result += mat4(0.040283076, -0.034117915, -0.026142653, -0.06058959, 0.12511659, 0.4131219, 0.59190845, 0.39758852, 0.16032091, -0.5975032, -0.14516282, 0.115154505, 0.03874097, 0.18462797, 0.22934213, 0.05285643) * go_3(0.0, -1.0);
result += mat4(-0.17804009, 0.33769128, -0.14572927, -0.029545018, 0.3897, -0.055615567, 0.15232995, 0.48788264, -0.21422523, 0.03397293, 0.0337794, -0.19830915, -0.022457365, -0.35096076, 0.42616987, -0.19268763) * go_3(0.0, 0.0);
result += mat4(-0.13191561, -0.18337126, 0.017879983, -0.070472844, -0.09409196, -0.025770849, -0.060219247, 0.10869267, -0.17341033, -0.09199785, -0.0667796, -0.093538545, -0.21300837, 0.030474098, -0.04540468, 0.041321553) * go_3(0.0, 1.0);
result += mat4(-0.0998177, -0.08669185, -0.0090886615, 0.0021083376, 0.08900095, 0.5062186, 0.45537788, 0.029077586, -0.1001008, -0.0077697043, -0.0096318, 0.11706454, 0.07401959, -0.00650215, 0.06092762, 0.037442297) * go_3(1.0, -1.0);
result += mat4(-0.18500404, 0.0024998419, -0.11761331, -0.026825588, 0.27255726, 0.093010515, 0.3281413, -0.051473666, -0.050259475, -0.17258662, -0.23394547, 0.104795866, 0.035074063, -0.061560635, 0.05975411, -0.094255395) * go_3(1.0, 0.0);
result += mat4(-0.023440497, -0.021479638, 0.0036277648, 0.004972212, 0.02416659, -0.09856867, -0.03971455, -0.27094853, 0.026615402, -0.0047890246, -0.13755885, 0.16591635, -0.0016293586, 0.133207, 0.047790572, 0.029041538) * go_3(1.0, 1.0);
result += vec4(-0.0063728676, -0.029053684, -0.052831043, 0.006475641);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_2_tf
//!BIND conv2d_2_tf1
//!SAVE conv2d_3_tf
//!WIDTH conv2d_2_tf.w
//!HEIGHT conv2d_2_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(-0.0431447, 0.047972627, 0.09522898, 0.19048582, 0.0015511789, 0.1182684, -0.065335006, 0.061233886, -0.02451869, 0.065670215, -0.015341636, 0.06836347, 0.10215459, 0.17516296, 0.0857072, 0.072732896) * go_0(-1.0, -1.0);
result += mat4(0.10117189, 0.049022958, -0.016017418, -0.12119866, 0.089112304, 0.016286526, -0.025251161, 0.03239003, -0.0783818, -0.086096615, -0.13673106, -0.15934734, -0.51308054, -0.061430074, -0.16208844, 0.2227776) * go_0(-1.0, 0.0);
result += mat4(-0.011567444, 0.025550444, -0.018439503, -0.015003767, 0.11606929, -0.11613111, -0.040906087, -0.015202219, 0.03932618, -0.1106059, 0.03703376, 0.018548314, -0.12761284, -0.038109995, -0.23577367, 0.20272344) * go_0(-1.0, 1.0);
result += mat4(0.025444161, -0.075270735, 0.10999789, 0.16305386, 0.016178958, -0.074034974, 0.1177035, -0.077481024, -0.047774278, -0.029782977, 0.23137823, -0.2389453, 0.033015423, -0.10381626, -0.16437943, 0.20906886) * go_0(0.0, -1.0);
result += mat4(-0.098473966, 0.11013442, -0.18486807, 0.1907086, -0.17564997, -0.08509439, -0.42472756, -0.17446618, 0.3440862, 0.12719585, -0.12213955, -0.02246555, 0.18982963, 0.20809166, -0.36067408, 0.51116616) * go_0(0.0, 0.0);
result += mat4(-0.019805575, 0.07812505, 0.061653323, -0.08379226, 0.026396899, 0.009063019, -0.10845824, 0.0827647, 0.045301896, -0.07748021, -0.07435832, 0.14860612, -0.077515624, 0.010588131, -0.22704287, 0.26849246) * go_0(0.0, 1.0);
result += mat4(-0.02884339, -0.09512523, -0.038564682, 0.08862835, 0.041666254, -0.10532901, 0.040582962, -0.10063983, -0.15736029, -0.03644334, -0.005061672, 0.04302295, -0.046482194, -0.05262547, 0.05110866, 0.03204655) * go_0(1.0, -1.0);
result += mat4(-0.005932702, 0.033263832, 0.0044865874, -0.02328917, 0.056534443, -0.14084046, 0.022353357, 0.015087431, -0.2734596, -0.026544483, 0.06297078, 0.11277746, 0.06127936, 0.02466357, -0.04970561, 0.02098484) * go_0(1.0, 0.0);
result += mat4(0.013603583, 0.036264602, 0.10985147, 0.01532773, -0.09012781, 0.1132652, -0.17016481, 0.025332611, -0.077462606, 0.02990799, -0.10627784, -0.006231141, -0.089164406, -0.051507175, -0.043900985, 0.09049239) * go_0(1.0, 1.0);
result += mat4(-0.15391691, 0.1915742, 0.014101639, -0.022153432, 0.06291936, -0.017871676, -0.016763045, -0.14741553, -0.011252563, -0.20720159, -0.030648025, -0.0142307645, 0.010291614, -0.09243969, -0.052940153, 0.0061574522) * go_1(-1.0, -1.0);
result += mat4(0.032283742, 0.030768922, 0.1070225, -0.027818602, 0.10032608, 0.0061178426, -0.03561339, -0.26687133, 0.14369439, -0.11362691, -0.08980895, 0.066520914, 0.33414948, 0.006998835, 0.09193012, -0.2857383) * go_1(-1.0, 0.0);
result += mat4(-0.059588976, -0.02046844, -0.042585023, 0.031939838, 0.12796514, -0.06155685, 0.03540324, 0.009929082, -0.0039611827, 0.10790477, 0.049435645, -0.083034374, 0.23874004, -0.07460337, -0.020173345, -0.2006587) * go_1(-1.0, 1.0);
result += mat4(-0.13217632, 0.052319963, -0.026713084, -0.0051368694, -0.10380872, -0.28659084, 0.0044393227, 0.005174543, -0.05092618, -0.07092548, -0.027397033, -0.01609789, 0.13699281, -0.14706929, 0.17737861, -0.23746766) * go_1(0.0, -1.0);
result += mat4(0.19268502, 0.14133929, -0.1305119, -0.4034132, 0.057504695, -0.24550998, -0.081932545, 0.45489246, -0.29331785, 0.19625074, 0.063166246, 0.15158689, 0.6715147, -0.4610189, 0.08921431, 0.17761138) * go_1(0.0, 0.0);
result += mat4(0.044718128, -0.011809122, 0.024131307, -0.30093196, -0.05607289, 0.047759805, 0.004210022, 0.098192796, 0.030430846, 0.008207501, 0.12266905, -0.10549182, 0.11584339, -0.091016166, -0.08635591, -0.13889709) * go_1(0.0, 1.0);
result += mat4(-0.19226642, 0.07147627, -0.14759602, 0.4041079, 0.0744628, -0.19612685, 0.1498252, -0.06273549, 0.017959936, 0.10858338, -0.14985329, 0.062042814, -0.13240446, -0.24362786, 0.113626175, -0.15332204) * go_1(1.0, -1.0);
result += mat4(0.08383099, -0.13935047, -0.25981048, 0.16491203, 0.07513876, -0.28346774, 0.19722275, -0.044425573, 0.020889329, -0.22140723, 0.025403097, -0.09183192, 0.014202567, -0.18666178, 0.062913105, -0.047674105) * go_1(1.0, 0.0);
result += mat4(-0.1862771, 0.25878942, -0.043018065, 0.22144824, 0.016088247, 0.12113542, -0.11965952, -0.01587184, 0.07830932, -0.16069177, 0.13421321, 0.018718706, 0.09548377, 0.018543294, 0.013614677, -0.1054485) * go_1(1.0, 1.0);
result += mat4(-0.2121733, -0.015635416, 0.027564054, -0.085904464, 0.064805664, -0.070543915, 0.08966146, -0.06359783, 0.01131311, 0.046913184, -0.09809833, -0.092063695, -0.087217696, 0.012411829, 0.0045399712, 0.027389864) * go_2(-1.0, -1.0);
result += mat4(-0.19307798, 0.09449126, 0.084036835, 0.30262446, 0.011706106, 0.029800637, 0.04612629, 0.006186647, 0.11228541, 0.055147965, 0.17659879, -0.023410015, 0.19965266, -0.06684007, -0.081968054, -0.052410994) * go_2(-1.0, 0.0);
result += mat4(-0.058564443, 0.08252549, 0.058217794, 0.0864448, -0.25663558, 0.080260284, -0.0010294432, 0.05830051, -0.07684524, 0.1820709, 0.04438993, 0.019178499, -0.12425012, -0.04596089, -0.010032888, -0.0012803525) * go_2(-1.0, 1.0);
result += mat4(-0.43352658, 0.15262963, 0.25620222, 0.22428556, 0.09667152, 0.0037820593, -0.07951691, -0.11553085, 0.12982155, 0.17988266, -0.14283511, 0.074744284, 0.03604327, 0.00452661, -0.12865154, -0.020020623) * go_2(0.0, -1.0);
result += mat4(0.06850602, -0.18057181, 0.2093389, -0.07333886, 0.28406742, -0.048766967, 0.18114483, 0.47292945, -0.2340266, -0.06862712, 0.28263155, 0.3150323, -0.054724697, -0.16958356, 0.27928987, -0.19666018) * go_2(0.0, 0.0);
result += mat4(0.03281329, 0.0038649621, -0.07108877, 0.10791149, 0.15235375, -0.3083721, 0.168294, 0.10379698, 0.029038485, 0.16282903, 0.04483725, -0.018684763, 0.108186625, 0.027885616, -0.019351846, 0.1623065) * go_2(0.0, 1.0);
result += mat4(-0.110499054, 0.31347123, 0.030852, 0.01631416, -0.1466389, 0.080429435, -0.18689284, 0.10667815, 0.20645237, -0.18004708, -0.10570413, -0.15435064, -0.019000605, -3.126077e-06, 0.037761535, -0.015040956) * go_2(1.0, -1.0);
result += mat4(-0.023364332, -0.023399066, 0.2712722, 0.049637552, -0.10222765, -0.2698945, 0.20991959, 0.04921932, 0.21510898, -0.0751939, -0.19781734, -0.28162366, -0.041881047, 0.0065111094, -0.04102195, 0.0982682) * go_2(1.0, 0.0);
result += mat4(-0.032176614, 0.019144032, -0.08985387, 0.091637276, 0.1012352, 0.0003583357, 0.07897295, -0.09531175, -0.001155058, 0.074372366, -0.026186578, 0.07283374, 0.06052053, 0.009307753, -0.03874333, -0.06228009) * go_2(1.0, 1.0);
result += mat4(-0.022224072, -0.15717922, -0.1406057, -0.05941157, -0.028769474, -0.21226564, -0.036570027, 0.22266355, 0.14120889, 0.014577123, 0.10216447, 0.018429281, 0.056729726, -0.055834044, 0.058146577, -0.11999068) * go_3(-1.0, -1.0);
result += mat4(0.009995364, -0.020045493, -0.0057422677, 0.0643022, 0.016475432, -0.030856136, 0.042140726, 0.15077904, -0.32955253, 0.0694449, 0.17931722, 0.3439302, -0.12484157, -0.10958869, -0.15755124, -0.09755644) * go_3(-1.0, 0.0);
result += mat4(-0.008314924, 0.07704758, 0.043228816, -0.08110893, 0.099286236, -0.053224478, 0.22877018, -0.189486, -0.00798416, 0.018341504, 0.10734141, 0.0752633, -0.042524844, -0.086395286, 0.14299925, 0.026488977) * go_3(-1.0, 1.0);
result += mat4(-0.052531082, 0.19139186, 0.12205995, -0.2573172, 0.15157184, 0.0073150825, 0.089774385, 0.06604469, -0.16528498, -0.002511137, 0.14287429, -0.07819732, 0.025014274, 0.15338829, 0.0761692, -0.02803716) * go_3(0.0, -1.0);
result += mat4(-0.21000335, 0.15277153, 0.08546171, 0.2816124, -0.16559112, -0.11068559, 0.47053605, -0.009787771, -0.0013089112, -0.06985127, 0.44743782, 0.25142467, -0.32670796, 0.044035822, -0.12545367, -0.2996084) * go_3(0.0, 0.0);
result += mat4(-0.11526387, 0.15654811, 0.099616654, 0.15473685, 0.21278231, 0.046207245, 0.117993094, -0.26825273, -0.12539764, 0.14013724, 0.17357737, -0.05387817, 0.076738276, -0.13339446, 0.15005626, -0.2108176) * go_3(0.0, 1.0);
result += mat4(-0.0008846504, -0.05998622, -0.028892396, 0.04784136, 0.0104263965, 0.10899508, -0.073364735, 0.077516064, -0.074248806, -0.21749993, -0.26203, 0.041161157, 0.09366407, -0.026498007, 0.0122177545, 0.03892727) * go_3(1.0, -1.0);
result += mat4(0.04349908, 0.13671173, 0.2242545, -0.028021423, -0.03802222, 0.0052366396, -0.010709643, 0.031290106, 0.06291333, -0.024909683, -0.15439379, -0.04502091, 0.2062182, -0.5983536, -0.09670497, -0.38446042) * go_3(1.0, 0.0);
result += mat4(-0.008962513, 0.13044207, 0.04964221, 0.012250417, 0.012129821, 0.019985713, -0.06421885, 0.009168735, -0.044516414, 0.071368866, -0.006634213, 0.06497366, 0.08578495, -0.10586125, 0.06628038, -0.14006054) * go_3(1.0, 1.0);
result += vec4(0.056541316, 0.041788545, -0.036094554, -0.021763096);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_2_tf
//!BIND conv2d_2_tf1
//!SAVE conv2d_3_tf1
//!WIDTH conv2d_2_tf.w
//!HEIGHT conv2d_2_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(0.0647927, 0.053666476, -0.14723225, 0.027874574, -0.0003166473, 0.07337155, -0.061972085, -0.012667777, -0.17071614, 0.091927536, -0.051160213, 0.21336353, 0.13854574, 0.09582817, 0.032316446, 0.13838023) * go_0(-1.0, -1.0);
result += mat4(-0.0398984, 0.108049214, 0.093780346, -0.022015186, -0.15188989, -0.1381083, 0.2998843, 0.21623154, -0.08862326, 0.025862623, 0.06895634, 0.13529755, 0.06957801, -0.0011681129, 0.105972745, -0.04722446) * go_0(-1.0, 0.0);
result += mat4(-0.026321493, -0.04828038, -0.012545767, -0.005490858, -0.054038163, 0.075943105, -0.11526662, 0.022242405, -0.03543104, -0.12451852, -0.14911178, 0.013503498, 0.08773292, 0.09695139, -0.013498657, -0.27424073) * go_0(-1.0, 1.0);
result += mat4(0.018575635, -0.11321618, -0.07853153, 0.04104883, 0.0018416744, 0.11579002, 0.03685964, -0.031546146, -0.1755398, 0.23517849, -0.08095411, 0.031999595, -0.18542038, -0.26171613, -0.20567231, -0.05683613) * go_0(0.0, -1.0);
result += mat4(0.1538556, 0.21723682, 0.12131733, -0.15308167, 0.103326, -0.006956118, 0.043583486, -0.23811384, -0.103285454, 0.05543916, -0.37894246, 0.32072112, 0.22651967, 0.03516268, 0.34612176, 0.23688535) * go_0(0.0, 0.0);
result += mat4(0.040021293, 0.0029912095, 0.04885362, 0.061496444, 0.016926387, -0.118446946, 0.038948335, -0.0934512, -0.25194243, -0.054018084, -0.07149527, 0.017903058, 0.0845516, 0.33802906, 0.11953944, -0.081294954) * go_0(0.0, 1.0);
result += mat4(-0.09558082, -0.36974236, -0.07524102, 0.11131445, 0.047626104, 0.12854609, -0.10264962, -0.044669047, -0.05572307, 0.34475142, -0.16806377, -0.0037204176, 0.03400533, -0.04047774, 0.024379745, 0.09056291) * go_0(1.0, -1.0);
result += mat4(-0.039392482, 0.2553437, 0.11705501, 0.03219211, 0.073977776, -0.16610906, -0.032796364, -0.054669864, -0.07123178, 0.00079619256, -0.36920992, -0.029054813, 0.12830003, 0.004987549, 0.08724278, -0.029499404) * go_0(1.0, 0.0);
result += mat4(0.021272454, -0.063295126, 0.011779576, 0.103093, -0.011095461, 0.027948728, -0.014605259, -0.04723974, -0.05334346, -0.044831257, -0.07296399, -0.03314197, -0.01687865, -0.09261895, -0.06128567, 0.092708185) * go_0(1.0, 1.0);
result += mat4(0.0077418387, 0.00871427, 0.060824487, 0.1093608, -0.021077013, -0.057341542, -0.04769576, -0.08144089, 0.0212823, -0.06731425, -0.04134463, -0.0016761447, -0.03402026, 0.036424547, 0.11689576, -0.14946719) * go_1(-1.0, -1.0);
result += mat4(0.18536687, 0.020073935, 0.17041959, 0.024790209, 0.08397728, -0.13884324, 0.013950321, -0.055075396, -0.09317963, -0.05723721, -0.060491834, 0.0017911601, -0.109154835, 0.010338362, -0.1982491, -0.21752335) * go_1(-1.0, 0.0);
result += mat4(0.031852514, 0.031424347, 0.07817056, 0.07770759, 0.019805199, -0.091223724, 0.11914662, 0.1673029, -0.018734453, 0.16275099, 0.23245652, 0.36139074, -0.1396047, -0.14774057, 0.13756078, -0.123794965) * go_1(-1.0, 1.0);
result += mat4(-0.034937833, 0.20777488, 0.10104809, -0.035140667, 0.2536575, 0.010970045, 0.16896339, -0.081219964, -0.062478427, -0.0010431948, -0.027980985, 0.11446318, -0.127309, 0.21002083, 0.044436257, -0.16986957) * go_1(0.0, -1.0);
result += mat4(0.06309646, -0.042341243, 0.36642808, 0.18653205, 0.06973023, 0.06315932, -0.323688, 0.25672218, 0.042820994, 0.13792914, -0.12892757, -0.09220378, -0.18939693, 0.03862022, -0.17376114, -0.24673308) * go_1(0.0, 0.0);
result += mat4(-0.02130602, -0.35428852, -0.011634983, -3.9823462e-05, 0.110818714, -0.2981158, 0.060209107, 0.012538829, -0.0744833, -0.050204318, -0.12676497, -0.031484153, -0.28799182, 0.22338839, -0.070876874, -0.02102363) * go_1(0.0, 1.0);
result += mat4(-0.07929991, 0.014598492, 0.23034762, 0.024872296, 0.07480494, -0.17139243, -0.014421178, 0.056448363, -0.028626937, -0.022152562, 0.044871796, -0.048653606, 0.009350802, 0.019022083, -0.08554845, -0.0922645) * go_1(1.0, -1.0);
result += mat4(-0.027405115, 0.1831188, 0.28516722, 0.19882526, 0.27299204, -0.06910511, 0.03244419, -0.0031333128, 0.061055277, -0.114398144, 0.03729459, -0.07840815, -0.37776002, -0.24129418, -0.54815483, -0.2702045) * go_1(1.0, 0.0);
result += mat4(0.053723935, 0.13472083, 0.09563273, 0.19009806, -0.18722993, -0.25939655, -0.016197463, -0.067061596, 0.1647598, 0.061905228, 0.06191816, -0.018582113, -0.07218153, 0.11278394, 0.05478068, -0.104871586) * go_1(1.0, 1.0);
result += mat4(0.0036616288, -0.045782693, -0.226954, -0.05043515, -0.078096785, -0.036197383, 0.09269631, 0.016823346, -0.0060579977, -0.041455746, 0.09032774, -0.09217121, 0.058089796, 0.060311552, 0.033079024, 0.022586476) * go_2(-1.0, -1.0);
result += mat4(0.0436363, -0.079482526, 0.0027447809, 0.039558932, 0.13275702, 6.898711e-05, -0.21961488, -0.11315821, 0.0076181027, -0.025279062, -0.15829584, -0.063141204, 0.062049046, 0.13117202, -0.02435016, 0.109555416) * go_2(-1.0, 0.0);
result += mat4(-0.010148116, 0.056620967, -0.015910713, -0.07370375, 0.1529919, 0.005792597, 0.02771225, -0.17027487, 0.096740395, 0.063347995, 0.17823112, 0.054105148, 0.04995114, -0.28613812, 0.06369567, 0.15978208) * go_2(-1.0, 1.0);
result += mat4(-0.13688345, 0.16967694, -0.061759472, 0.013682004, -0.1290496, 0.07167547, -0.065592445, -0.17897636, 0.057080988, 0.035630587, 0.09140394, -0.08695068, 0.16807681, 0.014749346, 0.07875138, 0.034913708) * go_2(0.0, -1.0);
result += mat4(-0.098915346, -0.31459075, -0.10892429, 0.1557498, -0.19764107, -0.26881596, -0.03589311, 0.45288458, -0.34171388, 0.12675741, 0.18415868, -0.19770056, 0.29025507, -0.15812592, 0.09685835, 0.0027761247) * go_2(0.0, 0.0);
result += mat4(0.06425249, -0.01169722, 0.06379363, 0.053835012, -0.07356561, -0.06367294, 0.108630784, -0.14137438, 0.08536725, -0.03209748, 0.07250959, -0.014214082, 0.07170588, -0.25647813, 0.1092683, 0.18791042) * go_2(0.0, 1.0);
result += mat4(-0.023783233, 0.14261739, 0.102011986, -0.03633555, -0.05032627, 0.09378387, 0.11764051, 0.1353335, 0.032817088, -0.1352964, -0.00667997, -0.13388929, 0.022861317, 0.0037358075, 0.018605746, -0.0009892831) * go_2(1.0, -1.0);
result += mat4(0.22419162, -0.23105696, -0.09900454, -0.15831396, 0.12398773, 0.097933106, -0.13189293, 0.1330756, -0.19673057, -0.037342317, -0.13462654, -0.08974021, 0.030326528, -0.0815862, -0.118352115, 0.009187904) * go_2(1.0, 0.0);
result += mat4(-0.012130391, -0.06408448, 0.13710785, -0.06678414, -0.09970725, -0.14895032, -0.02366641, 0.029581001, -0.07101809, 0.09414698, 0.018300869, 0.009139046, -0.0027311493, -0.2359952, -0.011602826, -0.007582444) * go_2(1.0, 1.0);
result += mat4(-0.15473361, -0.06868751, -0.030721204, -0.08650113, 0.071349874, -0.08177769, 0.1611948, 0.18305337, -0.0144878505, 0.10975452, -0.026968453, -0.04909913, -0.059665974, 0.056036238, -0.11623168, -0.10584912) * go_3(-1.0, -1.0);
result += mat4(-0.096973225, 0.054132458, -0.010600018, 0.089397885, -0.0031138035, 0.037452973, 0.041115325, 0.1924831, 0.14759748, 0.032560788, -0.082884625, 0.0324635, -0.083511285, -0.050381303, 0.025589975, -0.0981257) * go_3(-1.0, 0.0);
result += mat4(-0.09183111, 0.034952193, -0.048511654, 0.020719057, 0.1863456, 0.01902738, 0.14455654, -0.008500172, 0.16385981, -0.07806569, -0.031216217, -0.17002788, -0.08882952, 0.07335293, -0.2223089, 0.01706056) * go_3(-1.0, 1.0);
result += mat4(-0.08361569, 0.046698716, -0.016646344, 0.09351987, 0.0054158634, -0.13641126, -0.12396605, 0.011380122, 0.040951792, -0.11222528, -0.0031548145, -0.0022303525, 0.0350846, -0.03280425, -0.09972476, -0.113325305) * go_3(0.0, -1.0);
result += mat4(-0.19961461, -0.27561286, -0.12783135, -0.062596925, 0.005870981, -0.24796526, 0.18717633, -0.16945636, -0.076396205, -0.08411448, 0.13751988, 0.21014418, -0.008655945, -0.09848541, -0.14536901, -0.2132181) * go_3(0.0, 0.0);
result += mat4(0.14118621, 0.20831147, -0.020545695, 0.008340737, 0.016840864, -0.16912372, -0.121718146, 0.15108089, -0.19803092, -0.07827729, -0.047639225, -0.12277847, 0.04974115, -0.09349339, -0.2756667, -0.19581003) * go_3(0.0, 1.0);
result += mat4(-0.0036992705, 0.16539848, 0.022026122, 0.07740234, -0.035687633, -0.004568715, 0.017408118, -0.09757294, -0.094941914, -0.3381112, -0.12724453, 0.025583982, -0.18571027, 0.047607586, -0.0704089, -0.055323426) * go_3(1.0, -1.0);
result += mat4(0.13821335, 0.028168043, 0.09990671, -0.032266147, -0.067236245, 0.11512147, -0.112986445, -0.10818019, -0.10062181, 0.21276556, 0.01681818, 0.069806606, 0.09628121, 0.06456379, 0.10394843, -0.02343886) * go_3(1.0, 0.0);
result += mat4(0.041937463, 0.072631165, 0.045366894, -0.0046993676, 0.03946691, 0.121010706, -0.030089365, -0.007266469, 0.0092267515, 0.14853416, -0.033248078, -0.027284347, -0.10031526, 0.15864117, -0.16782752, -0.18466589) * go_3(1.0, 1.0);
result += vec4(0.07722432, -0.025165567, 0.034291282, -0.09902708);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_3_tf
//!BIND conv2d_3_tf1
//!SAVE conv2d_4_tf
//!WIDTH conv2d_3_tf.w
//!HEIGHT conv2d_3_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(-0.004729794, -0.0124398535, -0.08538641, -0.058604605, 0.008671952, 0.25604513, 0.020800482, 0.24144122, -0.028920606, -0.04705229, 0.030192787, 0.0010597534, 0.017666103, 0.0041322373, 0.20027764, 0.08919112) * go_0(-1.0, -1.0);
result += mat4(0.0001626656, 0.05816014, -0.0060765734, 0.08811165, 0.35835367, -0.016291425, -0.56892496, 0.083845764, 0.15026698, -0.15916558, 0.08069463, -0.3931291, -0.0123534845, -0.111639686, -0.14637001, -0.08171439) * go_0(-1.0, 0.0);
result += mat4(-0.114976816, 0.023376396, 0.13855027, 0.07438716, -0.069991484, 0.20377779, 0.23929878, -0.040769435, 0.018832395, 0.005638609, -0.091848075, 0.027843866, 0.023744943, -0.06620523, -0.11678267, 0.0844119) * go_0(-1.0, 1.0);
result += mat4(0.0035854098, -0.08432094, -0.17799544, -0.10041983, 0.25605857, 0.021009786, 0.030499447, -0.09928291, 0.052178737, -0.08286175, -0.057888374, 0.024606042, 0.046342995, 0.13875343, 0.11279266, 0.19826262) * go_0(0.0, -1.0);
result += mat4(-0.016232021, -0.21539623, 0.0936961, 0.021143785, 0.094262615, 0.049040064, 0.40978724, 0.15347758, 0.08884813, -0.24887115, -0.14756748, -0.5020875, 0.112477, 0.1466549, -0.33418837, 0.5769466) * go_0(0.0, 0.0);
result += mat4(-0.16832942, -0.07354198, -0.12081261, -0.055348314, 0.39716053, 0.25583258, 0.09870877, 0.2151021, -0.025700683, -0.1801462, -0.04616654, -0.02782245, -0.054461803, -0.00042802413, -0.00163228, -0.004240747) * go_0(0.0, 1.0);
result += mat4(-0.05193433, -0.0018198475, -0.17647028, -0.19462106, 0.1538165, 0.054894235, 0.12183955, 0.07340974, -0.0019901982, 0.0357373, -0.07597063, -0.06681543, -0.00090057997, -0.053894397, -0.010301875, -0.16553953) * go_0(1.0, -1.0);
result += mat4(-0.30873474, -0.2836045, 0.057037193, -0.5016378, 0.11952749, 0.102353275, 0.2351629, -0.14635189, -0.019398788, -0.08776502, 0.021669978, -0.089918956, -0.2187901, -0.1180891, -0.049789533, -0.16109149) * go_0(1.0, 0.0);
result += mat4(-0.078335494, -0.08867304, 0.03349591, -0.1000293, -0.20235832, 0.22917585, -0.09905303, 0.08381748, 0.014350217, -0.14478815, -0.027479894, -0.026432173, -0.10309177, -0.09860884, -0.019177807, -0.06963025) * go_0(1.0, 1.0);
result += mat4(0.008169383, 0.12532842, -0.23369955, 0.077973194, 0.09076616, -0.021277165, 0.1721421, -0.26914293, -0.014729218, -0.023279984, -0.057670787, 0.003598546, -0.015225789, -0.0115396585, -0.26196182, -0.10724508) * go_1(-1.0, -1.0);
result += mat4(0.16542235, 0.06589374, 0.07410237, 0.26753154, -0.3356288, 0.3096256, 0.07112498, -0.0992165, 0.15020338, -0.11021673, 0.18803611, 0.12918204, 0.109007336, -0.031968266, 0.057093572, 0.035949256) * go_1(-1.0, 0.0);
result += mat4(0.065006174, 0.031055925, 0.0390232, -0.01678507, -0.21553491, 0.14171642, -0.19541772, -0.033691674, -0.06241631, 0.07497651, 0.024557155, 0.056778047, -0.060191352, -0.0261998, 0.07493729, -0.0699132) * go_1(-1.0, 1.0);
result += mat4(-0.008541382, 0.020270415, -0.027760057, -0.040962905, -0.26732433, 0.34379438, -0.23012447, 0.0051356517, -0.04059567, 0.0972959, 0.039965224, -0.14796777, -0.0016924662, -0.116963714, -0.026353523, -0.29799464) * go_1(0.0, -1.0);
result += mat4(0.03329303, -0.12663862, -0.0004959157, -0.11162377, 0.26238343, 0.43260252, -0.16504994, 0.10727678, -0.22505566, 0.43474057, 0.43304008, 0.05143919, 0.40494493, 0.08689636, -0.035733614, 0.25727916) * go_1(0.0, 0.0);
result += mat4(0.12175736, -0.014467151, -0.17461288, -0.18480565, -0.26439998, 0.307935, -0.058916792, -0.014292711, -0.0569471, 0.10751278, -0.04134206, 0.1847734, -0.07519831, -0.033909313, -0.05001451, -0.136606) * go_1(0.0, 1.0);
result += mat4(0.1424893, -0.026820501, 0.19645774, -0.0011315406, -0.14680974, 0.07662838, 0.21108222, 0.13260938, 0.17923595, -0.085527614, 0.08217639, 0.06579479, 0.05985784, -0.09016323, 0.11172888, 0.111903176) * go_1(1.0, -1.0);
result += mat4(0.19842595, 0.0093640275, 0.10433465, 0.13341904, -0.082806975, 0.22555825, -0.1315717, 0.11907785, 0.24012424, 0.47776055, 0.1835734, 0.17483878, 0.079803735, 0.01155073, -0.21146573, -0.16484722) * go_1(1.0, 0.0);
result += mat4(0.15064004, 0.021381427, 0.18301587, 0.21225913, 0.054995645, 0.03212186, 0.052798916, -0.048424408, 0.03609021, 0.0964704, -0.059469886, -0.05133066, -0.08157349, 0.051145166, -0.09107608, -0.1362262) * go_1(1.0, 1.0);
result += mat4(0.090521574, -0.014747857, -0.081675015, -0.118686825, 0.04848682, -0.033071827, 0.008534588, 0.023765508, 0.16849907, -0.21797262, -0.17049783, -0.07824179, -0.033794608, 0.052612655, 0.095820345, -0.07262317) * go_2(-1.0, -1.0);
result += mat4(0.22816367, -0.13772108, -0.036353834, -0.47638395, -0.0530902, 0.14089061, 0.076203234, 0.18006112, 0.121814854, -0.20750527, 0.08266107, -0.28634354, 0.14301859, -0.13458411, 0.00501663, -0.039783802) * go_2(-1.0, 0.0);
result += mat4(-0.103384845, -0.14389835, 0.08275834, -0.068423435, 0.22643796, -0.02966374, -0.2847584, 0.037081387, 0.02349005, -0.19353923, -0.00095957273, -0.13623689, -0.073120415, 0.03941467, 0.21864155, -0.014019576) * go_2(-1.0, 1.0);
result += mat4(-0.082576886, 0.17085212, 0.08971252, -0.04213377, -0.032548156, 0.022137715, 0.08399252, -0.0011743539, -0.09410863, -0.41728264, -0.20709297, -0.18933547, 0.027059928, 0.09743364, 0.2504647, -0.041173562) * go_2(0.0, -1.0);
result += mat4(-0.20924084, 0.291118, 0.029851688, 0.16953468, 0.02936709, 0.12213576, 0.22944322, 0.108747594, 0.0001881129, -0.27398208, -0.009702691, 0.15449248, -0.9472944, -0.26114875, -0.28161275, -0.3495961) * go_2(0.0, 0.0);
result += mat4(-0.12994622, -0.2758638, -0.1091727, -0.0968308, -0.14323105, 0.035175014, -0.08023811, 0.006023802, -0.031529594, -0.1486306, -0.3398172, -0.23240276, -0.29163983, 0.173475, 0.18809283, 0.22197202) * go_2(0.0, 1.0);
result += mat4(0.048254848, -0.083444916, -0.014334202, 0.060992356, -0.023099286, -0.09492961, 0.05592045, 0.0026059286, 0.08998117, -0.108810075, -0.053304546, 0.045926623, 0.068255246, 0.099023566, 0.01595483, 0.1336309) * go_2(1.0, -1.0);
result += mat4(0.21916585, 0.2837387, 0.14624594, 0.18843961, -0.06747584, 0.054924384, -0.082568415, 0.05011459, 0.014297759, -0.3884833, -0.054417178, -0.18970548, 0.088336475, -0.030646667, -0.2980552, -0.030035203) * go_2(1.0, 0.0);
result += mat4(-0.02748568, -0.011897529, -0.2370837, -0.016740574, -0.0282112, 0.050353892, -0.10761107, -0.00036999505, 0.037646662, -0.17742962, 0.06489219, -0.158852, -0.08016933, 0.07808515, -0.105895035, 0.079869986) * go_2(1.0, 1.0);
result += mat4(-0.0058994526, -0.037170693, 0.2574696, 0.06199102, -0.04497728, -0.10667442, -0.15183865, 0.0212881, -0.030842574, 0.073473394, 0.010764398, -0.00084518327, -0.03893014, -0.009649613, 0.07443129, 0.15108284) * go_3(-1.0, -1.0);
result += mat4(0.11325495, -0.096435815, -0.097331434, -0.049700152, -0.17231967, 0.047090057, -0.019111065, 0.104790315, -0.15004838, 0.13950798, 0.055996202, -0.070548095, 0.047154237, -0.007650949, -0.053611025, -0.012242293) * go_3(-1.0, 0.0);
result += mat4(0.12787002, -0.04958212, 0.053988468, 0.0017896162, 0.049493514, -0.009475431, -0.0022641935, 0.03933694, -0.005174597, 0.043754533, -0.1432976, 0.037084177, -0.04601288, -0.032077815, -0.059897035, 0.12584484) * go_3(-1.0, 1.0);
result += mat4(0.019409029, 0.10492923, 0.268368, 0.12597778, -0.17733063, -0.0085961, -0.27136415, -0.049664587, 0.012515404, -0.21444482, -0.39275557, -0.12297177, 0.06800057, 0.19228315, 0.06245887, 0.35772634) * go_3(0.0, -1.0);
result += mat4(-0.16317715, 0.2288402, -0.23235172, 0.22230752, -0.1646375, 0.13366091, 0.16681044, -0.17399235, 0.33997267, -0.3179832, -0.34756508, 0.39843196, -0.10748536, 0.322923, 0.23339489, 0.08684083) * go_3(0.0, 0.0);
result += mat4(0.02835275, 0.12314228, 0.24030593, 0.30856124, 0.055735108, -0.044914473, 0.0031432225, 0.07469899, 0.1778018, 0.107083894, -0.023706734, -0.15501897, 0.0943098, -0.034707237, -0.18622099, 0.05257965) * go_3(0.0, 1.0);
result += mat4(0.042839274, 0.12597966, 0.08979042, -0.0647561, -0.050434645, 0.049438696, -0.20008127, -0.05572608, 0.046238814, 0.12622325, -0.019017145, -0.13960391, -0.040050175, 0.14298008, -0.20270552, 0.13391526) * go_3(1.0, -1.0);
result += mat4(-0.0073277587, 0.10606624, -0.08940439, -0.09656414, 0.12387374, -0.0013147948, 0.23607181, -0.00037969893, 0.050353236, -0.17266603, 0.27796733, -0.09877832, 0.02711225, 0.096394345, 0.07457944, 0.21541388) * go_3(1.0, 0.0);
result += mat4(-0.18612787, -0.00027517386, -0.17136407, -0.06413671, 0.025629476, -0.04570916, 0.0008431566, -0.03419168, 0.08123608, 0.09465922, 0.11975521, 0.1269741, 0.08413221, 0.12125001, 0.04727287, 0.072378494) * go_3(1.0, 1.0);
result += vec4(0.04244928, -0.014280219, 0.017129054, -0.08807801);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_3_tf
//!BIND conv2d_3_tf1
//!SAVE conv2d_4_tf1
//!WIDTH conv2d_3_tf.w
//!HEIGHT conv2d_3_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(0.01973856, -0.05053795, 0.015545361, 0.10867395, 0.33441806, 0.14731607, 0.6793983, -0.21394718, -0.00846322, 0.09146322, -0.07427475, -0.078477465, -0.090998545, 0.133366, 0.105515696, -0.13784988) * go_0(-1.0, -1.0);
result += mat4(-0.05404873, 0.09784018, -0.1337389, -0.18082313, 0.13461179, -0.3816801, 0.12209786, 0.08176651, 0.10461896, -0.43315184, 0.017470734, 0.20423968, -0.03941875, -0.101959296, -0.09440259, 0.09154717) * go_0(-1.0, 0.0);
result += mat4(0.17229515, -0.06907825, -0.008382803, -0.16671611, -0.01576541, 0.03985307, 0.08209482, -0.11707446, -0.11793074, 0.13702396, -0.02013158, 0.07302033, -0.022301994, -0.11464677, 0.036753565, -0.093276784) * go_0(-1.0, 1.0);
result += mat4(-0.017650167, 0.009475923, -0.17856382, 0.15925962, 0.06434641, -0.15568036, 0.038135886, 0.18855911, -0.04427734, 0.1878215, 0.10856261, 0.0041275816, -0.12046199, 0.13610138, 0.3741596, -0.12934728) * go_0(0.0, -1.0);
result += mat4(-0.24631616, 0.0169485, -0.035534818, 0.37795424, -0.08546174, 0.07817259, 0.42897213, -0.47965595, -0.0146556785, -0.20510523, -0.18889453, 0.06476019, 0.1021008, -0.35398817, -0.031071864, -0.21416448) * go_0(0.0, 0.0);
result += mat4(0.32810766, 0.050585747, -0.17658374, -0.13881154, 0.16417882, -0.21286008, -0.106835455, -0.1722344, -0.14151084, 0.08962986, 0.057395387, -0.01623662, 0.02570415, 0.15626897, -0.12687978, 0.080729105) * go_0(0.0, 1.0);
result += mat4(-0.050597478, -0.018753758, -0.036346875, -0.017908493, 0.058593344, 0.008303028, 0.05254987, -0.06635018, -0.022532012, 0.029511122, 0.026682215, -0.054647952, 0.069466785, -0.08892492, 0.025351115, -0.023130694) * go_0(1.0, -1.0);
result += mat4(0.2412473, -0.16138165, -0.15117447, 0.11851003, -0.096868426, 0.082690425, 0.27923304, 0.11590443, 0.19363573, -0.15770023, -0.066793665, 0.011681678, 0.14037277, -0.112065665, -0.048159517, 0.009453693) * go_0(1.0, 0.0);
result += mat4(0.1580054, -0.0060506654, 0.05267837, -0.09178131, -0.09107123, 0.23191126, 0.21108283, -0.070422985, 0.024321035, 0.06131459, 0.066626504, 0.032481454, 0.044402298, 0.1390604, -0.14432502, 0.040869843) * go_0(1.0, 1.0);
result += mat4(0.10264861, 0.013504324, 0.012482852, -0.1781206, -0.12799414, -0.27026084, -0.123830505, 0.098105, -0.039127555, 0.09367889, 0.122323096, 0.1416734, 0.044763107, -0.21801683, -0.14018978, 0.17646866) * go_1(-1.0, -1.0);
result += mat4(0.017453065, 0.11498537, -0.10998983, -0.3116098, -0.3099762, 0.5024706, 0.051817298, 0.03170681, -0.18937826, 0.07946567, -0.11978771, -0.09523745, -0.0033551592, -0.11768945, 0.08932359, -0.06689581) * go_1(-1.0, 0.0);
result += mat4(0.1507582, -0.013266159, -0.073085934, -0.07252967, -0.06301927, -0.13218755, 0.12984878, -0.13678701, 0.023422396, 0.082123175, 0.006906731, -0.004018426, -0.15813835, 0.13711788, 0.016018609, 0.13443229) * go_1(-1.0, 1.0);
result += mat4(-0.06960673, 0.16156524, -0.1374069, -0.05803206, -0.077960715, -0.10676749, 0.26282015, 0.03521529, 0.058099385, -0.014738148, 0.0011174522, 0.24279532, -0.023991548, -0.108812414, -0.08886019, 0.20584475) * go_1(0.0, -1.0);
result += mat4(-0.08043308, 0.063343, 0.055290066, -0.15991378, -0.08096304, -0.23888679, 0.019161629, 0.38381267, 0.3672934, -0.119608454, -0.43623593, -0.46014485, -0.5323366, 0.1318621, 0.087373205, -0.05535459) * go_1(0.0, 0.0);
result += mat4(0.20640239, -0.1369444, -0.21677823, 0.08202178, 0.10515278, 0.06810837, 0.073207974, 0.23623931, 0.102422275, -0.05016664, -0.0039228587, -0.1810343, -0.2235563, -0.1246854, 0.1428113, -0.10609135) * go_1(0.0, 1.0);
result += mat4(-0.031941894, -0.08905056, 0.21501167, 0.11244667, -0.011811734, 0.21630247, 0.07589472, -0.040489636, -0.11824066, -0.11520391, -0.10075633, -0.035642453, 0.062144946, 0.0073282206, 0.14119269, -0.060479023) * go_1(1.0, -1.0);
result += mat4(-0.29382935, -0.056808118, 0.051812876, -0.061358813, -0.08344258, 0.124203674, 0.037964176, -0.01961274, -0.000951725, 0.50005037, -0.24176972, 0.06487161, -0.15469861, 0.04336187, 0.17826353, 0.040010225) * go_1(1.0, 0.0);
result += mat4(0.02044482, -0.0879271, -0.01053958, -0.31148303, 0.07497373, -0.11548258, -0.1666126, 0.02369657, -0.058044076, 0.010801491, -0.005933901, -0.08910467, 0.007953008, 0.03761974, -0.029501524, 0.16816042) * go_1(1.0, 1.0);
result += mat4(0.1779597, -0.10213089, 0.29942423, -0.016642543, -0.015537001, -0.04676146, 0.09585872, -0.0055750017, -0.014361908, -0.20667697, -0.11348746, 0.13081487, -0.10437329, 0.14328459, 0.11648822, -0.09163837) * go_2(-1.0, -1.0);
result += mat4(0.019033967, -0.12420627, -0.07748253, 0.43203858, -0.109799065, 0.07605535, 0.060791396, -0.24517195, -0.15674245, 0.21267459, 0.10665515, -0.073150024, -0.1358355, 0.0054066703, -0.16434059, -0.06031853) * go_2(-1.0, 0.0);
result += mat4(-0.18834068, 0.26840356, -0.12937617, 0.16103932, -0.0062331813, -0.13630053, -0.013911821, 0.022389365, -0.044232946, -0.056454606, 0.022426741, 0.18010215, 0.041900013, 0.03375041, -0.11376866, -0.010313381) * go_2(-1.0, 1.0);
result += mat4(0.12497669, -0.31161824, 0.097568035, 0.19443443, -0.05056519, -0.0031457904, 0.1055554, -0.083650924, 0.07630523, -0.34177595, -0.093093194, 0.20701368, -0.030962149, -0.054470222, -0.23853977, 0.004326528) * go_2(0.0, -1.0);
result += mat4(0.34370202, 0.085750066, -0.16071722, -0.54335934, -0.35595295, -0.050744478, -0.17405547, 0.008628697, -0.007086256, 0.23164117, 0.340156, 0.5475976, -0.15292351, 0.28019544, 0.038059216, 0.0044727) * go_2(0.0, 0.0);
result += mat4(-0.08231968, -0.0052294536, 0.07451547, 0.22278999, -0.3305531, 0.0017458396, 0.10818422, -0.21325395, -0.08807993, -0.110342845, 0.10082142, -0.051594347, 0.24192205, -0.18042035, -0.0095462985, -0.08757798) * go_2(0.0, 1.0);
result += mat4(0.096379586, 0.021887815, -0.05097233, -0.06797989, -0.026171045, 0.022944937, -0.015915364, 0.037667938, 0.17216732, -0.014889412, 0.07343887, 0.028236505, 0.0015047621, 0.1355103, -0.09918284, -0.07673695) * go_2(1.0, -1.0);
result += mat4(-0.25385055, 0.15163356, 0.0030003798, 0.18464413, 0.05611221, 0.099498056, -0.07128191, 0.042955168, 0.027493173, 0.07440157, 0.07814497, 0.096160784, 0.13571084, 0.056412842, -0.031997006, -0.16073681) * go_2(1.0, 0.0);
result += mat4(-0.21634746, 0.025153082, -0.064477116, 0.0005679147, -0.0029436245, 0.12794618, 0.024849026, 0.03018052, 0.11723976, 0.059955597, -0.013594654, 0.09091745, 0.04775348, 0.21260159, -0.07463213, -0.06727042) * go_2(1.0, 1.0);
result += mat4(-0.12166018, 0.024545137, 0.08611618, -0.17627168, 0.09042604, -0.14157623, -0.22147785, 0.09100581, 0.11078359, 0.031410985, -0.17170976, 0.09532806, -0.059569277, 0.09392676, 0.11784347, -0.21471368) * go_3(-1.0, -1.0);
result += mat4(0.1483187, -0.2217563, 0.12032977, 0.14932398, 0.27428308, -0.04568031, 0.12670338, 0.09586169, 0.06700745, 0.005126449, 0.0027694793, -0.033667028, 0.06447861, -0.08585174, -0.05509812, -0.11358761) * go_3(-1.0, 0.0);
result += mat4(-0.22750492, 0.032906335, -0.029479047, 0.11580199, -0.05812372, -0.032269973, 0.05219915, 0.041658226, 0.010897959, 0.065550454, 0.0076911976, -0.045743827, 0.11614996, -0.10393113, -0.0012606392, -0.034367524) * go_3(-1.0, 1.0);
result += mat4(0.09350742, 0.09561609, 0.3735968, 0.031685118, -0.042026598, 0.17006761, -0.3910107, 0.16984761, 0.25679177, 0.036610503, -0.13772772, 0.11101589, -0.1137049, 0.07211461, 0.18065079, -0.12324793) * go_3(0.0, -1.0);
result += mat4(-0.020749722, 0.14413361, -0.061903823, -0.21550268, 0.31306142, -0.11532895, 0.029482557, 0.03282164, -0.09800627, -0.20765196, 0.33030233, 0.075725295, 0.49252015, 0.042455837, -0.07264194, -0.10401895) * go_3(0.0, 0.0);
result += mat4(-0.22697076, -0.15738785, 0.09740376, -0.072098814, -0.06638972, 0.12336611, 0.0073687397, 0.048267826, 0.06717852, -0.027047804, -0.123397194, 0.17829034, 0.04215185, 0.066311836, -0.061742183, -0.046373066) * go_3(0.0, 1.0);
result += mat4(0.041311592, 0.2813485, 0.055084586, -0.01823069, 0.08105147, -0.087944716, -0.10135052, -0.02653456, 0.063169874, -0.1351186, 0.06722432, -0.016406318, 0.08666922, 0.0555909, 0.12086502, -0.17224412) * go_3(1.0, -1.0);
result += mat4(0.26026788, -0.18303715, 0.029279215, -0.12858874, 0.027197823, 0.0919464, 0.00849638, 0.10547888, -0.12952055, -0.14414985, 0.1903315, 0.05004528, -0.12657289, 0.038008716, -0.036606666, -0.054025438) * go_3(1.0, 0.0);
result += mat4(0.069167465, 0.2699947, -0.11137602, -0.05888806, -0.107324794, -0.07598601, 0.06042177, 0.0064530694, -0.039780665, -0.076666445, -0.00846108, -0.06165907, -0.06978219, -0.19108103, -0.040026028, -0.120319635) * go_3(1.0, 1.0);
result += vec4(-0.14375664, -0.0056876075, 0.052177623, 0.07152566);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_4_tf
//!BIND conv2d_4_tf1
//!SAVE conv2d_5_tf
//!WIDTH conv2d_4_tf.w
//!HEIGHT conv2d_4_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(-0.15667982, -0.31441393, 0.29112124, -0.15737213, 0.022372838, 0.10690639, -0.12019085, -0.051941186, -0.30367845, 0.02612279, 0.2372532, 0.2021648, -0.20481086, -0.003770439, 0.14981231, 0.066780254) * go_0(-1.0, -1.0);
result += mat4(0.03270688, -0.42270073, 0.044317324, 0.15907793, 0.14681059, -0.2934784, 0.24933252, -0.067273855, 0.07752533, -0.23194817, 0.0686707, 0.08999225, 0.121678345, -0.12916678, 0.012397381, 0.012315053) * go_0(-1.0, 0.0);
result += mat4(-0.10090412, -0.20792678, 0.11076032, -0.02938975, -0.1944187, -0.2003259, 0.04438032, 0.36946484, -0.019868722, -0.15830222, 0.042811528, 0.015641417, 0.113098525, 0.080257006, 0.011135628, -0.2877629) * go_0(-1.0, 1.0);
result += mat4(0.15482685, 0.06579119, 0.28301102, 0.23729764, 0.15990537, 0.4529694, 0.107880585, 0.10668121, -0.42430598, -0.2631025, 0.10513542, -0.036242936, -0.09827965, -0.0069260495, -0.11689201, -0.041436482) * go_0(0.0, -1.0);
result += mat4(0.08472191, -0.13051608, 0.047930017, 0.36831668, 0.1164478, 0.21384816, 0.22062506, 0.2094167, 0.48668453, 0.32302913, 0.36268055, -0.091801375, -0.079141125, -0.26613805, -0.16608004, 0.03810683) * go_0(0.0, 0.0);
result += mat4(-0.13474251, -0.04824603, 0.23303726, -0.116136365, 0.0056330245, 0.15829784, 0.0012259148, 0.12648389, 0.038680512, 0.05131116, 0.024099711, 0.4555406, 0.0035716395, 0.11633299, 0.094744846, -0.2457627) * go_0(0.0, 1.0);
result += mat4(-0.0576871, -0.04037522, 0.16857862, 0.0031084458, -0.027274646, -0.18154246, 0.13337846, 0.035422433, -0.0030749738, -0.17288287, 0.019983152, -0.31871706, -0.03280405, 0.06825421, -0.1563798, 0.05031885) * go_0(1.0, -1.0);
result += mat4(-0.066631876, 0.012560506, 0.1690693, -0.018248236, 0.0450104, 0.016296914, -0.14910112, -0.16191053, 0.5078224, -0.017615631, 0.15226597, -0.13373777, 0.20148668, 0.060258996, 0.13215344, 0.18430072) * go_0(1.0, 0.0);
result += mat4(0.12976126, -0.072738245, 0.053067926, 0.09752956, -0.04716214, 0.04136464, 0.014162617, -0.06621296, -0.09617736, 0.057469178, 0.01280261, -0.042976785, -0.12570308, 0.006027807, 0.031038594, 0.06569918) * go_0(1.0, 1.0);
result += mat4(-0.12655424, -0.41563693, -0.030971345, -0.06357555, -0.14121394, -0.15667427, 0.14398985, 0.05995984, 0.0821605, 0.12462943, 0.007492498, -0.0030187522, -0.22804567, -0.10487421, 0.13180672, -0.13978589) * go_1(-1.0, -1.0);
result += mat4(-0.075991526, 0.12352044, -0.17844258, 0.010614991, -0.18293494, 0.25009897, -0.080779895, 0.21548378, 0.22215544, 0.048670914, -0.057372037, 0.078176, 0.17490411, 0.004919551, 0.059619516, 0.12660357) * go_1(-1.0, 0.0);
result += mat4(-0.06282951, 0.10929357, 0.026720649, -0.15939257, 0.17107709, -0.04334904, -0.03047162, -0.101681694, 0.03118431, 0.19994627, 0.025729552, 0.035035726, -0.0012207883, -0.08618888, 0.061205562, 0.009940555) * go_1(-1.0, 1.0);
result += mat4(-0.23581573, 0.08002133, -0.15170844, 0.08872338, -0.25767094, -0.09273545, 0.18153891, 0.2544269, -0.084598936, -0.089766875, -0.14610913, 0.002247754, 0.1802837, -0.019625561, 0.30239686, -0.032793984) * go_1(0.0, -1.0);
result += mat4(0.5223286, 0.10347663, 0.4000593, 0.25440502, -0.07646958, -0.31940606, 0.053407036, -0.09356492, 0.2738851, 0.23945184, -0.2907089, -0.45822915, 0.13415676, 0.17187089, 0.08731114, -0.27670014) * go_1(0.0, 0.0);
result += mat4(0.059273496, -0.107137166, 0.12087539, 0.179237, -0.021209063, -0.02548005, 0.061256204, 0.033822674, 0.54491127, -0.2475085, 0.08055858, -0.4071213, -0.045093834, 0.07161349, 0.08219979, -0.31735933) * go_1(0.0, 1.0);
result += mat4(-0.29527053, 0.021469543, 0.07202354, -0.07103959, 0.03990857, 0.2490762, -0.19419849, -0.13916986, -0.05325315, 0.12922864, -0.041463424, -0.031249814, 0.073991664, -0.09723187, 0.35132217, 0.024760868) * go_1(1.0, -1.0);
result += mat4(0.09606787, -0.0951808, -0.0059865676, -0.052033573, -0.3118038, 0.4432636, -0.12943317, 0.09484738, 0.10621756, -0.10550469, 0.11264014, 0.1402276, -0.012679125, -0.08809835, 0.029994955, -0.15121669) * go_1(1.0, 0.0);
result += mat4(0.123397775, 0.048338536, -0.00975707, -0.103767075, -0.041053303, -0.07228534, 0.046792876, 0.0668788, 0.29554394, 0.012451002, 0.19568972, 0.112091154, 0.10882395, -0.0995439, 0.051324263, 0.24967718) * go_1(1.0, 1.0);
result += mat4(0.2699648, 0.17300771, -0.16056584, 0.1099392, 0.11674778, -0.19811755, 0.111880325, -0.06075038, -0.095849104, -0.04510651, -0.04180761, -0.0052786698, 0.11037549, -0.24115366, 0.018509468, -0.07819484) * go_2(-1.0, -1.0);
result += mat4(0.10981622, 0.044488225, 0.050722387, -0.3146652, -0.0013019707, -0.24084032, -0.10475088, 0.026944289, 0.1592903, 0.33087498, 0.061839584, -0.043863457, -0.06904603, -0.08635262, 0.088630445, -0.15485142) * go_2(-1.0, 0.0);
result += mat4(-0.06810522, 0.19927117, -0.08130387, 0.11612667, -0.015104349, -7.738651e-05, -0.06419643, -0.14813533, 0.026650215, 0.015038833, 0.08161237, 0.058321163, 0.015005185, -0.16189656, 0.024501886, 0.1927279) * go_2(-1.0, 1.0);
result += mat4(0.31858218, 0.11962043, -0.20560326, -0.13190113, 0.02138715, -0.057066392, -0.085771754, -0.124566585, 0.044749223, 0.13687828, 0.1195792, 0.14021616, 0.26204133, 0.05119197, -0.13980037, 0.050747477) * go_2(0.0, -1.0);
result += mat4(-0.21238558, -0.0734057, -0.2036023, -0.34308743, -0.29370925, 0.2393742, -0.37877437, 0.036869828, -0.17053255, -0.26900926, -0.23330869, 0.32902205, -0.4882585, 0.27430108, -0.033711653, 0.15501487) * go_2(0.0, 0.0);
result += mat4(0.23487025, 0.085289046, -0.14281847, 0.12543266, 0.15871634, -0.13858907, 0.14810285, -0.0239261, 0.1286852, 0.07754033, 0.01072327, -0.14313328, 0.05480442, -0.12195059, 0.11341822, 0.08224607) * go_2(0.0, 1.0);
result += mat4(0.19490337, 0.023521842, -0.24548791, 0.0035114093, -0.07937166, -0.07674376, 0.08365873, -0.003286068, 0.023862893, 0.009626835, 0.032829892, 0.0078141205, 0.053484406, -0.08297165, 0.09303188, 0.004273738) * go_2(1.0, -1.0);
result += mat4(-0.0032906602, 0.13636959, 0.027821168, 0.06270053, 0.024775786, -0.077529594, 0.03799126, 0.030000908, 0.031749167, 0.04360487, 0.004448846, -0.17835903, -0.30834544, 0.013150946, -0.13758293, -0.03296242) * go_2(1.0, 0.0);
result += mat4(-0.14166978, 0.034131095, 0.049779188, 0.09453289, -0.011406557, -0.07020709, -0.0031981543, -0.03443845, -0.00010218944, 0.0855161, -0.10951453, 0.042758763, 0.1718446, -0.1577923, 0.0410027, -0.04992991) * go_2(1.0, 1.0);
result += mat4(0.1219178, 0.105126485, -0.041097324, -0.08110963, -0.04857337, -0.11544925, -0.14572923, 0.092435546, 0.091857366, 0.15425235, -0.020324683, -0.05764375, -0.020458939, -0.10527823, -0.085554086, 0.16358297) * go_3(-1.0, -1.0);
result += mat4(-0.12372687, -0.009976829, 0.14252265, -0.1321053, -0.05965866, -0.1393898, -0.017603246, -0.02714342, -0.16824952, -0.23083204, -0.012299022, -0.06689838, -0.015830487, 0.21299921, -0.11637202, 0.0074968333) * go_3(-1.0, 0.0);
result += mat4(-0.01979935, -0.182785, -0.015397454, 0.14175794, -0.011465284, 0.11285164, -0.036115747, 0.07150463, -0.083641894, -0.10221778, -0.13871445, 0.099696055, 0.04603662, -0.06463785, -0.007984529, -0.0032940735) * go_3(-1.0, 1.0);
result += mat4(0.072830334, -0.057334073, 0.09086239, 0.13039105, 0.06350303, 0.17130788, -0.2181585, -0.09137403, -0.31397742, -0.019071499, -0.017274613, 0.13762084, 0.10195637, -0.021455176, 0.04011394, -0.08029658) * go_3(0.0, -1.0);
result += mat4(-0.26982597, -0.40265098, -0.4151411, 0.038557775, -0.095602125, 0.3503172, -0.029988842, -0.03484708, 0.095536314, -0.0030311556, 0.31589827, 0.52763534, -0.12629713, -0.24356791, 0.0059487303, 0.42298427) * go_3(0.0, 0.0);
result += mat4(0.054166105, 0.18827972, -0.081673265, -0.06720384, 0.09375001, 0.22173035, -0.14050071, 0.108400136, -0.15553835, -0.08716729, -0.037366748, 0.10971073, -0.02560103, -0.26702073, -0.05201882, 0.2432563) * go_3(0.0, 1.0);
result += mat4(0.16196893, 0.0889265, -0.09887943, -0.042956755, -0.054403376, -0.123823255, 0.045847844, 0.017027669, 0.00539936, -0.112265736, 0.050549984, -0.104931094, -0.06883012, -0.25745714, 0.11155538, -0.15363649) * go_3(1.0, -1.0);
result += mat4(-0.22157209, 0.18200903, -0.13290548, 0.026721261, -0.06066069, -0.18150693, 0.08768983, 0.037362453, -0.1073367, -0.070236765, -0.41223463, -0.168915, -0.15517351, -0.13949952, -0.13307643, -0.15935421) * go_3(1.0, 0.0);
result += mat4(-0.026589906, 0.0930502, 0.05195435, 0.06301585, -0.01107014, -0.019382332, 0.027223695, -0.004045145, -0.15238355, -0.0345132, 0.06355168, 0.0011230056, 0.16690113, 0.0017829507, -0.0023939044, -0.09471834) * go_3(1.0, 1.0);
result += vec4(0.024455175, 0.01669877, -0.066231176, 0.036848705);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_4_tf
//!BIND conv2d_4_tf1
//!SAVE conv2d_5_tf1
//!WIDTH conv2d_4_tf.w
//!HEIGHT conv2d_4_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(0.01763509, -0.17156707, -0.06841296, -0.026132878, -0.10600523, 0.11245994, 0.121395074, -0.09331501, 0.12764473, 0.0428028, -0.11837395, 0.2092563, -0.04357652, -0.0490096, 0.024701532, 0.10518723) * go_0(-1.0, -1.0);
result += mat4(-0.17130826, -0.31987694, -0.07639005, 0.21362033, 0.058639023, 0.066175915, -0.25344703, -0.07923442, -0.14766373, 0.040518284, -0.031103026, -0.040075514, -0.051108997, -0.28214613, -0.18504949, 0.27544948) * go_0(-1.0, 0.0);
result += mat4(0.030991005, -0.011353306, 0.15237464, 0.15458584, 0.1250524, 0.19959912, 0.14049476, 0.38410887, 0.07378578, -0.017728366, 0.0963528, -0.043756213, -0.039577194, -0.11800575, -0.08392266, -0.07599512) * go_0(-1.0, 1.0);
result += mat4(0.022089608, -0.027317125, 0.051330008, -0.0075439885, 0.021650828, -0.0009390209, -0.12043464, 0.049332134, -0.055557396, -0.053297505, -0.0918705, -0.13089466, -0.10994107, 0.072746456, 0.11496739, -0.05225977) * go_0(0.0, -1.0);
result += mat4(0.29730305, 0.26317745, 0.052159555, -0.32006654, 0.48288685, -0.049926184, -0.08091092, -0.13825637, -0.1485706, -0.288657, -0.41443697, 0.06856032, -0.23809211, -0.12953928, 0.4783034, -0.47557938) * go_0(0.0, 0.0);
result += mat4(0.026139118, -0.23031352, 0.04861487, 0.033556074, 0.2702056, 0.22802536, -0.15385233, 0.1664119, 0.18749923, 0.36927548, -0.011473684, -0.11771165, -0.16859052, -0.4513202, 0.12863952, 0.02482837) * go_0(0.0, 1.0);
result += mat4(0.0073229345, -0.061915245, 0.06710329, 0.0062416573, -0.00555983, 0.14592186, 0.11201052, -0.123630054, 0.32611257, -0.11279885, -0.059449438, 0.2891043, -0.10519016, 0.040108994, -0.012468261, 0.02083298) * go_0(1.0, -1.0);
result += mat4(-0.057483062, 0.08454755, -0.15529329, -0.12572923, 0.2600099, -0.02319978, -0.04037675, 0.11496361, 0.07728194, -0.12908956, -0.025529336, 0.112581626, 0.02971823, 0.11659056, -0.01298622, 0.017061908) * go_0(1.0, 0.0);
result += mat4(0.22417091, -0.00222947, 0.04980858, 0.12260437, -0.025507605, 0.042577885, 0.120813504, -0.048522256, -0.038494784, -0.0072195013, -0.23012944, -0.020850847, -0.078296244, -0.014830018, 0.19759563, -0.10000253) * go_0(1.0, 1.0);
result += mat4(-0.032090195, 0.023757193, -0.08989734, 0.14419042, 0.0112194475, -0.093776144, -0.020197887, 0.29295877, 0.06872183, 0.09511462, -0.03245769, -0.06504889, 0.05132126, 0.00399527, 0.075911656, 0.250893) * go_1(-1.0, -1.0);
result += mat4(-0.3418496, 0.25525784, 0.0018161442, 0.028484365, -0.17573346, -0.12457501, 0.18466166, 0.20209278, 0.10282706, 0.16353399, 0.025052028, -0.059714165, -0.055806916, -0.28651386, 0.112798095, 0.11624314) * go_1(-1.0, 0.0);
result += mat4(-0.018793896, 0.07500149, -0.01728254, -0.1726998, -0.13333, 0.09590344, -0.036537904, -0.11522523, 0.19445558, 0.22680458, 0.12061006, -0.06225618, 0.1127748, 0.28380096, -0.07099846, -0.007440302) * go_1(-1.0, 1.0);
result += mat4(-0.43887648, -0.10018577, -0.29267642, 0.12149727, -0.14333835, 0.04161915, 0.19442867, 0.16506511, 0.09655387, -0.0014398015, 0.13189743, -0.14068556, 0.049408, 0.0829072, 0.2950336, 0.36965907) * go_1(0.0, -1.0);
result += mat4(0.41486958, -0.023498302, -0.37900022, -0.31752598, 0.13758768, -0.18782206, -0.31358528, 0.3330786, -0.4039293, -0.06539036, 0.032599606, 0.10663507, -0.26369813, -0.17365438, 0.20723309, 0.1801556) * go_1(0.0, 0.0);
result += mat4(0.004117444, -0.14894462, 0.14915143, -0.047375835, -0.2609916, -0.10172324, -0.14925237, -0.33830285, 0.12131607, -0.18156646, -0.42382464, -0.052582145, 0.2329045, -0.4576963, 0.13756892, 0.055571318) * go_1(0.0, 1.0);
result += mat4(-0.31689477, 0.017058033, -0.01904924, -0.016893756, -0.011479519, 0.07316262, -0.07086077, 0.08923511, -0.08190091, -0.025866933, -0.06909204, -0.028601022, 0.023224542, 0.03082087, 0.2230426, -0.16713654) * go_1(1.0, -1.0);
result += mat4(0.13457374, 0.110913865, -0.1130815, -0.031438913, -0.55201167, 0.04831016, 0.25107765, -0.014003224, 0.19532952, 0.02062346, 0.04839241, 0.088673405, 0.30325848, -0.20222804, -0.085780576, 0.22512968) * go_1(1.0, 0.0);
result += mat4(0.076354, 0.021940092, -0.16170324, 0.0025543426, -0.0032400405, -0.0046705627, 0.06241069, -0.031247333, 0.098353796, 0.03723474, 0.22971998, -0.017877292, 0.119858086, 0.008041448, 0.2140585, 0.10343376) * go_1(1.0, 1.0);
result += mat4(0.08627595, 0.04532834, 0.027579082, -0.16222088, 0.15583228, -0.14371829, -0.07243855, -0.111895435, -0.14438897, -0.10250594, 0.0034202964, -0.066547595, -0.034390844, -0.021545287, 0.014540157, -0.10215731) * go_2(-1.0, -1.0);
result += mat4(0.19720152, 0.21534947, 0.1130938, -0.011730973, 0.013247983, -0.10344174, -0.1906514, -0.015767017, -0.020093633, -0.26487067, -0.005960781, -0.057149183, 0.030110173, 0.047692046, -0.19308545, -0.25292158) * go_2(-1.0, 0.0);
result += mat4(0.039498243, 0.053682897, -0.01844695, -0.017540915, 0.039454967, -0.27696076, 0.09503274, -0.038958035, 0.17321438, -0.036311295, 0.03123055, 0.02310311, 0.040591653, 0.0054627894, -0.03520426, -0.026101988) * go_2(-1.0, 1.0);
result += mat4(0.055991564, 0.06512919, -0.12532505, 0.024075158, -0.04926237, -0.11701171, 0.026792146, 0.013033238, -0.052847516, -0.01550091, -0.008442071, -0.077945165, -0.033220004, -0.13678443, -0.07040586, 0.121846326) * go_2(0.0, -1.0);
result += mat4(-0.19537796, -0.016634773, 0.10707109, -0.024361614, -0.16002733, -0.44066608, 0.16488662, 0.013152995, 0.22407806, 0.12854017, 0.19028598, -0.08379244, -0.05594235, -0.15909895, 0.511962, 0.39027596) * go_2(0.0, 0.0);
result += mat4(-0.032652248, 0.06004893, 0.011166194, 0.102761306, -0.035113614, -0.29961765, -0.013817978, 0.20938557, 0.08488225, -0.1118558, -0.0375328, -0.035511103, 0.0046933405, 0.20203683, -0.13552529, -0.12685429) * go_2(0.0, 1.0);
result += mat4(0.03054923, 0.08224908, -0.059128158, -0.02583655, -0.02133876, 0.0048713544, 0.10848829, 0.06324404, 0.028332822, -0.011002306, -0.027557913, -0.06072362, 0.1019048, -0.02587316, 0.08563405, -0.08119947) * go_2(1.0, -1.0);
result += mat4(-0.10568117, 0.1075248, 0.19379964, -0.14337265, 0.019374132, -0.0907804, -0.13827625, -0.03628561, 0.014735499, -0.026882607, -0.25948793, 0.034926686, -0.05988073, -0.22735636, 0.053511668, 0.04765336) * go_2(1.0, 0.0);
result += mat4(-0.029848114, 0.09183966, 0.084713496, 0.09422864, 0.069713995, -0.10584984, -0.020899031, 0.059645247, -0.075805016, -0.01828552, 0.06689195, -0.13804196, -0.023465823, -0.034038994, -0.12946706, 0.058709413) * go_2(1.0, 1.0);
result += mat4(0.061918218, 0.038984764, 0.013660938, -0.19340219, -0.014949839, 0.12946278, 0.12725051, 0.13429146, 0.05993008, -0.015394284, 0.011232483, 0.0344157, 0.022161875, -0.023923954, 0.061736204, 0.025963215) * go_3(-1.0, -1.0);
result += mat4(0.048136763, 0.03162042, -0.01967249, 0.06374493, 0.034645267, 0.22403605, 0.036197048, -0.06903216, -0.1024706, -0.0005459356, 0.049185563, 0.16309108, 0.07394778, 0.10351343, 0.28430694, -0.13531347) * go_3(-1.0, 0.0);
result += mat4(-0.14705071, -0.09458433, 0.03063114, 0.07901115, -0.11911086, -0.06428132, -0.013549552, -0.041342866, -0.20770676, -0.15104479, 0.054365363, -0.11652907, 0.05639815, 0.070518605, 0.0017846811, -0.00056205114) * go_3(-1.0, 1.0);
result += mat4(0.27148908, 0.07358356, 0.13644488, -0.13824654, 0.0112991175, -0.021521023, -0.10197379, 0.007816017, -0.13314332, 0.12318473, -0.043214846, -0.15759036, -0.19744353, -0.10267182, -0.28249928, 0.11233295) * go_3(0.0, -1.0);
result += mat4(-0.096474804, 0.17893109, 0.014679829, -0.21218887, -0.24170275, 0.10603527, 0.05375366, -0.059315052, 0.17087384, 0.13633691, -0.37958893, 0.43264794, 0.17829923, 0.06485103, -0.37551817, -0.22082718) * go_3(0.0, 0.0);
result += mat4(-0.30536333, -0.033212308, -0.25232, 0.11730442, -0.11176368, 0.26223183, -0.049025323, -0.01375941, -0.29028055, 0.16842811, -0.035684332, -0.4180911, -0.1611732, 0.07683385, -0.14263596, 0.17508087) * go_3(0.0, 1.0);
result += mat4(0.23580009, 0.025621435, -0.15757325, 0.008123166, -0.021905439, -0.02162503, -0.059497356, -0.01636353, 0.047654126, -0.084423855, -0.033733923, 0.0127116265, -0.059593942, -0.053935718, -0.050729543, 0.013887048) * go_3(1.0, -1.0);
result += mat4(-0.19232626, 0.07915767, -0.05909752, 0.007695347, 0.058876406, 0.057521783, -0.080253534, 0.2011056, -0.27965516, -0.08033169, -0.13025513, 0.12854645, 0.053400308, -0.18445957, -0.18463044, 0.27920377) * go_3(1.0, 0.0);
result += mat4(-0.061806213, -0.020037206, 0.003183183, -0.029844081, -0.039553937, 0.028905323, -0.11367984, -0.097321615, -0.10112643, 0.0039709485, -0.06020118, -0.23871279, -0.077974856, 0.05806996, -0.21440302, 0.11898043) * go_3(1.0, 1.0);
result += vec4(-0.023832673, 0.03702965, -0.04749135, -0.10982549);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_5_tf
//!BIND conv2d_5_tf1
//!SAVE conv2d_6_tf
//!WIDTH conv2d_5_tf.w
//!HEIGHT conv2d_5_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(0.030931145, 0.013683292, -0.0650242, -0.028732346, 0.120067924, -0.029404473, 0.0038229884, -0.14631765, 0.041900825, -0.076596744, -0.11096378, -0.27100095, 0.0052598766, -0.05929686, -0.06816563, -0.086864315) * go_0(-1.0, -1.0);
result += mat4(-0.043620087, -0.16360405, 0.006527374, 0.15706524, 0.08338088, -0.19027525, 0.22595987, -0.054963548, 0.01825031, -0.03149212, 0.025471251, 0.06429379, -0.011633275, -0.079389006, -0.0030728737, 0.17345747) * go_0(-1.0, 0.0);
result += mat4(-0.011275288, -0.10668036, 0.05718997, 0.010336089, 0.33393976, -0.2029354, 0.075444475, -0.092244044, 0.07605498, 0.20125951, 0.10493973, -0.12306946, 0.03658231, 0.08233366, -0.12205888, -0.116969004) * go_0(-1.0, 1.0);
result += mat4(-0.0070305974, 0.105127215, 0.006041873, 0.26743913, 0.028119443, 0.14823505, -0.28344348, 0.12362866, -0.1215781, 0.08104382, 0.102011785, 0.085380934, 0.061244503, -0.06230063, -0.05353345, 0.1166729) * go_0(0.0, -1.0);
result += mat4(0.08945733, 0.4101902, -0.06404005, 0.040728435, 0.13076581, -0.20805469, -0.10897316, -0.14924604, 0.10090762, 0.015475414, 0.26346552, 0.12096677, -0.20199244, 0.2780031, 0.18515368, 0.35105625) * go_0(0.0, 0.0);
result += mat4(0.07463155, 0.26932517, -0.06768551, 0.10470878, -0.1423996, 0.013550665, -0.06167201, -0.1022994, -0.3107166, -0.15609552, 0.1695213, -0.1277181, 0.12582655, -0.1596128, 0.015612055, -0.19826376) * go_0(0.0, 1.0);
result += mat4(0.011745468, 0.006471601, 0.008110513, 0.025831396, 0.1272883, -0.221959, 0.11993834, -0.007903633, 0.009993582, -0.10170755, 0.026594637, -0.027883623, 0.030666083, -0.036415886, 0.007469573, 0.0674783) * go_0(1.0, -1.0);
result += mat4(-0.022760388, -0.10911659, -0.012589904, -0.046462692, 0.36987287, 0.71668935, -0.04466556, 0.12082762, 0.0026539841, 0.07070946, -0.00020439121, -0.13925348, 0.08672072, 0.20075354, -0.066352285, 0.14655356) * go_0(1.0, 0.0);
result += mat4(-0.081081845, -0.21956222, 0.06781787, -0.106362104, -0.03016425, -0.010460211, -0.009725996, -0.009805538, 0.07037355, 0.19254607, 0.038890257, 0.29580075, -0.10355764, 0.12613009, 0.02485986, -0.031927988) * go_0(1.0, 1.0);
result += mat4(-0.13882205, 0.21770848, 0.015392157, 0.010310204, 0.008225721, 0.07457836, 0.09984027, -0.25452816, 0.2193511, -0.22262146, -0.12950355, 0.026151875, 0.022114651, -0.030566849, 0.034688126, 0.03047327) * go_1(-1.0, -1.0);
result += mat4(0.0363441, 0.19290726, -0.1143055, 0.30871987, -0.05780708, 0.082128406, -0.115280904, 0.07636388, 0.48947453, -0.29715258, 0.146737, -0.3275992, -0.055972476, -0.09991753, 0.17435446, 0.10917291) * go_1(-1.0, 0.0);
result += mat4(0.026389305, 0.054523308, -0.028950177, 0.06913328, -0.18626037, 0.08829993, 0.10407121, 0.001246911, 0.103938825, -0.3117343, -0.045564886, 0.07316613, 0.0027089121, 0.099437356, -0.046500806, -0.0927284) * go_1(-1.0, 1.0);
result += mat4(0.051037624, -0.2068234, 0.061572235, -0.3345198, 0.16960172, -0.30289862, -0.002583443, 0.39312238, 0.08246557, 0.16374862, -0.31902805, -0.13205275, -0.032050006, 0.01670186, 0.13852347, 0.120012194) * go_1(0.0, -1.0);
result += mat4(-0.67096996, -0.06274476, 0.18575665, 0.80282855, 0.23201196, -0.0054729837, 0.050396994, -0.42014772, 0.34904522, 0.26281372, 0.24697208, 0.55475426, 0.49850988, -0.06581312, -0.0068906257, -0.15741143) * go_1(0.0, 0.0);
result += mat4(-0.04252036, -0.28224963, 0.009723064, 0.116357096, 0.2992567, -0.26702902, -0.05648925, 0.12729199, -0.37574205, 0.54211813, -0.25248805, -0.13023548, 0.18903324, -0.5182459, 0.0141203115, -0.19444294) * go_1(0.0, 1.0);
result += mat4(-0.0017735233, -0.010132458, -0.040924776, -0.13767008, 0.20757031, -0.06509882, -0.09756446, 0.018974079, 0.090851985, -0.010158765, -0.03999607, -0.12055641, 0.03629025, -0.018645551, -0.05506811, -0.014202848) * go_1(1.0, -1.0);
result += mat4(0.16203491, 0.011118734, -0.18486023, -0.024290733, -0.3673846, -0.20295864, 0.23055002, -0.1555852, -0.02706522, 0.03262891, 0.008724611, -0.03760652, -0.20946771, -0.01951837, 0.16955496, 0.11690098) * go_1(1.0, 0.0);
result += mat4(0.0783421, 0.22656651, -0.15715368, -0.024174158, 0.020260733, 0.032390315, -0.029133298, 0.086601086, 0.13871798, -0.12525433, 0.16097449, 0.058946393, 0.029865682, 0.08508385, 0.040569812, -0.09402932) * go_1(1.0, 1.0);
result += mat4(-0.05063873, 0.11269313, -0.057484943, -0.13579641, 0.047973365, -0.07103839, -0.07838756, -0.0028928046, -0.019466015, 0.018428024, 0.010016324, -0.057396665, -0.19495595, 0.034307264, -0.022888038, 0.08112259) * go_2(-1.0, -1.0);
result += mat4(-0.09790086, 0.10613111, 0.06611674, 0.19356097, -0.00073371036, -0.019078335, 0.076719105, -0.016212497, -0.3283475, -0.07547389, -0.08140701, 0.3185625, -0.25060275, 0.16820994, -0.123497784, 0.43272668) * go_2(-1.0, 0.0);
result += mat4(-0.06365342, 0.11186735, -0.17493224, -0.04207358, 0.0003117533, 0.034089327, -3.067692e-05, -0.03422754, 0.16267666, 0.054771993, 0.048384454, -0.041866794, 0.0036008756, 0.0021496525, 0.20258942, -0.06297619) * go_2(-1.0, 1.0);
result += mat4(0.03578836, 0.08763908, -0.22370125, -0.32465744, 0.019142643, 0.011316954, 0.17920344, 0.031633645, 0.03766343, -0.116487674, -0.05281752, -0.018965483, 0.049297336, -0.34511214, 0.42598158, 0.051361635) * go_2(0.0, -1.0);
result += mat4(0.26638633, -0.33628765, 0.04437907, 0.09616201, -0.020049393, 0.2560829, -0.027108455, 0.255752, 0.3666511, 0.052277412, -0.46667686, 0.48482272, 0.51302284, -0.06941614, -0.17967525, -0.07889891) * go_2(0.0, 0.0);
result += mat4(0.18503937, 0.088710256, 0.2083147, -0.20758459, -0.036416974, 0.018303726, 0.03729963, -0.035969947, -0.2685231, -0.42169708, -0.039593916, -0.02642618, 0.29050872, -0.25723743, -0.111259766, 0.15001127) * go_2(0.0, 1.0);
result += mat4(-0.026473878, -0.07241443, 0.022400148, -0.03214132, 0.0859297, -0.0036677981, -0.07039137, 0.03703108, 0.042322673, -0.01222808, -0.08151938, 0.033109214, -0.048737407, 0.25929528, -0.40535828, -0.123594694) * go_2(1.0, -1.0);
result += mat4(0.10233285, 0.22455986, -0.13368733, 0.033236265, -0.052114893, -0.11709317, 0.009709581, 0.19201641, -0.02973698, 0.032114245, -0.09771862, 0.085680574, 0.15827927, -0.15042172, 0.21833214, -0.13262676) * go_2(1.0, 0.0);
result += mat4(-0.08460587, -0.09473209, 0.019323658, -0.057233352, 0.0019434267, -0.14437936, 0.034232683, 0.0030602294, -0.023598112, 0.10692026, -0.09960999, 0.005887181, 0.014738836, -0.32473162, -0.10886747, -0.08365826) * go_2(1.0, 1.0);
result += mat4(0.10900178, 0.00080280803, -0.14009437, -0.053074867, -0.07811151, -0.03456029, -0.104943685, 0.016918905, -0.11335709, 0.079421654, 0.13481963, 0.037818357, -0.027339859, 0.05856774, -0.044562265, 0.03908084) * go_3(-1.0, -1.0);
result += mat4(0.07628258, -0.23815769, 0.2840278, -0.3541637, -0.044292126, -0.09310441, -0.1335055, -0.031899665, -0.11981227, 0.24012394, -0.041896038, -0.10168982, 0.20248915, -0.10036763, -0.044115108, 0.08520525) * go_3(-1.0, 0.0);
result += mat4(0.07234102, -0.119480744, -0.01401321, -0.025182616, -0.031284854, -0.050089385, 0.014808948, 0.038662236, -0.18539418, 0.017342187, 0.023812262, 0.13428104, 0.020824855, -0.07433546, 0.054307282, 0.08511016) * go_3(-1.0, 1.0);
result += mat4(-0.11046813, -0.04663274, 0.33497185, 0.023273284, -0.24681108, 0.116665915, 0.12045893, 0.13306482, -0.039098527, 0.04747061, 0.042796664, 0.053514794, 0.011861975, -0.048702, 0.008408589, -0.09497112) * go_3(0.0, -1.0);
result += mat4(0.34634927, 0.37973458, -0.79267627, -0.7362719, 0.35489878, -0.07635863, 0.24082923, -0.27480397, -0.3236968, -0.25523046, 0.05118527, -0.040529836, -0.6000509, 0.39020586, 0.27632973, 0.5141453) * go_3(0.0, 0.0);
result += mat4(0.16761221, -0.033125393, 0.00561569, 0.083019435, -0.101278506, 0.07810264, 0.12060661, 0.16048536, 0.14257826, -0.15996903, 0.018831912, -0.094429865, -0.22227801, 0.426937, -0.054677445, 0.05067348) * go_3(0.0, 1.0);
result += mat4(0.02233958, 0.02608942, -0.045318656, 0.06509929, 0.035911568, 0.025316885, 0.0840986, 0.08326237, 0.048455603, -0.13630742, 0.07230253, -0.047261715, -0.092630014, 0.04786565, 0.10354939, -0.07094341) * go_3(1.0, -1.0);
result += mat4(-0.1463382, -0.14900577, 0.2835977, -0.106733374, -0.11554754, -0.168429, -0.1411373, -0.20654152, -0.06388508, 0.039648015, 0.08543832, -0.13253337, 0.017264463, -0.06346233, -0.10823598, 0.067361064) * go_3(1.0, 0.0);
result += mat4(0.04419582, 0.039152585, 0.06222691, 0.05757103, 0.012084537, 0.051425997, -0.061130576, 0.16752882, 0.07497411, 0.13495837, -0.15585983, -0.02050144, -0.08555421, -0.09147339, 0.025115604, 0.05948922) * go_3(1.0, 1.0);
result += vec4(0.00590038, 0.03082865, 0.002111702, -0.03330112);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16
//!HOOK MAIN
//!BIND conv2d_5_tf
//!BIND conv2d_5_tf1
//!SAVE conv2d_6_tf1
//!WIDTH conv2d_5_tf.w
//!HEIGHT conv2d_5_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0))
#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0))
#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0))
vec4 hook() {
vec4 result = mat4(0.009029573, 0.029218858, 0.029705316, -0.019268971, -0.0023235187, -0.072589695, 0.1424836, 0.09049359, 0.04342995, 0.18134294, 0.018145641, 0.14789368, 0.050923645, 0.06524081, 0.036812488, 0.11108108) * go_0(-1.0, -1.0);
result += mat4(-0.026506428, 0.016968496, 0.015961196, 0.010030791, -0.3141888, -0.06769598, -0.23920257, -0.031002127, -0.07351358, -0.19290134, -0.24282931, -0.18831016, -0.0928966, 0.075177215, -0.19699521, -0.05810917) * go_0(-1.0, 0.0);
result += mat4(-0.017991852, -0.079427645, 0.035970494, -0.017095685, -0.27197137, -0.20046075, 0.2616644, 0.021876303, -0.077394076, -0.04978692, 0.20363241, -0.013741705, -0.032103598, 0.14403099, 0.01442474, 0.048115995) * go_0(-1.0, 1.0);
result += mat4(-0.16939245, -0.001777, 0.026244136, -0.14122388, -0.056853324, 0.54357284, -0.19769607, -0.03187079, 0.04559263, -0.16048127, 0.12830622, 0.1442168, 0.006611398, -0.01618195, 0.012860053, -0.16539487) * go_0(0.0, -1.0);
result += mat4(0.13116026, -0.006161343, 0.7209969, 0.18338475, 0.3099777, 0.6500026, 0.3883795, -0.021434233, 0.31667513, 0.008917659, 0.14124091, -0.22335114, 0.12198921, -0.16449445, 0.08773425, 0.30054978) * go_0(0.0, 0.0);
result += mat4(-0.10413989, -0.10316161, 0.04342709, -0.021252686, 0.120892406, 0.37798002, -0.35963747, 0.021069285, 0.37587845, -0.08159587, 0.011139747, 0.2501104, -0.094568014, 0.037900843, -0.025109999, -0.030106556) * go_0(0.0, 1.0);
result += mat4(0.09680291, -0.040868275, 0.051731605, 0.089064725, -0.56098557, -0.38148618, -0.017037416, 0.08508287, -0.019247344, 0.019857002, -0.03512887, 0.031057188, -0.09648583, -0.04474188, 0.028748507, -0.11880965) * go_0(1.0, -1.0);
result += mat4(-0.010236943, 0.04257042, -0.08202597, -0.004203426, -0.26801527, -0.11716526, -0.017402772, -0.05819106, -0.13394608, 0.0234606, -0.15404865, -0.06801164, -0.0047627664, -0.1975249, 0.09420144, 0.23249897) * go_0(1.0, 0.0);
result += mat4(0.107361935, 0.07373787, 0.06242962, 0.05236332, -0.028867323, 0.025924044, -0.042526353, -0.0015729597, -0.1323144, -0.4040712, 0.023919407, -0.09535502, 0.049100045, 0.081110805, 0.08946112, 0.058505684) * go_0(1.0, 1.0);
result += mat4(0.13236825, -0.04468476, -0.04426802, 0.031087106, -0.09093992, -0.07470971, -0.01591504, 0.05924266, -0.21910913, 0.065537, -0.18358919, -0.02533145, -0.1512009, -0.04953928, 0.015540006, -0.0043442883) * go_1(-1.0, -1.0);
result += mat4(-0.14016777, -0.1086958, 0.16316028, 0.050777458, 0.23148167, 0.04944809, -0.10599886, -0.10447021, -0.40729257, -0.10926556, 0.069055155, 0.110635415, 0.108922414, -0.1716362, 0.10743909, -0.102534756) * go_1(-1.0, 0.0);
result += mat4(0.017795928, -0.066930935, 0.09396082, 0.092585504, 0.14223933, 0.059458215, 0.072033696, -0.04507726, -0.19956456, 0.1251282, -0.31733638, -0.10465904, 0.08546377, 0.048638333, 0.031372465, -0.08720661) * go_1(-1.0, 1.0);
result += mat4(0.108719654, -0.092161916, -0.014724377, 0.20068261, -0.24350016, 0.2113636, -0.07483714, -0.45665312, -0.25134233, 0.2753893, -0.11324696, -0.04472, 0.1576102, -0.045395147, 0.06013951, -0.12507361) * go_1(0.0, -1.0);
result += mat4(0.546225, -0.281897, 0.19477816, -0.116612464, -0.3145171, -0.41660902, 0.333625, 0.35902345, 0.48333502, 0.4662005, 0.10222491, -0.15314859, -0.3036888, 0.22849742, 0.20740797, 0.41399437) * go_1(0.0, 0.0);
result += mat4(0.007284074, 0.0393942, -0.31192186, -0.15687793, -0.289214, -0.015956698, -0.24718472, -0.1637855, -0.00765037, 0.26677555, 0.20215511, 0.37790874, -0.22096673, 0.25287116, -0.2446764, -0.13610223) * go_1(0.0, 1.0);
result += mat4(-0.16734968, 0.16721225, -0.053508647, -0.041097626, 0.062356673, 0.07812319, -0.263546, -0.39739034, 0.003389846, 0.12676363, -0.13175991, -0.19019242, -0.011847587, -0.007580052, -0.023946386, 0.046034034) * go_1(1.0, -1.0);
result += mat4(-0.17047611, 0.13298693, -0.07506747, -0.045542978, 0.33571973, 0.20192616, 0.30674616, 0.25668672, -0.24134545, 0.031693842, -0.009647641, 0.040534843, 0.03159419, -0.1100516, 0.11371316, 0.06098735) * go_1(1.0, 0.0);
result += mat4(-0.05518961, 0.19402988, -0.09646874, -0.059196774, -0.0073436056, -0.1381309, 0.06868669, 0.061328378, -0.1480867, -0.15774113, -0.022572191, 0.122521356, -0.04067007, -0.10145177, 0.13006335, -0.099452734) * go_1(1.0, 1.0);
result += mat4(0.06962972, 0.07768411, 0.021085173, 0.108355984, -0.03132525, 0.10220273, -0.11626593, -0.14104277, 0.018778645, -0.024237925, 0.048783034, 0.09074447, 0.4120426, -0.01948466, 0.073218934, 0.055681944) * go_2(-1.0, -1.0);
result += mat4(-0.22553118, -0.12923603, -0.22068842, -0.35037905, 0.005709937, -0.09528472, 0.08718399, 0.13200706, 0.17220478, 0.096844435, -0.30439013, -0.14122063, 0.15733318, -0.1014675, 0.33836862, 0.042193163) * go_2(-1.0, 0.0);
result += mat4(0.15826897, -0.034870047, 0.09295099, -0.17674965, -0.042326324, 0.06680338, -0.074267656, -0.0631393, -0.11267909, -0.19795708, 0.22005288, 0.35703793, 0.033995766, -0.12663686, -0.02449896, -0.123250045) * go_2(-1.0, 1.0);
result += mat4(0.021434195, 0.058398597, 0.04828315, -0.0016824572, -0.04291545, -0.0744907, -0.07698706, -0.15937585, -0.18852457, -0.17966963, 0.023800725, 0.025979731, -0.51412296, -0.018316887, -0.23076254, -0.12298674) * go_2(0.0, -1.0);
result += mat4(0.16054317, -0.0002730893, -0.54173076, -0.62443435, 0.04300197, -0.08529622, 0.15392275, 0.15742144, 0.025834514, -0.2800517, -0.17600477, 0.0020806703, -0.3010582, 0.45233512, 0.25595665, 0.103661336) * go_2(0.0, 0.0);
result += mat4(-0.024034392, -0.43800178, 0.28606912, -0.20908915, 0.078471914, -0.030501373, -0.059055753, 0.050494444, 0.063274644, -0.025071034, 0.17561312, -0.100698635, -0.25631955, 0.039981876, -0.18506624, 0.08366402) * go_2(0.0, 1.0);
result += mat4(-0.1413656, 0.03589635, -0.020917566, 0.017598262, 0.020156413, -0.018854238, 0.027228508, -0.03806087, -0.021715842, 0.071974196, -0.040065665, 0.08459291, -0.23530225, 0.16599682, -0.2772327, 0.10041177) * go_2(1.0, -1.0);
result += mat4(-0.055056706, 0.1286236, -0.11890451, -0.1790546, 0.16517544, -0.040448934, 0.12548013, 0.017075695, 0.07185459, -0.13236302, 0.19354409, 0.12767012, 0.31120765, 0.16378082, -0.036915366, -0.19724306) * go_2(1.0, 0.0);
result += mat4(-0.02225051, 0.033263147, 0.003279449, 0.08826271, -0.047833472, 6.574577e-05, 0.13721916, 0.04801998, -0.014958419, 0.08791209, -0.08076282, 0.024002168, -0.18028922, 0.23835851, -0.23309888, -0.119310364) * go_2(1.0, 1.0);
result += mat4(0.044960875, 0.18821983, 0.027640678, 0.013462449, 0.19011214, 0.21559924, -0.03329638, 0.07234414, 0.030880248, -0.11273214, 0.102028474, 0.12203351, 0.035855662, 0.008828778, 0.007218363, -0.012421797) * go_3(-1.0, -1.0);
result += mat4(-0.09450626, 0.025191775, -0.10738468, 0.16237053, 0.073676676, 0.12488881, -0.048748355, 0.007877263, 0.3572506, -0.07911043, 0.14684045, 0.0015310893, -0.33411503, -0.1151223, 0.004201752, 0.017775744) * go_3(-1.0, 0.0);
result += mat4(-0.10607509, -0.008143826, -0.08448629, -0.27557802, 0.0046665915, 0.008158659, 0.030826218, 0.020516023, 0.2333065, -0.017463414, -0.041772116, -0.03027809, -0.028166672, -0.080471426, 0.048199337, 0.08341059) * go_3(-1.0, 1.0);
result += mat4(-0.14640257, -0.18334304, -0.061674733, 0.0008892598, -0.2374775, -0.2721524, -0.040371176, 0.26362613, 0.19872928, -0.11246391, 0.0842288, 0.11188515, 0.0045209546, -0.04250933, -0.0738212, -0.069005966) * go_3(0.0, -1.0);
result += mat4(-0.08760266, 0.4816288, -0.21241407, 0.22734411, -0.1783721, -0.26842996, 0.099888, -0.2867675, 0.085521065, -0.3780281, -0.018543908, -0.039699722, 0.75688565, -0.5333645, 0.47567275, 0.09518891) * go_3(0.0, 0.0);
result += mat4(-0.04072665, 0.05998423, -0.48314768, -0.29495844, 0.10358383, -0.09816629, 0.028586809, -0.047708735, 0.008320228, 0.04089551, -0.18359782, -0.27615002, 0.12414414, -0.072417594, 0.25932562, 0.30268723) * go_3(0.0, 1.0);
result += mat4(0.14481631, 0.06484443, -0.09898657, -0.06553556, 0.25750044, -0.07265585, 0.12903488, -0.022347894, -0.04693863, -0.000107379274, 0.030295763, -0.0325354, 0.086214684, -0.021326948, 0.039682828, -0.034843277) * go_3(1.0, -1.0);
result += mat4(-0.031971477, -0.25145087, 0.03931631, 0.14262606, -0.06044626, 0.22820354, -0.10506207, 0.18064679, 0.0069641788, 0.01477993, -0.003626875, 0.118767865, 0.109416224, -0.002998205, 0.035680585, 0.07843882) * go_3(1.0, 0.0);
result += mat4(0.03375426, -0.059815384, 0.11632834, -0.12411481, 0.022583738, 0.02544465, -0.054889992, -0.07031964, -0.10140042, 0.16750422, -0.1448294, -0.09316004, 0.035582513, -0.026138382, -0.031955894, 0.040148776) * go_3(1.0, 1.0);
result += vec4(-0.03573331, 0.032919675, 0.011109369, 0.008329268);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112
//!HOOK MAIN
//!BIND conv2d_tf
//!BIND conv2d_tf1
//!BIND conv2d_1_tf
//!BIND conv2d_1_tf1
//!BIND conv2d_2_tf
//!BIND conv2d_2_tf1
//!BIND conv2d_3_tf
//!BIND conv2d_3_tf1
//!BIND conv2d_4_tf
//!BIND conv2d_4_tf1
//!BIND conv2d_5_tf
//!BIND conv2d_5_tf1
//!BIND conv2d_6_tf
//!BIND conv2d_6_tf1
//!SAVE conv2d_last_tf
//!WIDTH conv2d_tf.w
//!HEIGHT conv2d_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0))
#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0))
#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0))
#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0))
#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0))
#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0))
#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0))
#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0))
#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0))
#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0))
#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0))
#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0))
#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0))
#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0))
#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0))
#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0))
#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0))
#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0))
#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0))
#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0))
#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0))
#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0))
#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0))
#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0))
#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0))
#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0))
#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0))
#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0))
vec4 hook() {
vec4 result = mat4(-0.11498094, -0.053904895, -0.11520678, -0.05479549, 0.028396055, 0.032767884, 0.052479446, 0.05257866, -0.25706592, -0.3454966, -0.24713765, -0.2854201, -0.10287636, 0.0023146886, -0.09190338, -0.011193905) * g_0;
result += mat4(-0.05461422, 0.008780496, -0.07738697, -0.032230727, -0.047554165, -0.025061952, -0.051897213, -0.009545297, -0.14548294, -0.15184018, -0.01313442, -0.015299784, -0.0007883845, -0.12866738, -0.15260352, -0.27081275) * g_1;
result += mat4(0.11007706, 0.035344437, 0.11020841, 0.0425353, 0.1613199, 0.18417408, 0.09274313, 0.11943135, 0.106862, 0.079875536, 0.0937752, 0.068030775, 0.029093558, -0.06441164, 0.06467169, -0.021989612) * g_2;
result += mat4(0.049548414, -0.012455486, 0.07185561, 0.021865537, 0.020969186, -0.03374196, -0.024260623, -0.07739141, 0.07164591, 0.12741035, 0.0379913, 0.076403245, 0.07049977, 0.0744538, 0.0062989634, 0.01818882) * g_3;
result += mat4(-0.12511204, -0.010836819, 0.13709816, 0.22472954, 0.21280868, -0.006484726, 0.17554289, -0.009977173, 0.078398876, 0.20698707, 0.13432744, 0.29740283, -0.24750128, -0.32757792, -0.19807857, -0.2537023) * g_4;
result += mat4(-0.27207088, -0.1385644, -0.2166476, -0.07687419, -0.20300622, -0.29678395, -0.13135734, -0.20851587, 0.0361364, 0.011243289, -0.06845459, -0.11796941, 0.11575868, 0.070215136, -0.10295678, -0.12281369) * g_5;
result += mat4(0.13619795, -0.0019436983, -0.12701888, -0.25933513, -0.20134166, 0.00062823144, -0.076756015, 0.11002947, 0.0059049693, -0.18756741, -0.0718802, -0.2589954, 0.23413423, 0.30107784, 0.14445266, 0.18920745) * g_6;
result += mat4(0.1494216, 0.0587532, 0.05478662, -0.039123338, 0.23322394, 0.29950607, 0.24384268, 0.27843767, -0.16094431, -0.04705998, -0.016345032, 0.028868208, -0.102872886, -0.04659664, 0.104105346, 0.14305067) * g_7;
result += mat4(-0.001037014, 0.010001526, -0.0052278573, 0.024779709, 0.06857274, 0.067640975, 0.085439384, 0.09242789, -0.066597246, -0.055928994, 0.0015658981, 0.016131008, -0.03524695, -0.018364554, -0.047754433, -0.014295886) * g_8;
result += mat4(-0.042207, 0.02835915, -0.1404656, -0.08563323, -0.030979915, -0.0673764, 0.10733943, 0.057902794, 0.00022424995, -0.0023634837, -0.10778953, -0.10202357, -0.020368295, -0.019088887, -0.06875738, -0.08504131) * g_9;
result += mat4(-0.00043458896, 0.00045652856, -0.02016843, -0.020062413, -0.08740103, -0.042085808, -0.10644177, -0.09226477, 0.11212161, -0.00048174805, 0.021872435, -0.05868698, 0.0333954, 0.058184672, 0.05532576, 0.07621587) * g_10;
result += mat4(0.054245148, 0.001020329, 0.09106849, 0.05303779, 0.009889632, 0.01309413, -0.09187347, -0.08618193, -0.011621187, 0.016222361, 0.061095525, 0.060885344, 0.078050986, 0.0111776795, 0.08829944, 0.032022282) * g_11;
result += mat4(0.01643529, 0.02285545, -0.03498564, 0.00769657, -0.0042474116, 0.015836312, -0.025771018, -0.0016368, -0.008897948, -0.012588166, -0.01416411, -0.003578984, 0.025991246, 0.021237152, 0.017450012, 0.025172485) * g_12;
result += mat4(0.014568868, 0.017796224, -0.036679734, -0.03138748, 0.019457601, -0.027607411, -0.004529679, -0.038048342, -0.054055385, -0.03876025, 0.041948095, 0.005869784, 0.02439633, 0.05177997, 0.016000897, 0.0057169925) * g_13;
result += mat4(-0.03021866, 0.017678728, -0.01371109, 0.013548159, -0.0038099394, -0.014066414, 0.028093752, 0.0027308422, -0.010615999, 0.012673458, -0.03028171, -0.016818244, -0.06530097, -0.018845048, -0.0072947564, -0.0038243714) * g_14;
result += mat4(-0.019006258, -0.007847591, 0.03690709, 0.06714211, 0.0073993434, -0.009766907, -0.0021441753, -0.01308625, 0.06658726, 0.06701995, -0.027305668, -0.016032105, -0.028976806, -0.0036668575, -0.0027825525, 0.0105632655) * g_15;
result += mat4(0.028945107, -0.0014701135, 0.048950657, -0.01923516, -0.0014054152, 0.002650635, -0.005300331, 0.004860559, 0.011158468, 0.005940625, -0.012095051, 0.0041518128, -0.020433836, -0.025870577, -0.0007547932, -0.026509356) * g_16;
result += mat4(-0.004545374, 0.04264545, 0.021741537, 0.029115127, 0.04225599, -0.0055392785, 0.026570829, -0.031795148, -0.008307126, 0.020176455, 0.010904648, 0.017765503, -0.10806103, -0.01776947, 0.00070428237, -0.06356262) * g_17;
result += mat4(-0.05663172, 0.05908046, -0.03837452, 0.06636983, -0.007960516, -0.06384041, 0.023125881, -0.030108837, 0.0038054318, -0.023263922, 0.020264054, -0.0062937695, 0.031630237, 0.020909082, 0.03594235, 0.035879835) * g_18;
result += mat4(-0.0050448794, 0.033650696, -0.002830413, 0.035174295, -0.024521282, 0.013054315, -0.020833842, 0.037953895, 0.08249671, 0.024239466, -0.012758333, -0.027316988, 0.051040914, 0.0005025873, 0.039778862, 0.0024668393) * g_19;
result += mat4(0.017232442, 0.022482058, 0.020233413, 0.024337437, 0.07986929, 0.06234036, 0.12662584, -0.05271183, -0.009718745, -0.0046989853, -0.0030333172, -0.04034237, -0.0113442, 0.022746231, -0.035293855, -0.009433693) * g_20;
result += mat4(0.015766997, 0.013647276, -0.029327558, 0.039106004, -0.010398323, -0.032851525, 0.02908329, -0.003789618, 0.12963496, 0.010851003, 0.1126276, -0.049255487, 0.06867432, 0.07970792, 0.017840397, -0.026481882) * g_21;
result += mat4(-0.058729574, -0.07886952, 0.033267397, 0.02755372, -0.0172006, 0.012404398, -0.0230168, -0.015059758, -0.09239916, -0.029533267, -0.043251917, 0.0035152994, 0.022931995, 0.101714484, -0.044946067, 0.094993) * g_22;
result += mat4(-0.04708704, -0.032475296, -0.03228093, -0.08810475, 0.013745045, 0.027828002, -0.031922746, 0.022986397, -0.061620213, -0.03694645, -0.055026993, 0.0031291894, -0.028799903, -0.0025357977, -0.03441407, 0.0028600092) * g_23;
result += mat4(0.058981724, -0.10447273, -0.088705614, 0.16546178, -0.023549391, -0.008831522, -0.018411588, 0.029640056, -0.068086684, -0.05414636, -0.029401174, 0.036180343, -0.031988926, -0.047249753, 0.008162177, 0.00548062) * g_24;
result += mat4(0.05287462, -0.030657746, 0.02821435, 0.037005343, 0.03534311, -0.15614955, 0.07085459, -0.11997641, -0.009156166, -0.021968868, -0.054147746, -0.07307657, -0.006428544, -0.017528288, 0.012614676, 0.037840024) * g_25;
result += mat4(-0.021977803, 0.047799855, 0.02660416, -0.07292106, 0.045195807, -0.0056674764, 0.10824326, -0.112114795, 0.1447127, -0.0119616175, 0.0011661504, -0.04553905, 0.13048342, 0.14574122, -0.105522245, -0.102792375) * g_26;
result += mat4(-0.16397473, 0.15785863, -0.06666504, -0.01682913, 0.06070918, 0.070222184, 0.037701584, 0.026657054, -0.0835267, -0.009457008, 0.13232987, 0.13508691, -0.056414206, -0.06818828, 0.079076104, 0.032249212) * g_27;
result += vec4(-0.10795144, -0.09953324, -0.055413827, -0.03875493);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112
//!HOOK MAIN
//!BIND conv2d_tf
//!BIND conv2d_tf1
//!BIND conv2d_1_tf
//!BIND conv2d_1_tf1
//!BIND conv2d_2_tf
//!BIND conv2d_2_tf1
//!BIND conv2d_3_tf
//!BIND conv2d_3_tf1
//!BIND conv2d_4_tf
//!BIND conv2d_4_tf1
//!BIND conv2d_5_tf
//!BIND conv2d_5_tf1
//!BIND conv2d_6_tf
//!BIND conv2d_6_tf1
//!SAVE conv2d_last_tf1
//!WIDTH conv2d_tf.w
//!HEIGHT conv2d_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0))
#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0))
#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0))
#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0))
#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0))
#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0))
#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0))
#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0))
#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0))
#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0))
#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0))
#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0))
#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0))
#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0))
#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0))
#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0))
#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0))
#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0))
#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0))
#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0))
#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0))
#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0))
#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0))
#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0))
#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0))
#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0))
#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0))
#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0))
vec4 hook() {
vec4 result = mat4(0.024905335, -0.0020974763, 0.02695263, 0.00016802056, -0.024053082, -0.02133723, -0.031614035, -0.031826317, 0.120421864, 0.10555479, 0.08609448, 0.116875134, 0.046175968, 0.04224941, 0.059216674, 0.035143953) * g_0;
result += mat4(0.059397914, 0.016519934, 0.07189327, 0.047407165, 0.04808963, 0.02792908, 0.057017103, 0.034324065, 0.14228246, 0.11275426, 0.088058695, 0.059600517, 0.02063494, 0.052596953, 0.047207687, 0.08789091) * g_1;
result += mat4(-0.013453174, 0.008474715, -0.017593835, 0.009218917, 0.070580654, 0.040542338, 0.08812338, 0.074653216, -0.016356857, 0.015809007, -0.008739107, 0.0097674895, -0.018381525, -0.007775341, -0.040571664, -0.011188163) * g_2;
result += mat4(-0.026196122, -0.034825727, -0.042998232, -0.033436514, -0.01678153, -0.004592797, -0.010311677, 0.0008815291, -0.08899181, -0.10274026, -0.066960976, -0.082430154, -0.057137426, -0.07554528, -0.030993424, -0.050372377) * g_3;
result += mat4(0.022921838, -0.010479244, -0.050794605, -0.073633075, -0.053708922, 0.009594084, -0.071259, -0.01054356, 0.005165821, -0.08024963, -0.049251772, -0.09581235, 0.17995799, 0.09743011, 0.13533138, 0.11643848) * g_4;
result += mat4(0.09727046, 0.07292666, 0.06820908, 0.041535784, -0.0049705, 0.0048759184, -0.035702795, -0.015944308, -0.010730028, 0.018847652, 0.06466244, 0.086318985, -0.05661574, -0.040698618, 0.010839972, 0.0027009705) * g_5;
result += mat4(-0.04628466, 0.010060396, 0.02609333, 0.08664702, 0.057045907, 0.033591177, 0.02186063, -0.024303377, 0.006569828, 0.08025825, 0.016128821, 0.10180713, -0.12228169, -0.112990454, -0.078443415, -0.09126021) * g_6;
result += mat4(-0.12733299, -0.087755, -0.07374111, -0.044979006, -0.025347412, -0.004083168, 0.023782173, 0.02900392, -0.017815407, -0.041119996, -0.057978686, -0.13521095, 0.08364004, 0.06950181, 0.023554614, 0.008043734) * g_7;
result += mat4(0.009062775, -0.003570175, -0.007378757, -0.0018487388, 0.01145638, 0.05217187, -0.008250244, 0.008433307, -0.056756936, -0.044681005, -0.08096105, -0.08033185, -0.023784965, -0.01859799, 0.013042476, 0.021188647) * g_8;
result += mat4(-0.0071619656, -0.012498299, -0.05144986, -0.078112476, -0.034992415, -0.017038302, -0.04464615, -0.044504963, 0.024249, -0.004297534, 0.03674578, 0.03090718, 0.04698553, 0.008344952, 0.057619847, -0.0338724) * g_9;
result += mat4(-0.011845145, -0.0045043705, -1.6646482e-06, -0.0038495932, -0.01992515, 0.004827126, 0.019493148, 0.00862289, 0.10151322, 0.0021909082, 0.09940764, 0.03728846, 0.027824005, 0.04358071, 0.014909185, 0.036326095) * g_10;
result += mat4(0.022513246, 0.028257169, 0.0102195935, 0.03301329, 0.052253865, -0.0021944977, 0.08247392, 0.03256867, -0.040685873, -0.0052207555, -0.0451257, -0.054165114, 0.01647699, 0.0028809097, -0.015233776, -0.0008741886) * g_11;
result += mat4(0.017371105, 0.01597189, -0.052552313, -0.008554715, -0.0023150423, 0.006076517, -0.012868931, 0.0039361073, -0.007524978, -0.004284313, -0.021520883, -0.010327569, 0.02543678, 0.008725823, -0.0073885336, 0.005528395) * g_12;
result += mat4(0.019192757, 0.016561812, 0.0027538154, 0.0013078215, 0.007916496, -0.042525183, -0.013173432, -0.05265476, -0.062195376, -0.011255499, 0.020898128, 0.021532273, -0.001524097, 0.034835674, -0.004051403, -0.0292426) * g_13;
result += mat4(-0.049191684, -9.43322e-06, -0.009106849, 0.012845289, -0.019482708, -0.011163468, 0.0034011535, -0.007062845, -0.006469714, 0.03177786, -0.033006195, -0.0006813464, -0.053963087, 0.00085209147, 0.02734121, 0.034086403) * g_14;
result += mat4(-0.03232248, -0.004037002, -0.010319106, 0.030889064, 0.019604538, 0.0020888883, 0.010277864, 0.000661223, 0.057915937, 0.030683514, 0.00042533095, -0.013019287, -0.015896408, 0.0038484468, -0.0042103594, 0.02174542) * g_15;
result += mat4(0.032975145, 0.0011456647, 0.04913679, -0.017063798, 0.0117176045, 0.007440557, 0.0020480808, 0.009415731, 0.027573857, 0.015140836, -0.01679426, -0.006124731, -0.03206279, -0.029842237, -0.010428016, -0.028513178) * g_16;
result += mat4(-0.00506859, 0.055869613, 0.010164368, 0.027031485, 0.042289548, -0.0054258504, 0.032214936, -0.029970925, -0.0058315448, 0.022889478, 0.01681123, 0.02985076, -0.111186065, -0.02202099, 0.0030994313, -0.062343158) * g_17;
result += mat4(-0.060951103, 0.06079555, -0.0396464, 0.070911355, -0.011480358, -0.06803282, 0.01637355, -0.043100975, -0.00423709, -0.028337711, 0.021635853, 0.0014857082, 0.030084312, 0.018155476, 0.043694943, 0.038795974) * g_18;
result += mat4(-0.0060662925, 0.029721662, -0.008117774, 0.034551267, -0.024477571, 0.018841071, -0.027095588, 0.034495078, 0.082398005, 0.008998768, -0.016399248, -0.043801688, 0.05936684, 0.006066549, 0.045399766, 3.5319943e-05) * g_19;
result += mat4(0.019259382, 0.02494012, 0.029301709, 0.028329274, 0.09122267, 0.06900443, 0.1412115, -0.043169618, -0.01627418, -0.004989528, -0.0042651827, -0.04556752, -0.023623291, 0.013007996, -0.04483056, -0.015727345) * g_20;
result += mat4(0.016332543, 0.016384754, -0.030676385, 0.045312885, -0.0100853555, -0.032632045, 0.031514473, -0.0070776115, 0.13642761, 0.0023589598, 0.12214136, -0.062155515, 0.08240989, 0.08894205, 0.03325406, -0.016589595) * g_21;
result += mat4(-0.06494277, -0.08158925, 0.030425413, 0.019835634, -0.012624623, 0.013942616, -0.030527417, -0.021668324, -0.09444672, -0.033064254, -0.044167448, 0.0011024752, 0.03210801, 0.12662941, -0.03912534, 0.1112649) * g_22;
result += mat4(-0.04716062, -0.03751481, -0.031030515, -0.09067383, 0.0077815712, 0.02169541, -0.035285182, 0.02290573, -0.0704085, -0.03916127, -0.058103334, 0.004915147, -0.0333844, -0.011548617, -0.031151932, -0.00043817286) * g_23;
result += mat4(0.05976319, -0.107285, -0.097245865, 0.17706421, -0.021453341, -0.0047738464, -0.017621001, 0.033400454, -0.07225561, -0.05599672, -0.027600193, 0.038664024, -0.03762786, -0.052429967, 0.0104017975, 0.007116869) * g_24;
result += mat4(0.06014114, -0.029824806, 0.03209269, 0.04392036, 0.031300627, -0.16249833, 0.06878509, -0.12658615, -0.012383169, -0.025043553, -0.06527381, -0.08149099, -0.014006842, -0.018669648, 0.014510818, 0.042045828) * g_25;
result += mat4(-0.023342922, 0.047104675, 0.029629575, -0.082307704, 0.04035797, -0.0013049254, 0.11085582, -0.11031226, 0.14778149, -0.016699014, -0.00634342, -0.055320874, 0.14306462, 0.15896587, -0.110229075, -0.1069649) * g_26;
result += mat4(-0.17449625, 0.15787153, -0.06711028, -0.023110518, 0.06862914, 0.074063435, 0.042682912, 0.029800726, -0.08768606, -0.009814701, 0.14180017, 0.14780663, -0.05672417, -0.074305914, 0.07873489, 0.028458012) * g_27;
result += vec4(0.06026231, 0.040204916, 0.037672628, 0.023496555);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112
//!HOOK MAIN
//!BIND conv2d_tf
//!BIND conv2d_tf1
//!BIND conv2d_1_tf
//!BIND conv2d_1_tf1
//!BIND conv2d_2_tf
//!BIND conv2d_2_tf1
//!BIND conv2d_3_tf
//!BIND conv2d_3_tf1
//!BIND conv2d_4_tf
//!BIND conv2d_4_tf1
//!BIND conv2d_5_tf
//!BIND conv2d_5_tf1
//!BIND conv2d_6_tf
//!BIND conv2d_6_tf1
//!SAVE conv2d_last_tf2
//!WIDTH conv2d_tf.w
//!HEIGHT conv2d_tf.h
//!COMPONENTS 4
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0))
#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0))
#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0))
#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0))
#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0))
#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0))
#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0))
#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0))
#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0))
#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0))
#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0))
#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0))
#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0))
#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0))
#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0))
#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0))
#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0))
#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0))
#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0))
#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0))
#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0))
#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0))
#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0))
#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0))
#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0))
#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0))
#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0))
#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0))
vec4 hook() {
vec4 result = mat4(0.1765669, 0.14268716, 0.19186598, 0.15799578, 0.016374417, 0.018578433, 0.0039475, 0.0046772263, 0.39840183, 0.36909792, 0.35409746, 0.37422222, -0.108508386, -0.1331279, -0.10336035, -0.14776541) * g_0;
result += mat4(-0.057757027, -0.14071062, -0.025283009, -0.09397916, -0.09031894, -0.14219165, -0.08299535, -0.13970287, -0.12259208, -0.14382727, -0.22002274, -0.25016093, -0.048906635, 0.06620249, 0.016965045, 0.1295978) * g_1;
result += mat4(-0.16748372, -0.13718611, -0.18565705, -0.15029612, -0.080749065, -0.09955825, 0.032431383, 0.023855643, -0.2748885, -0.23232168, -0.29121292, -0.26405892, 0.16556135, 0.18657646, 0.1424068, 0.18855052) * g_2;
result += mat4(0.10960496, 0.10851629, 0.095003806, 0.11053746, 0.09885307, 0.14437789, 0.13191165, 0.17365928, 0.16558935, 0.15473324, 0.21136154, 0.19976667, -0.07267957, -0.11469687, -0.029134216, -0.06817615) * g_3;
result += mat4(0.10202856, 0.04216857, -0.03959349, -0.09849683, -0.1576996, -0.049997438, -0.1579918, -0.058789205, 0.029792828, -0.07311781, -0.045432188, -0.11312683, 0.24257647, 0.16204113, 0.17869382, 0.16024388) * g_4;
result += mat4(0.17193612, 0.12692013, 0.13177487, 0.0796725, 0.0797928, 0.08952722, -0.012468046, 0.011071511, -0.068559825, -0.024852324, 0.0526428, 0.07917346, -0.085534215, -0.09591339, 0.04615827, 0.024577664) * g_5;
result += mat4(-0.14653449, -0.067267366, -0.002524394, 0.086243175, 0.13660401, 0.08039592, 0.09179008, 0.022573143, -0.024744196, 0.09120211, 0.017654825, 0.14114714, -0.16093308, -0.14538004, -0.09950235, -0.111152865) * g_6;
result += mat4(-0.188637, -0.12968326, -0.1200479, -0.06537649, -0.12589337, -0.106242515, -0.02788782, -0.025949068, 0.04948153, 0.02222735, -0.025291357, -0.12379292, 0.11074645, 0.11902375, -0.00056989543, -0.0024386419) * g_7;
result += mat4(0.018286629, 0.0072215167, 0.00037828335, 0.0047001047, 0.011478272, 0.041745186, -0.015742473, -0.002282524, -0.03440817, -0.02196847, -0.07838253, -0.07993771, -0.010155526, -0.017590692, 0.027141469, 0.029741213) * g_8;
result += mat4(0.016512005, 0.004950637, -0.0238836, -0.05587327, -0.03164328, -0.009499985, -0.059880238, -0.061794154, 0.023154303, -0.013266373, 0.04701534, 0.0415862, 0.06357814, 0.033057794, 0.08389772, 0.00035060212) * g_9;
result += mat4(-0.016403968, -0.012538788, -0.0015746636, -0.004771009, -0.021361275, -0.009695242, 0.020548422, -0.0024130535, 0.07796766, -0.01516671, 0.09961382, 0.042754963, 0.017363647, 0.03729065, -0.004795824, 0.01550197) * g_10;
result += mat4(-0.0028093113, 0.011869523, -0.02216933, 0.011177349, 0.033342455, -0.021146454, 0.07830085, 0.032490104, -0.03281833, 0.0060484232, -0.04081057, -0.04945058, -0.0056189033, -0.010636801, -0.041949317, -0.025739705) * g_11;
result += mat4(0.012979897, 0.016758928, -0.049062215, -0.0035748442, 0.0085972, 0.0036381132, -0.0055621094, 0.0041307937, -0.0008907763, -0.0034079372, -0.025680453, -0.015531803, 0.012816766, 0.009977763, -0.016416566, 0.0034859509) * g_12;
result += mat4(0.021753248, 0.016452711, 0.009833835, 0.0065052663, 0.0014061348, -0.046160888, -0.0132271005, -0.05051269, -0.05746351, -0.0012690664, 0.017191738, 0.018192926, -0.008879476, 0.026354216, -0.012801991, -0.029587373) * g_13;
result += mat4(-0.04220692, -0.0015560482, -0.0019648245, 0.013402305, -0.018259782, -0.0036008905, 0.0035650074, -0.0019178417, 0.00051580026, 0.027355857, -0.017914988, 0.004937948, -0.046335887, 0.00013612259, 0.030293299, 0.030688645) * g_14;
result += mat4(-0.036683388, -0.0031274238, -0.026074665, 0.021684237, 0.022639066, 0.0022493738, 0.011508554, -0.0006385944, 0.04890418, 0.020119468, 0.004167364, -0.008356099, -0.008598796, 0.0089028, -0.0029575853, 0.016687104) * g_15;
result += mat4(0.027207986, 0.0011099194, 0.042383645, -0.015179333, 0.014744431, 0.006148344, 0.005165422, 0.0070196544, 0.030286826, 0.016620956, -0.01611366, -0.00667594, -0.029524863, -0.024751091, -0.013321004, -0.025199674) * g_16;
result += mat4(0.0027477827, 0.054622147, 0.010154094, 0.025437292, 0.031773083, -0.01055473, 0.022864206, -0.029010754, -0.0029999653, 0.025018329, 0.015316208, 0.027188798, -0.10096525, -0.017268656, 0.0012529213, -0.062078856) * g_17;
result += mat4(-0.053670805, 0.057336535, -0.037418038, 0.06443577, -0.016027879, -0.058168363, 0.007034215, -0.03390141, -0.0019346164, -0.027947908, 0.021723913, -0.0018286633, 0.030507812, 0.018293543, 0.042917266, 0.033528328) * g_18;
result += mat4(-0.004559579, 0.029667616, -0.001870353, 0.0378995, -0.017147437, 0.020192018, -0.021574946, 0.031568103, 0.07487145, 0.0032376775, -0.018893708, -0.041981626, 0.054478757, 0.0061423797, 0.041280247, 0.000878061) * g_19;
result += mat4(0.017076394, 0.023647636, 0.029403262, 0.029923365, 0.08866472, 0.060613394, 0.1314274, -0.04490231, -0.016304834, -0.0062647443, -0.0031828512, -0.03989252, -0.024330825, 0.00741213, -0.04075287, -0.01615817) * g_20;
result += mat4(0.017866978, 0.017720113, -0.02846163, 0.040761847, -0.0063438355, -0.02347501, 0.029564403, -0.0029562064, 0.12505588, -0.0073986333, 0.11250363, -0.06179967, 0.07854423, 0.08546533, 0.034743227, -0.010757377) * g_21;
result += mat4(-0.06416677, -0.08344284, 0.030138884, 0.017635904, -0.012087523, 0.014205202, -0.03221233, -0.023834767, -0.091186255, -0.028958676, -0.04724334, 0.00013161585, 0.027391518, 0.1249978, -0.045047652, 0.10737729) * g_22;
result += mat4(-0.04326348, -0.03543181, -0.029558217, -0.08582413, 0.007812453, 0.014296562, -0.028779754, 0.018517692, -0.063755795, -0.036619596, -0.050809663, 0.005431336, -0.029205568, -0.011827915, -0.031110523, -0.005648626) * g_23;
result += mat4(0.05499293, -0.10000709, -0.0943537, 0.16143042, -0.019952895, -0.0039807972, -0.014841254, 0.0320363, -0.065173544, -0.049425576, -0.023904482, 0.03759679, -0.03207411, -0.047782745, 0.01352581, 0.008140566) * g_24;
result += mat4(0.055923894, -0.025134467, 0.029583648, 0.04096879, 0.027551858, -0.14995384, 0.06467113, -0.11633077, -0.01563784, -0.026909819, -0.06292879, -0.078409635, -0.009081105, -0.015533088, 0.019585673, 0.04334208) * g_25;
result += mat4(-0.021717606, 0.042464726, 0.02743202, -0.07388838, 0.03460472, 0.0038285658, 0.099842004, -0.098247, 0.13276267, -0.020793032, -0.008603039, -0.051913783, 0.12959045, 0.14735717, -0.10888226, -0.10263746) * g_26;
result += mat4(-0.16819532, 0.141579, -0.062480718, -0.021918943, 0.06348125, 0.06849444, 0.03888676, 0.027375204, -0.08194279, -0.012574497, 0.13523251, 0.13739482, -0.047547445, -0.058767617, 0.07009549, 0.028136581) * g_27;
result += vec4(0.069033325, 0.040207114, 0.027286075, 0.0065334598);
return result;
}
//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Depth-to-Space
//!HOOK MAIN
//!BIND MAIN
//!BIND conv2d_last_tf
//!BIND conv2d_last_tf1
//!BIND conv2d_last_tf2
//!SAVE MAIN
//!WIDTH conv2d_last_tf.w 2 *
//!HEIGHT conv2d_last_tf.h 2 *
//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > *
vec4 hook() {
vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size);
ivec2 i0 = ivec2(f0 * vec2(2.0));
float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x];
vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size);
ivec2 i1 = ivec2(f1 * vec2(2.0));
float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x];
vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size);
ivec2 i2 = ivec2(f2 * vec2(2.0));
float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x];
float c3 = c2;
return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos);
}

View File

@ -0,0 +1,453 @@
// Copyright (c) 2021 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
// FidelityFX FSR v1.0.2 by AMD
// ported to mpv by agyild
// Changelog
// Made it compatible with pre-OpenGL 4.0 renderers
// Made it directly operate on LUMA plane, since the original shader was operating on LUMA by deriving it from RGB. This should cause a major increase in performance, especially on OpenGL 4.0+ renderers (4+2 texture lookups vs. 12+5)
// Removed transparency preservation mechanism since the alpha channel is a separate source plane than LUMA
// Added optional performance-saving lossy optimizations to EASU (Credit: atyuwen, https://atyuwen.github.io/posts/optimizing-fsr/)
//
// Notes
// Per AMD's guidelines only upscales content up to 4x (e.g., 1080p -> 2160p, 720p -> 1440p etc.) and everything else in between,
// that means FSR will scale up to 4x at maximum, and any further scaling will be processed by mpv's scalers
//!HOOK LUMA
//!BIND HOOKED
//!SAVE EASUTEX
//!DESC FidelityFX Super Resolution v1.0.2 (EASU)
//!WHEN OUTPUT.w OUTPUT.h * LUMA.w LUMA.h * / 1.0 >
//!WIDTH OUTPUT.w OUTPUT.w LUMA.w 2 * < * LUMA.w 2 * OUTPUT.w LUMA.w 2 * > * + OUTPUT.w OUTPUT.w LUMA.w 2 * = * +
//!HEIGHT OUTPUT.h OUTPUT.h LUMA.h 2 * < * LUMA.h 2 * OUTPUT.h LUMA.h 2 * > * + OUTPUT.h OUTPUT.h LUMA.h 2 * = * +
//!COMPONENTS 1
// User variables - EASU
#define FSR_PQ 0 // Whether the source content has PQ gamma or not. Needs to be set to the same value for both passes. 0 or 1.
#define FSR_EASU_DERING 1 // If set to 0, disables deringing for a small increase in performance. 0 or 1.
#define FSR_EASU_SIMPLE_ANALYSIS 0 // If set to 1, uses a simpler single-pass direction and length analysis for an increase in performance. 0 or 1.
#define FSR_EASU_QUIT_EARLY 0 // If set to 1, uses bilinear filtering for non-edge pixels and skips EASU on those regions for an increase in performance. 0 or 1.
// Shader code
#ifndef FSR_EASU_DIR_THRESHOLD
#if (FSR_EASU_QUIT_EARLY == 1)
#define FSR_EASU_DIR_THRESHOLD 64.0
#elif (FSR_EASU_QUIT_EARLY == 0)
#define FSR_EASU_DIR_THRESHOLD 32768.0
#endif
#endif
float APrxLoRcpF1(float a) {
return uintBitsToFloat(uint(0x7ef07ebb) - floatBitsToUint(a));
}
float APrxLoRsqF1(float a) {
return uintBitsToFloat(uint(0x5f347d74) - (floatBitsToUint(a) >> uint(1)));
}
float AMin3F1(float x, float y, float z) {
return min(x, min(y, z));
}
float AMax3F1(float x, float y, float z) {
return max(x, max(y, z));
}
#if (FSR_PQ == 1)
float ToGamma2(float a) {
return pow(a, 4.0);
}
#endif
// Filtering for a given tap for the scalar.
void FsrEasuTap(
inout float aC, // Accumulated color, with negative lobe.
inout float aW, // Accumulated weight.
vec2 off, // Pixel offset from resolve position to tap.
vec2 dir, // Gradient direction.
vec2 len, // Length.
float lob, // Negative lobe strength.
float clp, // Clipping point.
float c){ // Tap color.
// Rotate offset by direction.
vec2 v;
v.x = (off.x * ( dir.x)) + (off.y * dir.y);
v.y = (off.x * (-dir.y)) + (off.y * dir.x);
// Anisotropy.
v *= len;
// Compute distance^2.
float d2 = v.x * v.x + v.y * v.y;
// Limit to the window as at corner, 2 taps can easily be outside.
d2 = min(d2, clp);
// Approximation of lancos2 without sin() or rcp(), or sqrt() to get x.
// (25/16 * (2/5 * x^2 - 1)^2 - (25/16 - 1)) * (1/4 * x^2 - 1)^2
// |_______________________________________| |_______________|
// base window
// The general form of the 'base' is,
// (a*(b*x^2-1)^2-(a-1))
// Where 'a=1/(2*b-b^2)' and 'b' moves around the negative lobe.
float wB = float(2.0 / 5.0) * d2 + -1.0;
float wA = lob * d2 + -1.0;
wB *= wB;
wA *= wA;
wB = float(25.0 / 16.0) * wB + float(-(25.0 / 16.0 - 1.0));
float w = wB * wA;
// Do weighted average.
aC += c * w;
aW += w;
}
// Accumulate direction and length.
void FsrEasuSet(
inout vec2 dir,
inout float len,
vec2 pp,
#if (FSR_EASU_SIMPLE_ANALYSIS == 1)
float b, float c,
float i, float j, float f, float e,
float k, float l, float h, float g,
float o, float n
#elif (FSR_EASU_SIMPLE_ANALYSIS == 0)
bool biS, bool biT, bool biU, bool biV,
float lA, float lB, float lC, float lD, float lE
#endif
){
// Compute bilinear weight, branches factor out as predicates are compiler time immediates.
// s t
// u v
#if (FSR_EASU_SIMPLE_ANALYSIS == 1)
vec4 w = vec4(0.0);
w.x = (1.0 - pp.x) * (1.0 - pp.y);
w.y = pp.x * (1.0 - pp.y);
w.z = (1.0 - pp.x) * pp.y;
w.w = pp.x * pp.y;
float lA = dot(w, vec4(b, c, f, g));
float lB = dot(w, vec4(e, f, i, j));
float lC = dot(w, vec4(f, g, j, k));
float lD = dot(w, vec4(g, h, k, l));
float lE = dot(w, vec4(j, k, n, o));
#elif (FSR_EASU_SIMPLE_ANALYSIS == 0)
float w = 0.0;
if (biS)
w = (1.0 - pp.x) * (1.0 - pp.y);
if (biT)
w = pp.x * (1.0 - pp.y);
if (biU)
w = (1.0 - pp.x) * pp.y;
if (biV)
w = pp.x * pp.y;
#endif
// Direction is the '+' diff.
// a
// b c d
// e
// Then takes magnitude from abs average of both sides of 'c'.
// Length converts gradient reversal to 0, smoothly to non-reversal at 1, shaped, then adding horz and vert terms.
float dc = lD - lC;
float cb = lC - lB;
float lenX = max(abs(dc), abs(cb));
lenX = APrxLoRcpF1(lenX);
float dirX = lD - lB;
lenX = clamp(abs(dirX) * lenX, 0.0, 1.0);
lenX *= lenX;
// Repeat for the y axis.
float ec = lE - lC;
float ca = lC - lA;
float lenY = max(abs(ec), abs(ca));
lenY = APrxLoRcpF1(lenY);
float dirY = lE - lA;
lenY = clamp(abs(dirY) * lenY, 0.0, 1.0);
lenY *= lenY;
#if (FSR_EASU_SIMPLE_ANALYSIS == 1)
len = lenX + lenY;
dir = vec2(dirX, dirY);
#elif (FSR_EASU_SIMPLE_ANALYSIS == 0)
dir += vec2(dirX, dirY) * w;
len += dot(vec2(w), vec2(lenX, lenY));
#endif
}
vec4 hook() {
// Result
vec4 pix = vec4(0.0, 0.0, 0.0, 1.0);
//------------------------------------------------------------------------------------------------------------------------------
// +---+---+
// | | |
// +--(0)--+
// | b | c |
// +---F---+---+---+
// | e | f | g | h |
// +--(1)--+--(2)--+
// | i | j | k | l |
// +---+---+---+---+
// | n | o |
// +--(3)--+
// | | |
// +---+---+
// Get position of 'F'.
vec2 pp = HOOKED_pos * HOOKED_size - vec2(0.5);
vec2 fp = floor(pp);
pp -= fp;
//------------------------------------------------------------------------------------------------------------------------------
// 12-tap kernel.
// b c
// e f g h
// i j k l
// n o
// Gather 4 ordering.
// a b
// r g
// Allowing dead-code removal to remove the 'z's.
#if (defined(HOOKED_gather) && (__VERSION__ >= 400 || (GL_ES && __VERSION__ >= 310)))
vec4 bczzL = HOOKED_gather(vec2((fp + vec2(1.0, -1.0)) * HOOKED_pt), 0);
vec4 ijfeL = HOOKED_gather(vec2((fp + vec2(0.0, 1.0)) * HOOKED_pt), 0);
vec4 klhgL = HOOKED_gather(vec2((fp + vec2(2.0, 1.0)) * HOOKED_pt), 0);
vec4 zzonL = HOOKED_gather(vec2((fp + vec2(1.0, 3.0)) * HOOKED_pt), 0);
#else
// pre-OpenGL 4.0 compatibility
float b = HOOKED_tex(vec2((fp + vec2(0.5, -0.5)) * HOOKED_pt)).r;
float c = HOOKED_tex(vec2((fp + vec2(1.5, -0.5)) * HOOKED_pt)).r;
float e = HOOKED_tex(vec2((fp + vec2(-0.5, 0.5)) * HOOKED_pt)).r;
float f = HOOKED_tex(vec2((fp + vec2( 0.5, 0.5)) * HOOKED_pt)).r;
float g = HOOKED_tex(vec2((fp + vec2( 1.5, 0.5)) * HOOKED_pt)).r;
float h = HOOKED_tex(vec2((fp + vec2( 2.5, 0.5)) * HOOKED_pt)).r;
float i = HOOKED_tex(vec2((fp + vec2(-0.5, 1.5)) * HOOKED_pt)).r;
float j = HOOKED_tex(vec2((fp + vec2( 0.5, 1.5)) * HOOKED_pt)).r;
float k = HOOKED_tex(vec2((fp + vec2( 1.5, 1.5)) * HOOKED_pt)).r;
float l = HOOKED_tex(vec2((fp + vec2( 2.5, 1.5)) * HOOKED_pt)).r;
float n = HOOKED_tex(vec2((fp + vec2(0.5, 2.5) ) * HOOKED_pt)).r;
float o = HOOKED_tex(vec2((fp + vec2(1.5, 2.5) ) * HOOKED_pt)).r;
vec4 bczzL = vec4(b, c, 0.0, 0.0);
vec4 ijfeL = vec4(i, j, f, e);
vec4 klhgL = vec4(k, l, h, g);
vec4 zzonL = vec4(0.0, 0.0, o, n);
#endif
//------------------------------------------------------------------------------------------------------------------------------
// Rename.
float bL = bczzL.x;
float cL = bczzL.y;
float iL = ijfeL.x;
float jL = ijfeL.y;
float fL = ijfeL.z;
float eL = ijfeL.w;
float kL = klhgL.x;
float lL = klhgL.y;
float hL = klhgL.z;
float gL = klhgL.w;
float oL = zzonL.z;
float nL = zzonL.w;
#if (FSR_PQ == 1)
// Not the most performance-friendly solution, but should work until mpv adds proper gamma transformation functions for shaders
bL = ToGamma2(bL);
cL = ToGamma2(cL);
iL = ToGamma2(iL);
jL = ToGamma2(jL);
fL = ToGamma2(fL);
eL = ToGamma2(eL);
kL = ToGamma2(kL);
lL = ToGamma2(lL);
hL = ToGamma2(hL);
gL = ToGamma2(gL);
oL = ToGamma2(oL);
nL = ToGamma2(nL);
#endif
// Accumulate for bilinear interpolation.
vec2 dir = vec2(0.0);
float len = 0.0;
#if (FSR_EASU_SIMPLE_ANALYSIS == 1)
FsrEasuSet(dir, len, pp, bL, cL, iL, jL, fL, eL, kL, lL, hL, gL, oL, nL);
#elif (FSR_EASU_SIMPLE_ANALYSIS == 0)
FsrEasuSet(dir, len, pp, true, false, false, false, bL, eL, fL, gL, jL);
FsrEasuSet(dir, len, pp, false, true, false, false, cL, fL, gL, hL, kL);
FsrEasuSet(dir, len, pp, false, false, true, false, fL, iL, jL, kL, nL);
FsrEasuSet(dir, len, pp, false, false, false, true, gL, jL, kL, lL, oL);
#endif
//------------------------------------------------------------------------------------------------------------------------------
// Normalize with approximation, and cleanup close to zero.
vec2 dir2 = dir * dir;
float dirR = dir2.x + dir2.y;
bool zro = dirR < float(1.0 / FSR_EASU_DIR_THRESHOLD);
dirR = APrxLoRsqF1(dirR);
#if (FSR_EASU_QUIT_EARLY == 1)
if (zro) {
vec4 w = vec4(0.0);
w.x = (1.0 - pp.x) * (1.0 - pp.y);
w.y = pp.x * (1.0 - pp.y);
w.z = (1.0 - pp.x) * pp.y;
w.w = pp.x * pp.y;
pix.r = clamp(dot(w, vec4(fL, gL, jL, kL)), 0.0, 1.0);
return pix;
}
#elif (FSR_EASU_QUIT_EARLY == 0)
dirR = zro ? 1.0 : dirR;
dir.x = zro ? 1.0 : dir.x;
#endif
dir *= vec2(dirR);
// Transform from {0 to 2} to {0 to 1} range, and shape with square.
len = len * 0.5;
len *= len;
// Stretch kernel {1.0 vert|horz, to sqrt(2.0) on diagonal}.
float stretch = (dir.x * dir.x + dir.y * dir.y) * APrxLoRcpF1(max(abs(dir.x), abs(dir.y)));
// Anisotropic length after rotation,
// x := 1.0 lerp to 'stretch' on edges
// y := 1.0 lerp to 2x on edges
vec2 len2 = vec2(1.0 + (stretch - 1.0) * len, 1.0 + -0.5 * len);
// Based on the amount of 'edge',
// the window shifts from +/-{sqrt(2.0) to slightly beyond 2.0}.
float lob = 0.5 + float((1.0 / 4.0 - 0.04) - 0.5) * len;
// Set distance^2 clipping point to the end of the adjustable window.
float clp = APrxLoRcpF1(lob);
//------------------------------------------------------------------------------------------------------------------------------
// Accumulation
// b c
// e f g h
// i j k l
// n o
float aC = 0.0;
float aW = 0.0;
FsrEasuTap(aC, aW, vec2( 0.0,-1.0) - pp, dir, len2, lob, clp, bL); // b
FsrEasuTap(aC, aW, vec2( 1.0,-1.0) - pp, dir, len2, lob, clp, cL); // c
FsrEasuTap(aC, aW, vec2(-1.0, 1.0) - pp, dir, len2, lob, clp, iL); // i
FsrEasuTap(aC, aW, vec2( 0.0, 1.0) - pp, dir, len2, lob, clp, jL); // j
FsrEasuTap(aC, aW, vec2( 0.0, 0.0) - pp, dir, len2, lob, clp, fL); // f
FsrEasuTap(aC, aW, vec2(-1.0, 0.0) - pp, dir, len2, lob, clp, eL); // e
FsrEasuTap(aC, aW, vec2( 1.0, 1.0) - pp, dir, len2, lob, clp, kL); // k
FsrEasuTap(aC, aW, vec2( 2.0, 1.0) - pp, dir, len2, lob, clp, lL); // l
FsrEasuTap(aC, aW, vec2( 2.0, 0.0) - pp, dir, len2, lob, clp, hL); // h
FsrEasuTap(aC, aW, vec2( 1.0, 0.0) - pp, dir, len2, lob, clp, gL); // g
FsrEasuTap(aC, aW, vec2( 1.0, 2.0) - pp, dir, len2, lob, clp, oL); // o
FsrEasuTap(aC, aW, vec2( 0.0, 2.0) - pp, dir, len2, lob, clp, nL); // n
//------------------------------------------------------------------------------------------------------------------------------
// Normalize and dering.
pix.r = aC / aW;
#if (FSR_EASU_DERING == 1)
float min1 = min(AMin3F1(fL, gL, jL), kL);
float max1 = max(AMax3F1(fL, gL, jL), kL);
pix.r = clamp(pix.r, min1, max1);
#endif
pix.r = clamp(pix.r, 0.0, 1.0);
return pix;
}
//!HOOK LUMA
//!BIND EASUTEX
//!DESC FidelityFX Super Resolution v1.0.2 (RCAS)
//!WIDTH EASUTEX.w
//!HEIGHT EASUTEX.h
//!COMPONENTS 1
// User variables - RCAS
#define SHARPNESS 0.2 // Controls the amount of sharpening. The scale is {0.0 := maximum, to N>0, where N is the number of stops (halving) of the reduction of sharpness}. 0.0 to 2.0.
#define FSR_RCAS_DENOISE 1 // If set to 1, lessens the sharpening on noisy areas. Can be disabled for better performance. 0 or 1.
#define FSR_PQ 0 // Whether the source content has PQ gamma or not. Needs to be set to the same value for both passes. 0 or 1.
// Shader code
#define FSR_RCAS_LIMIT (0.25 - (1.0 / 16.0)) // This is set at the limit of providing unnatural results for sharpening.
float APrxMedRcpF1(float a) {
float b = uintBitsToFloat(uint(0x7ef19fff) - floatBitsToUint(a));
return b * (-b * a + 2.0);
}
float AMax3F1(float x, float y, float z) {
return max(x, max(y, z));
}
float AMin3F1(float x, float y, float z) {
return min(x, min(y, z));
}
#if (FSR_PQ == 1)
float FromGamma2(float a) {
return sqrt(sqrt(a));
}
#endif
vec4 hook() {
// Algorithm uses minimal 3x3 pixel neighborhood.
// b
// d e f
// h
#if (defined(EASUTEX_gather) && (__VERSION__ >= 400 || (GL_ES && __VERSION__ >= 310)))
vec3 bde = EASUTEX_gather(EASUTEX_pos + EASUTEX_pt * vec2(-0.5), 0).xyz;
float b = bde.z;
float d = bde.x;
float e = bde.y;
vec2 fh = EASUTEX_gather(EASUTEX_pos + EASUTEX_pt * vec2(0.5), 0).zx;
float f = fh.x;
float h = fh.y;
#else
float b = EASUTEX_texOff(vec2( 0.0, -1.0)).r;
float d = EASUTEX_texOff(vec2(-1.0, 0.0)).r;
float e = EASUTEX_tex(EASUTEX_pos).r;
float f = EASUTEX_texOff(vec2(1.0, 0.0)).r;
float h = EASUTEX_texOff(vec2(0.0, 1.0)).r;
#endif
// Min and max of ring.
float mn1L = min(AMin3F1(b, d, f), h);
float mx1L = max(AMax3F1(b, d, f), h);
// Immediate constants for peak range.
vec2 peakC = vec2(1.0, -1.0 * 4.0);
// Limiters, these need to be high precision RCPs.
float hitMinL = min(mn1L, e) / (4.0 * mx1L);
float hitMaxL = (peakC.x - max(mx1L, e)) / (4.0 * mn1L + peakC.y);
float lobeL = max(-hitMinL, hitMaxL);
float lobe = max(float(-FSR_RCAS_LIMIT), min(lobeL, 0.0)) * exp2(-clamp(float(SHARPNESS), 0.0, 2.0));
// Apply noise removal.
#if (FSR_RCAS_DENOISE == 1)
// Noise detection.
float nz = 0.25 * b + 0.25 * d + 0.25 * f + 0.25 * h - e;
nz = clamp(abs(nz) * APrxMedRcpF1(AMax3F1(AMax3F1(b, d, e), f, h) - AMin3F1(AMin3F1(b, d, e), f, h)), 0.0, 1.0);
nz = -0.5 * nz + 1.0;
lobe *= nz;
#endif
// Resolve, which needs the medium precision rcp approximation to avoid visible tonality changes.
float rcpL = APrxMedRcpF1(4.0 * lobe + 1.0);
vec4 pix = vec4(0.0, 0.0, 0.0, 1.0);
pix.r = float((lobe * b + lobe * d + lobe * h + lobe * f + e) * rcpL);
#if (FSR_PQ == 1)
pix.r = FromGamma2(pix.r);
#endif
return pix;
}

File diff suppressed because one or more lines are too long

View File

@ -141,9 +141,7 @@ opacity-rule = [
"100:class_g = 'Alacritty' && focused", "100:class_g = 'Alacritty' && focused",
"20:class_g = 'Alacritty' && !focused", "20:class_g = 'Alacritty' && !focused",
"85:class_g = 'Element' && focused", "85:class_g = 'Element' && focused",
"20:class_g = 'Element' && !focused", "20:class_g = 'Element' && !focused"
"60:class_g = 'Popup' && focused",
"60:class_g = 'Popup' && !focused"
]; ];

View File

@ -4,25 +4,29 @@ monitor-allow-redirect = true
[bar/top-monitor-1] [bar/top-monitor-1]
monitor = HDMI-A-0 monitor = HDMI-A-0
font-0 = HanaMinA Regular:size=11;1 font-0 = HanaMinA Regular:size=11;1
pseudo-transparency = true pseudo-transparency = true
background = #2e3440 background = #2e3440
foreground = #eceff4 foreground = #eceff4
modules-left = gpu_temp
modules-left = temperature
modules-center = title modules-center = title
modules-right = date modules-right = date
[module/date] [module/date]
type = custom/script type = custom/script
exec = ~/.local/bin/date.sh exec = ~/.local/bin/date.sh
interval = 1 interval = 10
label = %output% label-date = %output%
[module/gpu_temp]
type = custom/script
exec = ~/.local/bin/temperature-gpu.sh
label-gpu = GPU Temp: %output%
[module/memory]
type = internal/memory
; Seconds to sleep between updates ; Seconds to sleep between updates
; Default: 1 ; Default: 1
@ -82,7 +86,7 @@ format = <label>
; %mb_swap_total% ; %mb_swap_total%
; %mb_swap_free% ; %mb_swap_free%
; %mb_swap_used% ; %mb_swap_used%
label = RAM %gb_used%
; Available tokens: ; Available tokens:
; %percentage_used% (default) ; %percentage_used% (default)
@ -108,7 +112,7 @@ label = RAM %gb_used%
; %mb_swap_free% ; %mb_swap_free%
; %mb_swap_used% ; %mb_swap_used%
; New in version 3.6.0 ; New in version 3.6.0
label-warn = RAM %gb_used%/%gb_free%
; Only applies if <bar-used> is used ; Only applies if <bar-used> is used
bar-used-indicator = bar-used-indicator =

View File

@ -3,26 +3,30 @@ monitor-allow-redirect = true
[bar/top-monitor-1] [bar/top-monitor-1]
monitor = HDMI-A-0 monitor = HDMI-A-0
font-0 = HanaMinA Regular:size=10;1 font-0 = HanaMinA Regular:size=11;1
pseudo-transparency = true pseudo-transparency = true
background = #2e3440 background = #2e3440
foreground = #eceff4 foreground = #eceff4
modules-left = gpu_temp
modules-left = temperature
modules-center = title modules-center = title
modules-right = date modules-right = date
[module/date] [module/date]
type = custom/script type = custom/script
exec = ~/.local/bin/date.sh exec = ~/.local/bin/date.sh
interval = 600 interval = 10
label = %output% label-date = %output%
[module/gpu_temp]
type = custom/script
exec = ~/.local/bin/temperature-gpu.sh
label-gpu = GPU Temp: %output%
[module/memory]
type = internal/memory
; Seconds to sleep between updates ; Seconds to sleep between updates
; Default: 1 ; Default: 1
@ -240,8 +244,8 @@ type = internal/xwindow
; Available tags: ; Available tags:
; <label> (default) ; <label> (default)
format = <label> format = <label>
format-background = #f00 format-background = #add8e6 ; Pale Cyan color
format-foreground = #000 format-foreground = #000 ; Black text
format-padding = 4 format-padding = 4
; Available tokens: ; Available tokens:

View File

@ -2,10 +2,10 @@
(guix ci)) (guix ci))
( (
list list
(channel-with-substitutes-available (channel-with-substitutes-available
%default-guix-channel "https://ci.guix.gnu.org") %default-guix-channel "https://ci.guix.gnu.org")
(channel (channel
(name 'guix) (name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git") (url "https://git.savannah.gnu.org/git/guix.git")
(introduction (introduction
@ -13,7 +13,7 @@ list
"9edb3f66fd807b096b48283debdcddccfea34bad" "9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint (openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
(channel (channel
(name 'nonguix) (name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix") (url "https://gitlab.com/nonguix/nonguix")
(introduction (introduction
@ -21,27 +21,30 @@ list
"897c1a470da759236cc11798f4e0a5f7d4d59fbc" "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint (openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(channel (channel
(name 'sklv) (name 'sklv)
(url "https://git.sr.ht/~sokolov/channel")) (url "https://git.sr.ht/~sokolov/channel"))
;; ~/.config/guix/channels.scm ;; ~/.config/guix/channels.scm
(channel
(name 'guixcn) ;;(channel
(url "https://github.com/guixcn/guix-channel.git") ;; (name 'rrr)
(introduction ;; (url "https://git.sr.ht/~akagi/rrr")
(make-channel-introduction ;; (introduction
"993d200265630e9c408028a022f32f34acacdf29" ;; (make-channel-introduction
(openpgp-fingerprint
"7EBE A494 60CE 5E2C 0875 7FDB 3B5A A993 E1A2 DFF0"))))
;;(channel
;; (name 'rrr)
;; (url "https://git.sr.ht/~akagi/rrr")
;; (introduction
;; (make-channel-introduction
;; "794d6e5eb362bfcf81ada12b6a49a0cd55c8e031" ;; "794d6e5eb362bfcf81ada12b6a49a0cd55c8e031"
;; (openpgp-fingerprint ;; (openpgp-fingerprint
;; "FF72 877C 4F21 FC4D 467D 20C4 DCCB 5255 2098 B6C1")))) ;; "FF72 877C 4F21 FC4D 467D 20C4 DCCB 5255 2098 B6C1"))))
(channel (channel
(name 'gocix)
(url "https://git.sr.ht/~fishinthecalculator/gocix")
(branch "main")
;; Enable signature verification:
(introduction
(make-channel-introduction
"cdb78996334c4f63304ecce224e95bb96bfd4c7d"
(openpgp-fingerprint
"8D10 60B9 6BB8 292E 829B 7249 AED4 1CC1 93B7 01E2"))))
(channel
(name 'rde) (name 'rde)
(url "https://git.sr.ht/~abcdw/rde") (url "https://git.sr.ht/~abcdw/rde")
(introduction (introduction
@ -59,16 +62,25 @@ list
(openpgp-fingerprint (openpgp-fingerprint
"F164 709E 5FC7 B32B AEC7 9F37 1F2E 76AC E3F5 31C8")))) "F164 709E 5FC7 B32B AEC7 9F37 1F2E 76AC E3F5 31C8"))))
(channel (channel
(name 'ajatt) (name 'ajattix)
(url "https://codeberg.org/hashirama/ajatt-tools-guix.git") (url "http://ajattix.loophole.site/hashirama/ajattix.git")
(branch "main") (branch "main")
(introduction (introduction
(make-channel-introduction (make-channel-introduction
"5f1904f1a514b89b2d614300d8048577aa717617" "5f1904f1a514b89b2d614300d8048577aa717617"
(openpgp-fingerprint (openpgp-fingerprint
"F164 709E 5FC7 B32B AEC7 9F37 1F2E 76AC E3F5 31C8")))) "F164 709E 5FC7 B32B AEC7 9F37 1F2E 76AC E3F5 31C8"))))
(channel
(name 'rosenthal)
(url "https://codeberg.org/hako/rosenthal.git")
(branch "trunk")
(introduction
(make-channel-introduction
"7677db76330121a901604dfbad19077893865f35"
(openpgp-fingerprint
"13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7"))))
;;(channel ;;(channel
;; (name 'guix-local) ;; (name 'guix-local)
;; (url "https://codeberg.org/florhizome/guix-local.git") ;; (url "https://codeberg.org/florhizome/guix-local.git")
;; (commit "6b6e50e3f4b7edc52d9116e4ff61ec57cd24a802")) ;; (commit "6b6e50e3f4b7edc52d9116e4ff61ec57cd24a802"))
) )

View File

@ -1,8 +1,23 @@
;; This is an operating system configuration generated
;; by the graphical installer.
;;
;; Once installation is complete, you can learn and modify
;; this file to tweak the system configuration, and pass it
;; to the 'guix system reconfigure' command to effect your
;; changes.
;; Indicate which modules to import to access the variables
;; used in this configuration.
(use-modules (use-modules
(gnu) (gnu)
(guix packages) (guix packages)
(rosenthal packages binaries)
(rosenthal packages emacs-xyz)
(guix transformations) (guix transformations)
(gnu packages audio) (gnu packages audio)
(gnu packages librewolf)
(gnu packages gdb)
(gnu packages java) (gnu packages java)
(gnu packages fcitx5) (gnu packages fcitx5)
(gnu packages ibus) (gnu packages ibus)
@ -27,6 +42,7 @@
(gnu packages web-browsers) (gnu packages web-browsers)
;;--------- ;;---------
(gnu services) (gnu services)
(gnu services base)
(gnu packages terminals) (gnu packages terminals)
(gnu packages music) (gnu packages music)
(gnu packages compton) (gnu packages compton)
@ -35,7 +51,6 @@
(gnu packages file-systems) (gnu packages file-systems)
(gnu packages admin) (gnu packages admin)
(gnu packages bittorrent) (gnu packages bittorrent)
(gnu packages chromium)
(gnu packages compression) (gnu packages compression)
(gnu packages curl) (gnu packages curl)
(gnu packages emacs) (gnu packages emacs)
@ -79,6 +94,18 @@
(use-package-modules version-control gcc bash certs admin linux ) (use-package-modules version-control gcc bash certs admin linux )
(define %8bitdo-udev-rules
(udev-rule
"99-8bitdo-controllers.rules"
"SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Wireless*Controller\", MODE=\"0664\", TAG+=\"uaccess\"
SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Bluetooth*Gamepad\", MODE=\"0664\", TAG+=\"uaccess\"
SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Ultimate*Wired*Controller\", MODE=\"0664\", TAG+=\"uaccess\"
SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Ultimate*Bluetooth*Controller\", MODE=\"0664\", TAG+=\"uaccess\"
SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Ultimate*Bluetooth*Controller*2.4G\", MODE=\"0664\", TAG+=\"uaccess\"
SUBSYSTEM==\"usb\", ATTR{idVendor}==\"2dc8\", ATTR{idProduct}==\"3106\", RUN+=\"/usr/bin/env modprobe xpad\"
KERNEL==\"xpad\", SUBSYSTEM==\"drivers\", ACTION==\"add\", ATTR{new_id}=\"2dc8 3106\""))
(define my-kernel linux-6.1) (define my-kernel linux-6.1)
@ -96,6 +123,7 @@
(firmware (list linux-firmware)) (firmware (list linux-firmware))
(locale "en_US.utf8") (locale "en_US.utf8")
(kernel-arguments (list "modprobe.blacklist=hid-nintendo"))
(timezone "America/Manaus") (timezone "America/Manaus")
(keyboard-layout (keyboard-layout "us")) (keyboard-layout (keyboard-layout "us"))
(host-name "lisp-machine") (host-name "lisp-machine")
@ -137,6 +165,7 @@
gimp-resynthesizer gimp-resynthesizer
wmctrl wmctrl
libreoffice libreoffice
librewolf
;; audio ;; audio
ardour ardour
noise-repellent noise-repellent
@ -145,9 +174,20 @@
fzf fzf
zstd zstd
aria2 aria2
;; wakatime
wakapi-bin
wakatime-cli-bin
emacs-wakatime-mode
;;
xrdb xrdb
noisetorch noisetorch
mpv mpv
;;emasc-everywhere
xdotool
xprop
xclip
xwininfo
;;
xdg-user-dirs xdg-user-dirs
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
xdg-desktop-portal xdg-desktop-portal
@ -188,19 +228,21 @@
emacs emacs
emacs-bluetooth emacs-bluetooth
xrandr xrandr
ungoogled-chromium
qbittorrent qbittorrent
emacs-rainbow-delimiters emacs-rainbow-delimiters
emacs-olivetti emacs-olivetti
emacs-telega emacs-telega
emacs-sly emacs-sly
emacs-ccls emacs-ccls
emacs-rmsbolt
sbcl sbcl
emacs-nerd-icons emacs-nerd-icons
emacs-esxml emacs-esxml
ripgrep ripgrep
gdb
emacs-olivetti emacs-olivetti
emacs-deadgrep emacs-deadgrep
emacs-realgud
emacs-rg emacs-rg
emacs-dumb-jump emacs-dumb-jump
emacs-circe emacs-circe
@ -239,6 +281,15 @@
(append (list (simple-service 'my-zfs-loader (append (list (simple-service 'my-zfs-loader
kernel-module-loader-service-type kernel-module-loader-service-type
'("zfs")) '("zfs"))
(simple-service 'my-jp-ime-env session-environment-service-type
'(("GTK_IM_MODULE" . "fcitx")
("QT_IM_MODULE" . "fcitx")
("GUIX_GTK2_IM_MODULE_FILE" . "/run/current-system/profile/lib/gtk-2.0/2.10.0/immodules-gtk2.cache")
("GUIX_GTK3_IM_MODULE_FILE" . "/run/current-system/profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache")
("XMODIFIERS=@im=" . "fcitx")
("INPUT_METHOD" . "fcitx")
("XIM_PROGRAM" . "fcitx")
("GLFW_IM_MODULE" . "ibus")))
(service zram-device-service-type (service zram-device-service-type
(zram-device-configuration (zram-device-configuration
(size "3G") (size "3G")
@ -246,7 +297,10 @@
(priority 100))) (priority 100)))
;; (service oci-forgejo-service-type) ;; (service oci-forgejo-service-type)
(set-xorg-configuration (set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout)))) (xorg-configuration (keyboard-layout keyboard-layout)))
(udev-rules-service '8bitdo %8bitdo-udev-rules)
)
%desktop-services) %desktop-services)
) )

View File

@ -0,0 +1,2 @@
/tmp/Hakurei/src/main.cc
/tmp/Hakurei/src/#main.cc#

View File

@ -0,0 +1,4 @@
/home/hashirama/Downloads/pamphlet.pdf
/home/hashirama/Downloads/#pamphlet.pdf#
/home/hashirama/Downloads/Telegram Desktop/gdct.scm
/home/hashirama/Downloads/Telegram Desktop/#gdct.scm#

View File

@ -0,0 +1,6 @@
/home/hashirama/src/guix-config/home-configuration.scm
/home/hashirama/src/guix-config/#home-configuration.scm#
/home/hashirama/.bashrc
/home/hashirama/#.bashrc#
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#

View File

@ -0,0 +1,8 @@
/mnt/Data/Documents/org-files/org-roam/guix/todo-my-guix-config.org
/mnt/Data/Documents/org-files/org-roam/guix/#todo-my-guix-config.org#
/home/hashirama/.config/git/config
/home/hashirama/.config/git/#config#
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/dictionaries.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#dictionaries.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/dev/guix_channel/xmake.scm
/home/hashirama/dev/guix_channel/#xmake.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/src/guix-config/home-configuration.scm
/home/hashirama/src/guix-config/#home-configuration.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#

View File

@ -0,0 +1,4 @@
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#
/home/hashirama/org/guix.org
/home/hashirama/org/#guix.org#

View File

@ -0,0 +1,2 @@
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#

View File

@ -0,0 +1,4 @@
/home/hashirama/src/guix-config/home-configuration.scm
/home/hashirama/src/guix-config/#home-configuration.scm#
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#

View File

@ -0,0 +1,2 @@
/home/hashirama/.xmonad/xmonad.hs
/home/hashirama/.xmonad/#xmonad.hs#

View File

@ -0,0 +1,2 @@
/mnt/Data/Documents/org-files/org-roam/work/lisp.org
/mnt/Data/Documents/org-files/org-roam/work/#lisp.org#

View File

@ -0,0 +1,4 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#
/mnt/Data/Documents/org-files/org-roam/personal/japanese/gd-tools-build-fix.org
/mnt/Data/Documents/org-files/org-roam/personal/japanese/#gd-tools-build-fix.org#

View File

@ -0,0 +1,6 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#
/mnt/Data/Documents/org-files/guix.org
/mnt/Data/Documents/org-files/#guix.org#
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/revisa-mecanica-aplicada.org
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/#revisa-mecanica-aplicada.org#

View File

@ -0,0 +1,4 @@
/mnt/Data/Documents/org-files/org/novels.org
/mnt/Data/Documents/org-files/org/#novels.org#
/mnt/Data/light_novels/可愛ければ変態でも好きになってくれますか?【電子特典付き】 (MF文庫J) -- 花間燈 -- 2017 -- KADOKAWA -- 4d963029852758da40a0607f2cc9b12d -- Annas Archive.epub
/mnt/Data/light_novels/#可愛ければ変態でも好きになってくれますか?【電子特典付き】 (MF文庫J) -- 花間燈 -- 2017 -- KADOKAWA -- 4d963029852758da40a0607f2cc9b12d -- Annas Archive.epub#

View File

@ -0,0 +1,10 @@
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/componente-forca.org
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/#componente-forca.org#
/mnt/Data/Documents/org-files/org-roam/guix/special-syntax.org
/mnt/Data/Documents/org-files/org-roam/guix/#special-syntax.org#
/mnt/Data/Documents/org-files/org-roam/guix/evaluating-literal-data.org
/mnt/Data/Documents/org-files/org-roam/guix/#evaluating-literal-data.org#
/mnt/Data/Documents/org-files/org-roam/guix/derivations.org
/mnt/Data/Documents/org-files/org-roam/guix/#derivations.org#
/mnt/Data/Documents/org-files/org-roam/guix/regarding-packages.org
/mnt/Data/Documents/org-files/org-roam/guix/#regarding-packages.org#

View File

@ -0,0 +1,14 @@
/home/hashirama/.config/guix/channels.scm
/home/hashirama/.config/guix/#channels.scm#
/home/hashirama/dev/guix_channel/guix-local/guix-local/packages/yuzu.scm
/home/hashirama/dev/guix_channel/guix-local/guix-local/packages/#yuzu.scm#
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#
/home/hashirama/dev/guix_channel/guix-local/guix-local/packages/emulators.scm
/home/hashirama/dev/guix_channel/guix-local/guix-local/packages/#emulators.scm#
/home/hashirama/dev/guix_channel/xpad.scm
/home/hashirama/dev/guix_channel/#xpad.scm#
/mnt/Data/Documents/org-files/org/novels.org
/mnt/Data/Documents/org-files/org/#novels.org#
/mnt/Data/light_novels/可愛ければ変態でも好きになってくれますか?【電子特典付き】 (MF文庫J) -- 花間燈 -- 2017 -- KADOKAWA -- 4d963029852758da40a0607f2cc9b12d -- Annas Archive.epub
/mnt/Data/light_novels/#可愛ければ変態でも好きになってくれますか?【電子特典付き】 (MF文庫J) -- 花間燈 -- 2017 -- KADOKAWA -- 4d963029852758da40a0607f2cc9b12d -- Annas Archive.epub#

View File

@ -0,0 +1,4 @@
/mnt/Data/Documents/org-files/org-roam/daily/2024-04-15.org
/mnt/Data/Documents/org-files/org-roam/daily/#2024-04-15.org#
/home/hashirama/.xmonad/xmonad.hs
/home/hashirama/.xmonad/#xmonad.hs#

View File

@ -0,0 +1,2 @@
/home/hashirama/.emacs.d/init.el
/home/hashirama/.emacs.d/#init.el#

View File

@ -0,0 +1,2 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#

View File

@ -0,0 +1,6 @@
/home/hashirama/org/faculdade/mecanica_aplicada.org
/home/hashirama/org/faculdade/#mecanica_aplicada.org#
/home/hashirama/org/ajatt.org
/home/hashirama/org/#ajatt.org#
/home/hashirama/.emacs.d/init.el
/home/hashirama/.emacs.d/#init.el#

View File

@ -0,0 +1,4 @@
/home/hashirama/src/guix-config/home-configuration.scm
/home/hashirama/src/guix-config/#home-configuration.scm#
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#

View File

@ -0,0 +1,8 @@
/mnt/Data/Documents/org-files/org-roam/personal/protection-glasses.org
/mnt/Data/Documents/org-files/org-roam/personal/#protection-glasses.org#
/home/hashirama/dev/guix_channel/fonts.scm
/home/hashirama/dev/guix_channel/#fonts.scm#
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/dictionaries.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#dictionaries.scm#
/home/hashirama/dev/guix_channel/font.scm
/home/hashirama/dev/guix_channel/#font.scm#

View File

@ -0,0 +1,6 @@
/home/hashirama/dev/guix_channel/gomicsv.scm
/home/hashirama/dev/guix_channel/#gomicsv.scm#
/home/hashirama/org/guix.org
/home/hashirama/org/#guix.org#
/home/hashirama/dev/guix_channel/goldendict.scm
/home/hashirama/dev/guix_channel/#goldendict.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/dev/guix_channel/guix-local/guix-local/packages/emulators.scm
/home/hashirama/dev/guix_channel/guix-local/guix-local/packages/#emulators.scm#

View File

@ -0,0 +1,14 @@
/home/hashirama/dev/gnu_make/Makefile
/home/hashirama/dev/gnu_make/#Makefile#
/home/hashirama/dev/guix_channel/goldendict-ng.scm
/home/hashirama/dev/guix_channel/#goldendict-ng.scm#
/home/hashirama/org/guix.org
/home/hashirama/org/#guix.org#
/home/hashirama/dev/guix_channel/goldendict.scm
/home/hashirama/dev/guix_channel/#goldendict.scm#
/home/hashirama/dev/guix_channel/manga-ocr.scm
/home/hashirama/dev/guix_channel/#manga-ocr.scm#
/home/hashirama/dev/guix_channel/sselp.scm
/home/hashirama/dev/guix_channel/#sselp.scm#
/home/hashirama/.emacs.d/init.el
/home/hashirama/.emacs.d/#init.el#

View File

@ -0,0 +1,4 @@
/gnu/store/kgvi1dv7kkr47yxn66jrpdsgzp807af5-emacs-org-9.6.17/share/emacs/site-lisp/org-9.6.17/org.el
/gnu/store/kgvi1dv7kkr47yxn66jrpdsgzp807af5-emacs-org-9.6.17/share/emacs/site-lisp/org-9.6.17/#org.el#
/home/hashirama/.emacs.d/init.el
/home/hashirama/.emacs.d/#init.el#

View File

@ -0,0 +1,4 @@
/tmp/ajattix/ajatt/packages/dictionaries.scm
/tmp/ajattix/ajatt/packages/#dictionaries.scm#
/tmp/bookcpp/main.cc
/tmp/bookcpp/#main.cc#

View File

@ -0,0 +1,2 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#

View File

@ -0,0 +1,8 @@
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/fonts.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#fonts.scm#
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/qt.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#qt.scm#
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/dictionaries.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#dictionaries.scm#
/home/hashirama/.config/git/config
/home/hashirama/.config/git/#config#

View File

@ -0,0 +1,2 @@
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/dictionaries.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#dictionaries.scm#

View File

@ -0,0 +1,6 @@
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#
/home/hashirama/dev/guix_channel/ajatt-tools-guix__/ajatt/packages/qt.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix__/ajatt/packages/#qt.scm#
/home/hashirama/dev/guix_channel/ajatt-tools-guix__/ajatt/packages/dictionaries.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix__/ajatt/packages/#dictionaries.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/.xmonad/xmonad.hs
/home/hashirama/.xmonad/#xmonad.hs#

View File

@ -0,0 +1,10 @@
/mnt/Data/Documents/org-files/org-roam/personal/as-nao-coincidencias-matematicas.org
/mnt/Data/Documents/org-files/org-roam/personal/#as-nao-coincidencias-matematicas.org#
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/classificacao-de-estruturas-conforme-numero-de-icognitas.org
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/#classificacao-de-estruturas-conforme-numero-de-icognitas.org#
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/definicao-de-estrutura.org
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/#definicao-de-estrutura.org#
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/prazo-mecanica.org
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/#prazo-mecanica.org#
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/esforcos-internos.org
/mnt/Data/Documents/org-files/org-roam/personal/mechanics/#esforcos-internos.org#

View File

@ -0,0 +1,2 @@
/home/hashirama/src/guix-config/home-configuration.scm
/home/hashirama/src/guix-config/#home-configuration.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#

View File

@ -0,0 +1,10 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#
/home/hashirama/.bashrc
/home/hashirama/#.bashrc#
/home/hashirama/src/guix-config/home-configuration.scm
/home/hashirama/src/guix-config/#home-configuration.scm#
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/dictionaries.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#dictionaries.scm#
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#

View File

@ -0,0 +1,4 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#
/home/hashirama/src/guix-config/home-configuration.scm
/home/hashirama/src/guix-config/#home-configuration.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#

View File

@ -0,0 +1,4 @@
/home/hashirama/.stumpwm.d/init.lisp
/home/hashirama/.stumpwm.d/#init.lisp#
/home/hashirama/dev/guix_channel/lfs.scm
/home/hashirama/dev/guix_channel/#lfs.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/dev/guix_channel/goldendict-ng.scm
/home/hashirama/dev/guix_channel/#goldendict-ng.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/src/guix-config/home-configuration.scm
/home/hashirama/src/guix-config/#home-configuration.scm#

View File

@ -0,0 +1,2 @@
/home/hashirama/dev/guix_channel/goldendict-ng.scm
/home/hashirama/dev/guix_channel/#goldendict-ng.scm#

View File

@ -0,0 +1,4 @@
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/dictionaries.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#dictionaries.scm#
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/qt.scm
/home/hashirama/dev/guix_channel/ajatt-tools-guix/ajatt/packages/#qt.scm#

View File

@ -0,0 +1,8 @@
/mnt/Data/Documents/org-files/org/guile_course.org
/mnt/Data/Documents/org-files/org/#guile_course.org#
/mnt/Data/Documents/org-files/org-roam/guix/recursion-vs-iteration.org
/mnt/Data/Documents/org-files/org-roam/guix/#recursion-vs-iteration.org#
/home/hashirama/.emacs.d/init.el
/home/hashirama/.emacs.d/#init.el#
/mnt/Data/Documents/org-files/org-roam/personal/cantonese/cantonese.org
/mnt/Data/Documents/org-files/org-roam/personal/cantonese/#cantonese.org#

View File

@ -0,0 +1,6 @@
/home/hashirama/.config/guix/config.scm
/home/hashirama/.config/guix/#config.scm#
/home/hashirama/Downloads/watamote_sub/time.txt
/home/hashirama/Downloads/watamote_sub/#time.txt#
/mnt/Data/Documents/org-files/org-roam/my-readings/the-roleplay-of-image-intensity.org
/mnt/Data/Documents/org-files/org-roam/my-readings/#the-roleplay-of-image-intensity.org#

View File

@ -0,0 +1,2 @@
/home/hashirama/.xmonad/xmonad.hs
/home/hashirama/.xmonad/#xmonad.hs#

22
emacs.d/blog/blog.el Normal file
View File

@ -0,0 +1,22 @@
;; code for the simple (but powerful) automation of posts creation
;; requires ox-hugo
(defvar blog-org-files-directory "/mnt/Data/Documents/org-files/org/blog/")
;; where the posts will be converted
(setq org-hugo-base-dir "/mnt/Data/watashinoblog/")
(defun generate-blog-file-path ()
(concat blog-org-files-directory "/"
(format-time-string "%Y-%m-%d-%H-%M-%S") ".org"))
(setq org-capture-templates
`(("b" "Blog Post" entry
(file ,(lambda () (generate-blog-file-path))) ; Target file path generation
"* %?\n#+EXPORT_HUGO_DRAFT: true\n#+EXPORT_HUGO_SECTION_FRAG: \n#+TITLE: %^{Title}\n#+DATE: %U\n#+AUTHOR: Hashirama\n#+FILETAGS: %^{Tags}\n#+UPDATED: %U\n#+CREATED: %<%Y-%m-%d %a %H:%M>\n"
:empty-lines 1 ; Ensure an empty line after the captured content
:prepend t ; Insert content at the beginning of the file
:jump-to-captured t))) ; Jump to the captured position after capture

18
emacs.d/blog/blog.el~ Normal file
View File

@ -0,0 +1,18 @@
;; code for the simple (but powerful) automation of posts creation
(defvar blog-org-files-directory "/mnt/Data/Documents/org-files/org/blog")
(defun generate-blog-file-path ()
(concat blog-org-files-directory "/"
(format-time-string "%Y-%m-%d-%H-%M-%S") ".org"))
(setq org-capture-templates
`(("b" "Blog Post" entry
(file ,(lambda () (generate-blog-file-path))) ; Target file path generation
"* DRAFT %i %?\n:PROPERTIES:\n :EXPORT_HUGO_DRAFT: true\n :EXPORT_HUGO_SECTION_FRAG: \n :EXPORT_FILE_NAME: index\n :TITLE: %^{Title}\n :EXPORT_HUGO_CUSTOM_FRONT_MATTER: :subtitle %^{Subtitle}\n :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :summary %^{Summary}\n:END:\n\n"
:empty-lines 1 ; Ensure an empty line after the captured content
:jump-to-captured t))) ; Jump to the captured entry after completion

11
emacs.d/bookmarks Normal file
View File

@ -0,0 +1,11 @@
;;;; Emacs Bookmark Format Version 1;;;; -*- coding: utf-8-emacs; mode: lisp-data -*-
;;; This format is meant to be slightly human-readable;
;;; nevertheless, you probably don't want to edit it.
;;; -*- End Of Bookmark File Format Version Stamp -*-
(("org-capture-last-stored"
(filename . "/mnt/Data/Documents/org-files/org-roam/personal/japanese/anki.org")
(front-context-string)
(rear-context-string . " and english\n\n\n\n")
(position . 524)
(last-modified 26194 50410 215029 622000))
)

446
emacs.d/emacs-nyxt.el Normal file
View File

@ -0,0 +1,446 @@
;;; emacs-with-nyxt.el --- some code to run Nyxt via Emacs.
;; Copyright (C) 2021 Andrea Giugliano
;; Author: Andrea Giugliano <andrea-dev@hotmail.com>
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; some code to run Nyxt via Emacs
;;
;; some extra docs
;;
;; See documentation on https://github.com/ag91/emacs-with-nyxt
;;; Code:
;; (require 'slime)
(require 'org)
(require 's)
;; (require 'sly)
(defcustom cl-ide 'sly
"What IDE to use to evaluate Common Lisp.
Defaults to Sly because it has better integration with Nyxt."
:options (list 'sly 'slime))
(defvar emacs-with-nyxt-delay
0.1
"Delay to wait for `cl-ide' commands to reach Nyxt.")
(setq slime-protocol-version 'ignore)
(defun emacs-with-nyxt-connected-p ()
"Is `cl-ide' connected to nyxt."
(cond
((eq cl-ide 'slime) (slime-connected-p))
((eq cl-ide 'sly) (sly-connected-p)))) ;; TODO this should check it
;; is connected to Nyxt and
;; not just to cl-ide
;; session
(defun emacs-with-nyxt--connect (host port)
"Connect `cl-ide' to HOST and PORT."
(cond
((eq cl-ide 'slime) (slime-connect host port))
((eq cl-ide 'sly) (sly-connect host port))))
(defun emacs-with-nyxt-connect (host port)
"Connect `cl-ide' to HOST and PORT ignoring version mismatches."
(emacs-with-nyxt--connect host port)
(while (not (emacs-with-nyxt-connected-p))
(message "Starting %s connection..." cl-ide)
(sleep-for emacs-with-nyxt-delay)))
(defun emacs-with-nyxt-eval (string)
"Send STRING to `cl-ide'."
(cond
((eq cl-ide 'slime) (slime-repl-eval-string string))
((eq cl-ide 'sly) (sly-eval `(slynk:interactive-eval-region ,string)))))
(defun emacs-with-nyxt-send-sexps (&rest s-exps)
"Evaluate S-EXPS with Nyxt `cl-ide' session."
(let ((s-exps-string (s-join "" (--map (prin1-to-string it) s-exps))))
(defun true (&rest args) 't)
(if (emacs-with-nyxt-connected-p)
(emacs-with-nyxt-eval s-exps-string)
(error (format "%s is not connected to Nyxt. Run `emacs-with-nyxt-start-and-connect-to-nyxt' first" cl-ide)))))
(add-to-list
'org-capture-templates
`("wN" "Web link" entry (file+headline ,(car org-agenda-files) "Links to read later")
"* TODO %?%a :readings: \nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"Fri\"))\n"
:immediate-finish t :empty-lines 2))
(defun on/slug-string (title) (let ((slug-trim-chars '(;; Combining Diacritical Marks https://www.unicode.org/charts/PDF/U0300.pdf
768 ; U+0300 COMBINING GRAVE ACCENT
769 ; U+0301 COMBINING ACUTE ACCENT
770 ; U+0302 COMBINING CIRCUMFLEX ACCENT
771 ; U+0303 COMBINING TILDE
772 ; U+0304 COMBINING MACRON
774 ; U+0306 COMBINING BREVE
775 ; U+0307 COMBINING DOT ABOVE
776 ; U+0308 COMBINING DIAERESIS
777 ; U+0309 COMBINING HOOK ABOVE
778 ; U+030A COMBINING RING ABOVE
780 ; U+030C COMBINING CARON
795 ; U+031B COMBINING HORN
803 ; U+0323 COMBINING DOT BELOW
804 ; U+0324 COMBINING DIAERESIS BELOW
805 ; U+0325 COMBINING RING BELOW
807 ; U+0327 COMBINING CEDILLA
813 ; U+032D COMBINING CIRCUMFLEX ACCENT BELOW
814 ; U+032E COMBINING BREVE BELOW
816 ; U+0330 COMBINING TILDE BELOW
817 ; U+0331 COMBINING MACRON BELOW
)))
(cl-flet* ((nonspacing-mark-p (char)
(memq char slug-trim-chars))
(strip-nonspacing-marks (s)
(ucs-normalize-NFC-string
(apply #'string (seq-remove #'nonspacing-mark-p
(ucs-normalize-NFD-string s)))))
(cl-replace (title pair)
(replace-regexp-in-string (car pair) (cdr pair) title)))
(let* ((pairs `(("[^[:alnum:][:digit:]]" . "_") ;; convert anything not alphanumeric
("__*" . "_") ;; remove sequential underscores
("^_" . "") ;; remove starting underscore
("_$" . ""))) ;; remove ending underscore
(slug (-reduce-from #'cl-replace (strip-nonspacing-marks title) pairs)))
(downcase slug)))))
(defun on/make-filepath (title now &optional zone)
"Make filename from note TITLE and NOW time (assumed in the current time ZONE)."
(concat
org-roam-directory
(format-time-string "%Y%m%d%H%M%S_" now (or zone (current-time-zone)))
(s-truncate 70 (on/slug-string title) "")
".org"))
(defun on/insert-org-roam-file (file-path title &optional links sources text quote)
"Insert org roam file in FILE-PATH with TITLE, LINKS, SOURCES, TEXT, QUOTE."
(with-temp-file file-path
(insert
"* " title "\n"
"\n"
"- tags :: " (--reduce (concat acc ", " it) links) "\n"
(if sources (concat "- source :: " (--reduce (concat acc ", " it) sources) "\n") "")
"\n"
(if text text "")
"\n"
"\n"
(if quote
(concat "#+begin_src text \n"
quote "\n"
"#+end_src")
"")))
(with-file file-path
(org-id-get-create)
(save-buffer)))
(defun emacs-with-nyxt-current-package ()
"Return current package set for `cl-ide'."
(cond
((eq cl-ide 'slime) (slime-current-package))
((eq cl-ide 'sly) (with-current-buffer (sly-mrepl--find-buffer) (sly-current-package)))))
(defun emacs-with-nyxt-start-and-connect-to-nyxt (&optional no-maximize)
"Start Nyxt with swank capabilities. Optionally skip window maximization with NO-MAXIMIZE."
(interactive)
(async-shell-command (format "nyxt" ;; "nyxt -e \"(nyxt-user::start-swank)\""
))
(while (not (emacs-with-nyxt-connected-p))
(message (format "Starting %s connection..." cl-ide))
(ignore-errors (emacs-with-nyxt-connect "localhost" "4006"))
(sleep-for emacs-with-nyxt-delay))
(while (not (ignore-errors (string= "NYXT-USER" (upcase (emacs-with-nyxt-current-package)))))
(progn (message "Setting %s package to NYXT-USER..." cl-ide)
(sleep-for emacs-with-nyxt-delay)))
(emacs-with-nyxt-send-sexps
`(load "~/quicklisp/setup.lisp")
`(defun replace-all (string part replacement &key (test #'char=))
"Return a new string in which all the occurences of the part is replaced with replacement."
(with-output-to-string (out)
(loop with part-length = (length part)
for old-pos = 0 then (+ pos part-length)
for pos = (search part string
:start2 old-pos
:test test)
do (write-string string out
:start old-pos
:end (or pos (length string)))
when pos do (write-string replacement out)
while pos)))
`(defun eval-in-emacs (&rest s-exps)
"Evaluate S-EXPS with emacsclient."
(let ((s-exps-string (replace-all
(write-to-string
`(progn ,@s-exps) :case :downcase)
;; Discard the package prefix.
"nyxt::" "")))
(format *error-output* "Sending to Emacs:~%~a~%" s-exps-string)
(uiop:run-program
(list "emacsclient" "--eval" s-exps-string))))
`(ql:quickload "cl-qrencode")
`(define-command-global my/make-current-url-qr-code () ; this is going to be redundant: https://nyxt.atlas.engineer/article/qr-url.org
"Something else."
(when (find-mode (current-buffer) 'web-mode)
(cl-qrencode:encode-png (quri:render-uri (url (current-buffer))) :fpath "/tmp/qrcode.png")
(uiop:run-program (list "nyxt" "/tmp/qrcode.png"))))
'(define-command-global my/open-html-in-emacs ()
"Open buffer html in Emacs."
(when (find-mode (current-buffer) 'web-mode)
(with-open-file
(file "/tmp/temp-nyxt.html" :direction :output
:if-exists :supersede
:if-does-not-exist :create)
(write-string (ffi-buffer-get-document (current-buffer)) file)))
(eval-in-emacs
`(progn (switch-to-buffer
(get-buffer-create ,(render-url (url (current-buffer)))))
(erase-buffer)
(insert-file-contents-literally "/tmp/temp-nyxt.html")
(html-mode)
(indent-region (point-min) (point-max))))
(delete-file "/tmp/temp-nyxt.html"))
;; from @aartaka https://www.reddit.com/r/Nyxt/comments/ock3tu/is_there_something_like_mx_or_esc_in_nyxt/h3wkipl?utm_source=share&utm_medium=web2x&context=3
`(define-command-global eval-expression ()
"Prompt for the expression and evaluate it, echoing result to the `message-area'."
(let ((expression-string
;; Read an arbitrary expression. No error checking, though.
(first (prompt :prompt "Expression to evaluate"
:sources (list (make-instance 'prompter:raw-source))))))
;; Message the thing to the message-area down below.
(echo "~S" (eval (read-from-string expression-string)))))
`(define-configuration nyxt/web-mode:web-mode
;; Bind eval-expression to M-:, but only in emacs-mode.
((keymap-scheme (let ((scheme %slot-default%))
(keymap:define-key (gethash scheme:emacs scheme)
"M-:" 'eval-expression)
scheme))))
`(defun emacs-with-nyxt-capture-link ()
(let ((url (quri:render-uri (url (current-buffer)))))
(if (str:containsp "youtu" url)
(str:concat
url
"&t="
(write-to-string
(floor
(ffi-buffer-evaluate-javascript (current-buffer)
(ps:ps
(ps:chain document
(get-element-by-id "movie_player")
(get-current-time))))))
"s")
url)))
`(define-command-global org-capture ()
"Org-capture current page."
(eval-in-emacs
`(let ((org-link-parameters
(list (list "nyxt"
:store
(lambda ()
(org-store-link-props
:type "nyxt"
:link ,(emacs-with-nyxt-capture-link)
:description ,(title (current-buffer))))))))
(org-capture nil "wN"))
(echo "Note stored!")))
`(define-command-global org-roam-capture ()
"Org-capture current page."
(let ((quote (%copy))
(link (emacs-with-nyxt-capture-link))
(title (prompt
:input (title (current-buffer))
:prompt "Title of note:"
:sources (list (make-instance 'prompter:raw-source))))
(text (prompt
:input ""
:prompt "Note to take:"
:sources (list (make-instance 'prompter:raw-source)))))
(eval-in-emacs
`(let ((_ (require 'org-roam))
(file (on/make-filepath ,(car title) (current-time))))
(on/insert-org-roam-file
file
,(car title)
nil
(list ,link)
,(car text)
,quote)
(find-file file)
(org-id-get-create)))
(echo "Org Roam Note stored!")))
`(define-configuration nyxt/web-mode:web-mode
;; Bind org-capture to C-o-c, but only in emacs-mode.
((keymap-scheme (let ((scheme %slot-default%))
(keymap:define-key (gethash scheme:emacs scheme)
"C-c o c" 'org-capture)
scheme))))
`(define-configuration nyxt/web-mode:web-mode
;; Bind org-roam-capture to C-c n f, but only in emacs-mode.
((keymap-scheme (let ((scheme %slot-default%))
(keymap:define-key (gethash scheme:emacs scheme)
"C-c n f" 'org-roam-capture)
scheme))))
)
(unless no-maximize
(emacs-with-nyxt-send-sexps
'(toggle-fullscreen))))
(defun emacs-with-nyxt-browse-url-nyxt (url &optional buffer-title)
"Open URL with Nyxt and optionally define BUFFER-TITLE."
(interactive "sURL: ")
(emacs-with-nyxt-send-sexps
(append
(list
'buffer-load
url)
(if buffer-title
`(:buffer (make-buffer :title ,buffer-title))
nil))))
(defun emacs-with-nyxt-close-nyxt-connection ()
"Close Nyxt connection."
(interactive)
(emacs-with-nyxt-send-sexps '(quit)))
(defun browse-url-nyxt (url &optional new-window)
"Browse URL with Nyxt. NEW-WINDOW is ignored."
(interactive "sURL: ")
(unless (emacs-with-nyxt-connected-p) (emacs-with-nyxt-start-and-connect-to-nyxt))
(emacs-with-nyxt-browse-url-nyxt url url))
(defun emacs-with-nyxt-search-first-in-nyxt-current-buffer (string)
"Search current Nyxt buffer for STRING."
(interactive "sString to search: ")
(unless (emacs-with-nyxt-connected-p) (emacs-with-nyxt-start-and-connect-to-nyxt))
(emacs-with-nyxt-send-sexps
`(nyxt/web-mode::highlight-selected-hint
:link-hint
(car (nyxt/web-mode::matches-from-json
(nyxt/web-mode::query-buffer :query ,string)))
:scroll 't)))
(defun emacs-with-nyxt-make-qr-code-of-current-url ()
"Open QR code of current url."
(interactive)
(if (file-exists-p "~/quicklisp/setup.lisp")
(progn
(unless (emacs-with-nyxt-connected-p) (emacs-with-nyxt-start-and-connect-to-nyxt))
(emacs-with-nyxt-send-sexps
'(ql:quickload "cl-qrencode")
'(cl-qrencode:encode-png (quri:render-uri (url (current-buffer))) :fpath "/tmp/qrcode.png"))
(find-file "/tmp/qrcode.png")
(auto-revert-mode))
(error "You cannot use this until you have Quicklisp installed! Check how to do that at: https://www.quicklisp.org/beta/#installation")))
(defun emacs-with-nyxt-get-nyxt-buffers ()
"Return nyxt buffers."
(when (emacs-with-nyxt-connected-p)
(read
(emacs-with-nyxt-send-sexps
'(map 'list (lambda (el) (slot-value el 'title)) (buffer-list))))))
(defun emacs-with-nyxt-nyxt-switch-buffer (&optional title)
"Interactively switch nyxt buffers. If argument is provided switch to buffer with TITLE."
(interactive)
(if (emacs-with-nyxt-connected-p)
(let ((title (or title (completing-read "Title: " (emacs-with-nyxt-get-nyxt-buffers)))))
(emacs-with-nyxt-send-sexps
`(switch-buffer :id (slot-value (find-if #'(lambda (el) (equal (slot-value el 'title) ,title)) (buffer-list)) 'id))))
(error (format "%s is not connected to Nyxt. Run `emacs-with-nyxt-start-and-connect-to-nyxt' first" cl-ide))))
(defun emacs-with-nyxt-get-nyxt-commands ()
"Return nyxt commands."
(when (emacs-with-nyxt-connected-p)
(read
(emacs-with-nyxt-send-sexps
`(let ((commands (make-instance 'command-source)))
(map 'list (lambda (el) (slot-value el 'name)) (funcall (slot-value commands 'prompter:CONSTRUCTOR) commands)))))))
(defun emacs-with-nyxt-nyxt-run-command (&optional command)
"Interactively run nyxt COMMAND."
(interactive)
(if (emacs-with-nyxt-connected-p)
(let ((command (or command (completing-read "Execute command: " (emacs-with-nyxt-get-nyxt-commands)))))
(emacs-with-nyxt-send-sexps `(nyxt::run-async ',(read command))))
(error (format "%s is not connected to Nyxt. Run `emacs-with-nyxt-start-and-connect-to-nyxt' first" cl-ide))))
(defun emacs-with-nyxt-nyxt-take-over-prompt ()
"Take over the nyxt prompt and let Emacs handle completions."
(interactive)
(emacs-with-nyxt-send-sexps
`(progn
(defun flatten (structure)
(cond ((null structure) nil)
((atom structure) (list structure))
(t (mapcan #'flatten structure))))
(defun prompt (&REST args)
(flet ((ensure-sources (specifiers)
(mapcar (lambda (source-specifier)
(cond
((and (symbolp source-specifier)
(c2cl:subclassp source-specifier 'source))
(make-instance source-specifier))
(t source-specifier)))
(uiop:ensure-list specifiers))))
(sleep 0.1)
(let* ((promptstring (list (getf args :prompt)))
(sources (ensure-sources (getf args :sources)))
(names (mapcar (lambda (ol) (slot-value ol 'prompter:attributes)) (flatten (mapcar (lambda (el) (slot-value el 'PROMPTER::INITIAL-SUGGESTIONS)) sources))))
(testing (progn
(setq my-names names)
(setq my-prompt promptstring)))
(completed (read-from-string (eval-in-emacs `(emacs-with-nyxt-nyxt-complete ',promptstring ',names))))
(suggestion
(find-if (lambda (el) (equal completed (slot-value el 'PROMPTER::ATTRIBUTES))) (flatten (mapcar (lambda (el) (slot-value el 'PROMPTER::INITIAL-SUGGESTIONS)) sources))))
(selected-class (find-if (lambda (el) (find suggestion (slot-value el 'PROMPTER::INITIAL-SUGGESTIONS))) sources)))
(if selected-class
(funcall (car (slot-value selected-class 'PROMPTER::ACTIONS)) (list (slot-value suggestion 'PROMPTER:VALUE)))
(funcall (car (slot-value (car sources) 'PROMPTER::ACTIONS)) (list completed)))))))))
(defun emacs-with-nyxt-nyxt-complete (prompt names)
"Completion function for nyxt completion."
(let* ((completions (--map (s-join "\t" (--map (s-join ": " it) it)) names))
(completed-string (completing-read (s-append ": " (car prompt)) completions))
(completed-index (-elem-index completed-string completions)))
(if (numberp completed-index)
(nth completed-index names)
completed-string)))
(defun emacs-with-nyxt-decode-command (encoded)
"Decode an ENCODED link containing some Elisp. This is for the `.ag91' links."
(--> encoded
(s-split "/" it t)
reverse
car
(s-split "\\." it t)
car
base64-decode-string
read
eval))
(provide 'emacs-with-nyxt)
;;; emacs-with-nyxt ends here
;; Local Variables:
;; time-stamp-pattern: "10/Version:\\?[ \t]+1.%02y%02m%02d\\?\n"
;; End:

128
emacs.d/eshell/history Normal file
View File

@ -0,0 +1,128 @@
git add .
git commit -m "improve debugging"
git add .
git commit -m "improve debugging"
git push
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
git add .
git commit -m "improve debugging 2/2"
rm hakurei
rm -r src/error.patch
git add .
git commit -m "improve debugging 3/3"
git push
g++ src/hakurei.cpp -o hakurei
cd src/
ls
rm hakurei.cpp.orig hakurei.cpp.rej
git commit -m "cleanup"
git add . && git commit -m "cleanup"
git push
g++ hakurei.cpp -o ../hakurei
g++ hakurei.cpp -o ../hakurei
g++ hakurei.cpp -o ../hakurei
g++ hakurei.cpp -o ../hakurei
g++ hakurei.cpp -o ../hakurei
g++ hakurei.cpp -o ../hakurei
ls
rm error.patch
cd ..
ls
rm hakurei
git add .
git commit -m "temporary fix (well, it works!)"
git push
g++ hakurei.cpp -o ../hakurei
g++ src/hakurei.cpp -o hakurei
g++ hakurei.cpp -o ../hakurei
ls
cd ..
rm hakurei
git add .
git commit -m "trim spaces"
git push
git pull
git pull.rebase false
git commit -m "trim spaces"
git push
g++ hakurei.cpp -o ../hakurei.cpp
g++ hakurei.cpp -o ../hakurei.cpp
g++ hakurei.cpp -o ../hakurei.cpp
g++ hakurei.cpp -o ../hakurei.cpp
g++ hakurei.cpp -o ../hakurei
ls
rm ../hakurei
ls
cd ..
ls
rm hakurei.cpp
git add .
git commit -m "fix single-char bdword link"
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
cd ..
git rm -r Hakurei/
rm -r Hakurei/
git clone http://localhost:3000/hashirama/Hakurei.git
cd Hakurei/
ls
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
g++ src/hakurei.cpp -o hakurei
ls
rm hakurei
cd src/
ls
cd ..
git add .
git commit -m "fix single-char bdword link"
git push
g++ hakurei.cpp -o ../hakurei
cd ..
rm -r RelearnControl/
rm -r RelearnControl/
sbcl --script main.lisp
sbcl --script main.lisp
which
sbcl --script main.lisp
whereis which
which bash
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
chmod +x main.lisp
./main.lisp
./main.lisp
sbcl --script main.lisp
sbcl main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --load main.lisp --eval "(sb-ext:save-lisp-and-die \"my-program\" :toplevel #'main :executable t)"
sbcl --script --load main.lisp
sbcl --load --script main.lisp
sbcl --load main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp
sbcl --script main.lisp

32
emacs.d/eshell/lastdir Normal file
View File

@ -0,0 +1,32 @@
/mnt/Data/Documents/org-files/org-roam/personal/japanese
/home/hashirama/dev/ajatt/hakurei/fast_io/src
/home/hashirama/dev/ajatt/hakurei/fast_io
/home/hashirama/dev/ajatt/hakurei
~
/home/hashirama/dev/ajatt/hakurei
/home/hashirama/dev/guix_channel/ajatt-tools-guix__/ajatt/packages
/tmp/ajattix
/tmp/xcdat_test
/tmp/xcdat_test
/home/hashirama
/tmp/xcdat_test
/tmp/Hakurei/res/img
/tmp/testecpp
/tmp/testecpp/utfcpp
/tmp/testecpp/utfcpp/source
/tmp/testecpp
/home/hashirama/dev/guix_channel/guile-tests
~/dev/guix_channel/guile-tests
/home/hashirama/dev/guix_channel/guile-tests
~/dev/guix_channel/guile-tests
/tmp/Hakurei/.git
/tmp/Hakurei/res
/tmp
/tmp/Hakurei
/tmp/Hakurei/src
/tmp/Hakurei
/tmp/Hakurei/src
/home/hashirama/.var/app/net.ankiweb.Anki/data/Anki2/addons21/RelearnControl
/home/hashirama/.var/app/net.ankiweb.Anki/data/Anki2/addons21
~/.var/app/net.ankiweb.Anki/data/Anki2/addons21
/home/hashirama/dev/seraph

@ -0,0 +1 @@
Subproject commit 7774b5fd2feb98d4910ff06435d08c19fba93e26

View File

@ -0,0 +1,802 @@
;;; emacs-everywhere.el --- System-wide popup windows for quick edits -*- lexical-binding: t; -*-
;; Copyright (C) 2021 TEC
;; Author: TEC <https://github.com/tecosaur>
;; Maintainer: TEC <contact@tecosaur.net>
;; Created: February 06, 2021
;; Modified: February 06, 2021
;; Version: 0.1.0
;; Keywords: convenience, frames
;; Homepage: https://github.com/tecosaur/emacs-everywhere
;; Package-Requires: ((emacs "26.3"))
;;; License:
;; This file is part of org-pandoc-import, which is not part of GNU Emacs.
;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Commentary:
;; System-wide popup Emacs windows for quick edits
;;; Code:
(require 'cl-lib)
(require 'server)
(defgroup emacs-everywhere ()
"Customise group for Emacs-everywhere."
:group 'convenience)
(define-obsolete-variable-alias
'emacs-everywhere-paste-p 'emacs-everywhere-paste-command "0.1.0")
(defalias 'emacs-everywhere-call 'emacs-everywhere--call)
(make-obsolete 'emacs-everywhere-call "Now private API" "0.2.0")
(define-obsolete-variable-alias
'emacs-everywhere-return-converted-org-to-gfm
'emacs-everywhere-convert-org-to-gfm "0.2.0")
(defvaralias 'emacs-everywhere-mode-initial-map 'emacs-everywhere--initial-mode-map)
(make-obsolete-variable 'emacs-everywhere-mode-initial-map "Now private API" "0.2.0")
(defalias 'emacs-everywhere-erase-buffer 'emacs-everywhere--erase-buffer)
(make-obsolete 'emacs-everywhere-erase-buffer "Now private API" "0.2.0")
(defalias 'emacs-everywhere-finish-or-ctrl-c-ctrl-c 'emacs-everywhere--finish-or-ctrl-c-ctrl-c)
(make-obsolete 'emacs-everywhere-finish-or-ctrl-c-ctrl-c "Now private API" "0.2.0")
(defalias 'emacs-everywhere-app-info-linux 'emacs-everywhere--app-info-linux)
(make-obsolete 'emacs-everywhere-app-info-linux "Now private API" "0.2.0")
(defalias 'emacs-everywhere-app-info-osx 'emacs-everywhere--app-info-osx)
(make-obsolete 'emacs-everywhere-app-info-osx "Now private API" "0.2.0")
(defalias 'emacs-everywhere-app-info-windows 'emacs-everywhere--app-info-windows)
(make-obsolete 'emacs-everywhere-app-info-windows "Now private API" "0.2.0")
(defalias 'emacs-everywhere-ensure-oscascript-compiled 'emacs-everywhere--ensure-oscascript-compiled)
(make-obsolete 'emacs-everywhere-ensure-oscascript-compiled "Now private API" "0.2.0")
(defvar emacs-everywhere--display-server
(cond
((eq system-type 'darwin) '(quartz . nil))
((memq system-type '(ms-dos windows-nt cygwin)) '(windows . nil))
((eq system-type 'gnu/linux)
(cons
(if (getenv "WAYLAND_DISPLAY") 'wayland 'x11)
(intern (or (getenv "XDG_CURRENT_DESKTOP") "unknown"))))
(t '(unknown . nil)))
"The detected display server.")
(defcustom emacs-everywhere-paste-command
(pcase (car emacs-everywhere--display-server)
('quartz (list "osascript" "-e" "tell application \"System Events\" to keystroke \"v\" using command down"))
('windows
(list "powershell" "-NoProfile" "-Command"
"& {(New-Object -ComObject wscript.shell).SendKeys(\"^v\")}"))
('x11 (list "xdotool" "key" "--clearmodifiers" "Shift+Insert"))
('wayland (list "ydotool" "key" "42:1" "110:1" "42:0" "110:0"))
('unknown
(list "notify-send"
"No paste command defined for emacs-everywhere"
"-a" "Emacs" "-i" "emacs")))
"Command to trigger a system paste from the clipboard.
This is given as a list in the form (CMD ARGS...).
To not run any command, set to nil."
:type '(set (repeat string) (const nil))
:group 'emacs-everywhere)
(defcustom emacs-everywhere-copy-command
(pcase (car emacs-everywhere--display-server)
('x11 (list "xclip" "-selection" "clipboard" "%f"))
('wayland
(list "sh" "-c" "wl-copy < %f"))
('windows
(list "Powershell" "-NoProfile" "-Command" "& { Get-Content %f | clip }")))
"Command to write to the system clipboard from a file (%f).
This is given as a list in the form (CMD ARGS...).
In the arguments, \"%f\" is treated as a placeholder for the path
to the file.
When nil, nothing is executed.
`gui-select-text' is always called on the buffer content, however experience
suggests that this can be somewhat flakey, and so an extra step to make sure
it worked can be a good idea."
:type '(set (repeat string) (const nil))
:group 'emacs-everywhere)
(defcustom emacs-everywhere-window-focus-command
(pcase emacs-everywhere--display-server
(`(quartz . ,_) (list "osascript" "-e" "tell application \"%w\" to activate"))
(`(windows . ,_) (list "powershell" "-NoProfile" "-command"
"& {Add-Type 'using System; using System.Runtime.InteropServices; public class Tricks { [DllImport(\"user32.dll\")] public static extern bool SetForegroundWindow(IntPtr hWnd); }'; [tricks]::SetForegroundWindow(%w) }"))
(`(x11 . ,_) (list "xdotool" "windowactivate" "--sync" "%w"))
(`(wayland . KDE) (list "kdotool" "windowactivate" "%w"))) ; No --sync
"Command to refocus the active window when emacs-everywhere was triggered.
This is given as a list in the form (CMD ARGS...).
In the arguments, \"%w\" is treated as a placeholder for the window ID,
as returned by `emacs-everywhere-app-id'.
When nil, nothing is executed, and pasting is not attempted."
:type '(set (repeat string) (const nil))
:group 'emacs-everywhere)
(defcustom emacs-everywhere-markdown-windows
'("Reddit" "Stack Exchange" "Stack Overflow" ; Sites
"Discord" "Element" "Slack" "HedgeDoc" "HackMD" "Zulip" ; Web Apps
"Pull Request" "Issue" "Comparing .*\\.\\.\\.") ; Github
"For use with `emacs-everywhere-markdown-p'.
Patterns which are matched against the window title."
:type '(rep string)
:group 'emacs-everywhere)
(defcustom emacs-everywhere-markdown-apps
'("Discord" "Element" "Fractal" "NeoChat" "Slack")
"For use with `emacs-everywhere-markdown-p'.
Patterns which are matched against the app name."
:type '(rep string)
:group 'emacs-everywhere)
(defcustom emacs-everywhere-frame-name-format "Emacs Everywhere :: %s — %s"
"Format string used to produce the frame name.
Formatted with the app name, and truncated window name."
:type 'string
:group 'emacs-everywhere)
(defcustom emacs-everywhere-major-mode-function
(cond
((executable-find "pandoc") #'org-mode)
((fboundp 'markdown-mode) #'emacs-everywhere-major-mode-org-or-markdown)
(t #'text-mode))
"Function which sets the major mode for the Emacs Everywhere buffer.
When set to `org-mode', pandoc is used to convert from markdown to Org
when applicable."
:type 'function
:options '(org-mode
emacs-everywhere-major-mode-org-or-markdown
text-mode)
:group 'emacs-everywhere)
(defcustom emacs-everywhere-init-hooks
'(emacs-everywhere-set-frame-name
emacs-everywhere-set-frame-position
emacs-everywhere-apply-major-mode
emacs-everywhere-insert-selection
emacs-everywhere-remove-trailing-whitespace
emacs-everywhere-init-spell-check)
"Hooks to be run before function `emacs-everywhere-mode'."
:type 'hook
:group 'emacs-everywhere)
(defcustom emacs-everywhere-final-hooks
'(emacs-everywhere-convert-org-to-gfm
emacs-everywhere-remove-trailing-whitespace)
"Hooks to be run just before content is copied."
:type 'hook
:group 'emacs-everywhere)
(defcustom emacs-everywhere-frame-parameters
`((name . "emacs-everywhere")
(fullscreen . nil) ; Helps on GNOME at least
(width . 80)
(height . 12))
"Parameters `make-frame' recognises to apply to the emacs-everywhere frame."
:type 'list
:group 'emacs-everywhere)
(defcustom emacs-everywhere-top-padding 0.2
"Use the header-line to introduce this fraction of a line as padding.
Set to nil to disable."
:type '(choice (const nil :tag "No padding") number)
:group 'emacs-everywhere)
(defcustom emacs-everywhere-file-dir
temporary-file-directory
"The default dir for`emacs-everywhere-filename-function'-generated temp files."
:type 'string
:group 'emacs-everywhere)
(defcustom emacs-everywhere-file-patterns
(let ((default-directory emacs-everywhere-file-dir))
(list (concat "^" (regexp-quote (file-truename "emacs-everywhere-")))
;; For qutebrowser 'editor.command' support
(concat "^" (regexp-quote (file-truename "qutebrowser-editor-")))))
"A list of file regexps to activate `emacs-everywhere-mode' for."
:type '(repeat regexp)
:group 'emacs-everywhere)
(defcustom emacs-everywhere-pandoc-md-args
'("-f" "markdown-auto_identifiers" "-t" "org")
"Arguments supplied to pandoc when converting text from Markdown to Org."
:type '(repeat string)
:group 'emacs-everywhere)
(defcustom emacs-everywhere-clipboard-sleep-delay 0.01
"Waiting period to wait to propagate clipboard actions."
:type 'number
:group 'emacs-everywhere)
(defun emacs-everywhere-temp-filename (app-info)
"Generate a temp file based on APP-INFO."
(concat "emacs-everywhere-"
(format-time-string "%Y%m%d-%H%M%S-" (current-time))
(emacs-everywhere-app-class app-info)))
(defcustom emacs-everywhere-filename-function
#'emacs-everywhere-temp-filename
"A function which generates a file name for the buffer.
The function is passed the result of `emacs-everywhere-app-info'.
Make sure that it will be matched by `emacs-everywhere-file-patterns'."
:type 'function
:group 'emacs-everywhere)
(defcustom emacs-everywhere-app-info-function
(pcase emacs-everywhere--display-server
(`(quartz . ,_) #'emacs-everywhere--app-info-osx)
(`(windows . ,_) #'emacs-everywhere--app-info-windows)
(`(x11 . ,_) #'emacs-everywhere--app-info-linux-x11)
(`(wayland . KDE) #'emacs-everywhere--app-info-linux-kde))
"Function that asks the system for information on the current foreground app.
On most systems, this should be set to a sensible default, but it
may not be set on less common configurations. If unset, a custom
app-info function can be used see the various
emacs-everywhere--app-info-* functions for reference."
:type 'function
:group 'emacs-everywhere)
;; Semi-internal variables
(defconst emacs-everywhere-osascript-accessibility-error-message
"osascript is not allowed assistive access"
"String to search for to determine if Emacs does not have accessibility rights.")
(defvar-local emacs-everywhere-current-app nil
"The current `emacs-everywhere-app'.")
;; Prevents buffer-local variable from being unset by major mode changes
(put 'emacs-everywhere-current-app 'permanent-local t)
(defvar-local emacs-everywhere--contents nil)
;; Make the byte-compiler happier
(declare-function org-in-src-block-p "org")
(declare-function org-ctrl-c-ctrl-c "org")
(declare-function org-export-to-buffer "ox")
(declare-function evil-insert-state "evil-states")
(declare-function spell-fu-buffer "spell-fu")
(declare-function markdown-mode "markdown-mode")
(declare-function w32-shell-execute "w32fns.c")
;;; Primary functionality
;;;###autoload
(defun emacs-everywhere (&optional file line column)
"Launch the emacs-everywhere frame from emacsclient.
This may open FILE at a particular LINE and COLUMN, if specified."
(let* ((app-info (emacs-everywhere-app-info))
(param (emacs-everywhere-command-param app-info file line column))
(param-string (combine-and-quote-strings param)))
(pcase system-type
((or 'ms-dos 'windows-nt 'cygwin)
(w32-shell-execute "open" "emacsclientw" param-string 1))
(_ (apply #'call-process "emacsclient" nil 0 nil param)))))
(defun emacs-everywhere-command-param (app-info &optional file line column)
"Generate arguments for calling emacsclient.
The arguments are based on a particular APP-INFO. Optionally, a FILE can be
specified, and also a particular LINE and COLUMN."
(delq
nil (list
(when (server-running-p)
(if server-use-tcp
(concat "--server-file="
(if (memq system-type '(ms-dos windows-nt cygwin))
(expand-file-name server-name server-auth-dir)
(shell-quote-argument
(expand-file-name server-name server-auth-dir))))
(concat "--socket-name="
(if (memq system-type '(ms-dos windows-nt cygwin))
(expand-file-name server-name server-auth-dir)
(shell-quote-argument
(expand-file-name server-name server-socket-dir))))))
"-c" "-F"
(prin1-to-string
(cons (cons 'emacs-everywhere-app app-info)
emacs-everywhere-frame-parameters))
(cond ((and line column) (format "+%d:%d" line column))
(line (format "+%d" line)))
(or file
(expand-file-name
(funcall emacs-everywhere-filename-function app-info)
emacs-everywhere-file-dir)))))
(defun emacs-everywhere-file-p (file)
"Return non-nil if FILE should be handled by emacs-everywhere.
This matches FILE against `emacs-everywhere-file-patterns'."
(let ((file (file-truename file)))
(cl-some (lambda (pattern) (string-match-p pattern file))
emacs-everywhere-file-patterns)))
;;;###autoload
(defun emacs-everywhere-initialise ()
"Entry point for the executable.
APP is an `emacs-everywhere-app' struct."
(let ((file (buffer-file-name (buffer-base-buffer))))
(when (and file (emacs-everywhere-file-p file))
(let ((app (or (frame-parameter nil 'emacs-everywhere-app)
(emacs-everywhere-app-info))))
(setq-local emacs-everywhere-current-app app)
(with-demoted-errors "Emacs Everywhere: error running init hooks, %s"
(run-hooks 'emacs-everywhere-init-hooks))
(emacs-everywhere-mode 1)
(setq emacs-everywhere--contents (buffer-string))))))
;;;###autoload
(add-hook 'server-visit-hook #'emacs-everywhere-initialise)
(add-hook 'server-done-hook #'emacs-everywhere-finish)
(defvar emacs-everywhere--initial-mode-map
(let ((keymap (make-sparse-keymap)))
(define-key keymap (kbd "DEL") #'emacs-everywhere--erase-buffer)
(define-key keymap (kbd "C-SPC") #'emacs-everywhere--erase-buffer)
keymap)
"Transient keymap invoked when an emacs-everywhere buffer is first created.
Set to nil to prevent this transient map from activating in emacs-everywhere
buffers.")
(define-minor-mode emacs-everywhere-mode
"Tweak the current buffer to add some emacs-everywhere considerations."
:init-value nil
:lighter " EE"
:keymap `((,(kbd "C-c C-c") . emacs-everywhere--finish-or-ctrl-c-ctrl-c)
(,(kbd "C-x 5 0") . emacs-everywhere-finish)
(,(kbd "C-c C-k") . emacs-everywhere-abort))
(when emacs-everywhere-mode
;; line breaking
(turn-off-auto-fill)
(visual-line-mode t)
;; DEL/C-SPC to clear (first keystroke only)
(when (keymapp emacs-everywhere--initial-mode-map)
(set-transient-map emacs-everywhere--initial-mode-map))
;; Header line
(when emacs-everywhere-top-padding
(setq-local header-line-format "")
(face-remap-set-base
'header-line (list :height emacs-everywhere-top-padding)))
;; Replace "When done with a buffer type 'C-x #'" message
(run-at-time
nil nil
(lambda ()
(message "When done with this buffer type %s (or %s to abort)"
(propertize "C-c C-c" 'face 'help-key-binding)
(propertize "C-c C-k" 'face 'help-key-binding))))))
(defun emacs-everywhere-apply-major-mode ()
"Call `emacs-everywhere-major-mode-function'."
(funcall emacs-everywhere-major-mode-function))
(defun emacs-everywhere--erase-buffer ()
"Delete the contents of the current buffer."
(interactive)
(delete-region (point-min) (point-max)))
(defun emacs-everywhere--finish-or-ctrl-c-ctrl-c ()
"Finish emacs-everywhere session or invoke `org-ctrl-c-ctrl-c' in `org-mode'."
(interactive)
(if (and (eq major-mode 'org-mode)
(org-in-src-block-p))
(org-ctrl-c-ctrl-c)
(emacs-everywhere-finish)))
(defun emacs-everywhere-finish (&optional abort)
"Copy buffer content, close emacs-everywhere window, and maybe paste.
Must only be called within a emacs-everywhere buffer.
Never paste content when ABORT is non-nil."
(interactive)
(when emacs-everywhere-mode
(when (equal emacs-everywhere--contents (buffer-string))
(setq abort t))
(unless abort
(run-hooks 'emacs-everywhere-final-hooks)
(gui-select-text (buffer-string))
(gui-backend-set-selection 'PRIMARY (buffer-string))
(when emacs-everywhere-copy-command ; handle clipboard finicklyness
(let ((inhibit-message t)
(require-final-newline nil)
write-file-functions)
(write-file buffer-file-name)
(apply #'call-process (car emacs-everywhere-copy-command)
nil nil nil
(mapcar (lambda (arg)
(replace-regexp-in-string "%f" buffer-file-name arg))
(cdr emacs-everywhere-copy-command))))))
(sleep-for emacs-everywhere-clipboard-sleep-delay) ; prevents weird multi-second pause, lets clipboard info propagate
(when emacs-everywhere-window-focus-command
(let ((window-id (emacs-everywhere-app-id emacs-everywhere-current-app)))
(apply #'call-process (car emacs-everywhere-window-focus-command)
nil nil nil
(mapcar (lambda (arg)
(replace-regexp-in-string "%w" window-id arg))
(cdr emacs-everywhere-window-focus-command)))
;; The frame only has this parameter if this package initialized the temp
;; file its displaying. Otherwise, it was created by another program, likely
;; a browser with direct EDITOR support, like qutebrowser.
(when (and (frame-parameter nil 'emacs-everywhere-app)
emacs-everywhere-paste-command
(not abort))
(apply #'call-process (car emacs-everywhere-paste-command)
nil nil nil (cdr emacs-everywhere-paste-command)))))
;; Clean up after ourselves in case the buffer survives `server-buffer-done'
;; (b/c `server-existing-buffer' is non-nil).
(emacs-everywhere-mode -1)
(server-buffer-done (current-buffer))))
(defun emacs-everywhere-abort ()
"Abort current emacs-everywhere session."
(interactive)
(set-buffer-modified-p nil)
(emacs-everywhere-finish t))
;;; Window info
(cl-defstruct emacs-everywhere-app
"Metadata about the last focused window before emacs-everywhere was invoked."
id class title geometry)
(defun emacs-everywhere-app-info ()
"Return information on the active window.
This runs `emacs-everywhere-app-info-function' and lightly reformats the app title."
(if (functionp emacs-everywhere-app-info-function)
(let ((w (funcall emacs-everywhere-app-info-function)))
(setf (emacs-everywhere-app-title w)
(replace-regexp-in-string
(format " ?-[A-Za-z0-9 ]*%s"
(regexp-quote (emacs-everywhere-app-class w)))
""
(replace-regexp-in-string
"[^[:ascii:]]+" "-" (emacs-everywhere-app-title w))))
w)
(user-error "No app-info function is set, see `emacs-everywhere-app-info-function'")))
(defun emacs-everywhere--call (command &rest args)
"Execute COMMAND with ARGS synchronously."
(with-temp-buffer
(apply #'call-process command nil t nil (remq nil args))
(when (and (eq system-type 'darwin)
(string-match-p emacs-everywhere-osascript-accessibility-error-message (buffer-string)))
(call-process "osascript" nil nil nil
"-e" (format "display alert \"emacs-everywhere\" message \"Emacs has not been granted accessibility permissions, cannot run emacs-everywhere!
Please go to 'System Preferences > Security & Privacy > Privacy > Accessibility' and allow Emacs.\"" ))
(error "MacOS accessibility error, aborting"))
(string-trim (buffer-string))))
(defun emacs-everywhere--app-info-linux ()
"Return information on the active window, on Linux."
(pcase emacs-everywhere--display-server
(`(x11 . ,_) (emacs-everywhere--app-info-linux-x11))
(`(wayland . KDE) (emacs-everywhere--app-info-linux-kde))
(_ (user-error "Unable to fetch app info with display server %S" emacs-everywhere--display-server))))
(defun emacs-everywhere--app-info-linux-x11 ()
"Return information on the current active window, on a Linux X11 sessions."
(let ((window-id (emacs-everywhere--call "xdotool" "getactivewindow")))
(let ((app-name
(car (split-string-and-unquote
(string-trim-left
(emacs-everywhere--call "xprop" "-id" window-id "WM_CLASS")
"[^ ]+ = \"[^\"]+\", "))))
(window-title
(car (split-string-and-unquote
(string-trim-left
(emacs-everywhere--call "xprop" "-id" window-id "_NET_WM_NAME")
"[^ ]+ = "))))
(window-geometry
(let ((info (mapcar (lambda (line)
(split-string line ":" nil "[ \t]+"))
(split-string
(emacs-everywhere--call "xwininfo" "-id" window-id) "\n"))))
(mapcar #'string-to-number
(list (cadr (assoc "Absolute upper-left X" info))
(cadr (assoc "Absolute upper-left Y" info))
(cadr (assoc "Relative upper-left X" info))
(cadr (assoc "Relative upper-left Y" info))
(cadr (assoc "Width" info))
(cadr (assoc "Height" info)))))))
(setq window-geometry
(list
(if (= (nth 0 window-geometry) (nth 2 window-geometry))
(nth 0 window-geometry)
(- (nth 0 window-geometry) (nth 2 window-geometry)))
(if (= (nth 1 window-geometry) (nth 3 window-geometry))
(nth 1 window-geometry)
(- (nth 1 window-geometry) (nth 3 window-geometry)))
(nth 4 window-geometry)
(nth 5 window-geometry)))
(make-emacs-everywhere-app
:id window-id
:class app-name
:title window-title
:geometry window-geometry))))
(defun emacs-everywhere--app-info-linux-kde ()
"Return information on the current active window, on a Linux KDE sessions."
(let ((window-id (emacs-everywhere--call "kdotool" "getactivewindow")))
(let ((app-name
(car (last (split-string (emacs-everywhere--call "kdotool" "getwindowclassname" window-id) "\\."))))
(window-title
(emacs-everywhere--call "kdotool" "getwindowname" window-id))
(window-geometry
(let ((geom (mapcar
(lambda (line) (split-string line "[:,x] ?"))
(split-string (string-trim-left
(emacs-everywhere--call "kdotool" "getwindowgeometry" window-id) "[^P]+")
"\n" nil " +"))))
(mapcar #'string-to-number
(list (cadr (assoc "Position" geom))
(caddr (assoc "Position" geom))
(cadr (assoc "Geometry" geom))
(caddr (assoc "Geometry" geom)))))))
(make-emacs-everywhere-app
:id window-id
:class app-name
:title window-title
:geometry window-geometry))))
(defvar emacs-everywhere--dir (file-name-directory load-file-name))
(defun emacs-everywhere--app-info-osx ()
"Return information on the active window, on osx."
(emacs-everywhere--ensure-oscascript-compiled)
(let ((default-directory emacs-everywhere--dir))
(let ((app-name (emacs-everywhere--call
"osascript" "app-name"))
(window-title (emacs-everywhere--call
"osascript" "window-title"))
(window-geometry (mapcar #'string-to-number
(split-string
(emacs-everywhere--call
"osascript" "window-geometry") ", "))))
(make-emacs-everywhere-app
:id app-name
:class app-name
:title window-title
:geometry window-geometry))))
(defun emacs-everywhere--ensure-oscascript-compiled (&optional force)
"Ensure that compiled oscascript files are present.
Will always compile when FORCE is non-nil."
(unless (and (file-exists-p "app-name")
(file-exists-p "window-geometry")
(file-exists-p "window-title")
(not force))
(let ((default-directory emacs-everywhere--dir)
(app-name
"tell application \"System Events\"
set frontAppName to name of first application process whose frontmost is true
end tell
return frontAppName")
(window-geometry
"tell application \"System Events\"
set frontWindow to front window of (first application process whose frontmost is true)
set windowPosition to (get position of frontWindow)
set windowSize to (get size of frontWindow)
end tell
return windowPosition & windowSize")
(window-title
"set windowTitle to \"\"
tell application \"System Events\"
set frontAppProcess to first application process whose frontmost is true
end tell
tell frontAppProcess
if count of windows > 0 then
set windowTitle to name of front window
end if
end tell
return windowTitle"))
(dolist (script `(("app-name" . ,app-name)
("window-geometry" . ,window-geometry)
("window-title" . ,window-title)))
(write-region (cdr script) nil (concat (car script) ".applescript"))
(shell-command (format "osacompile -r scpt:128 -t osas -o %s %s"
(car script) (concat (car script) ".applescript")))))))
(defun emacs-everywhere--app-info-windows ()
"Return information on the active window, on Windows."
(let* ((window-id (emacs-everywhere--call
"powershell"
"-NoProfile"
"-Command"
"& {Add-Type 'using System; using System.Runtime.InteropServices; public class Tricks { [DllImport(\"user32.dll\")] public static extern IntPtr GetForegroundWindow(); }'; [tricks]::GetForegroundWindow() }"))
(window-title (emacs-everywhere--call
"powershell"
"-NoProfile"
"-Command"
(format "& {Add-Type 'using System; using System.Runtime.InteropServices; public class Tricks { [DllImport(\"user32.dll\")] public static extern int GetWindowText(IntPtr hWnd, System.Text.StringBuilder text, int count); [DllImport(\"user32.dll\")] public static extern int GetWindowTextLength(IntPtr hWnd); }'; $length = ([tricks]::GetWindowTextLength(%s)); $sb = New-Object System.Text.StringBuilder $length; [tricks]::GetWindowText(%s, $sb, $length + 1) > $null; $sb.ToString() }" window-id window-id)))
(window-class (emacs-everywhere--call
"powershell"
"-NoProfile"
"-Command"
(format "(Get-Item (Get-Process | ? { $_.mainwindowhandle -eq %s }).Path).VersionInfo.ProductName" window-id)))
(window-geometry (split-string
(emacs-everywhere--call
"powershell"
"-NoProfile"
"-Command"
(format "& {Add-Type 'using System; using System.Runtime.InteropServices; public struct tagRECT { public int left; public int top; public int right; public int bottom; } public class Tricks { [DllImport(\"user32.dll\")] public static extern int GetWindowRect(IntPtr hWnd, out tagRECT lpRect); }'; $rect = New-Object -TypeName tagRECT; [tricks]::GetWindowRect(%s, [ref]$rect) > $null; $rect.left; $rect.top; $rect.right - $rect.left; $rect.bottom - $rect.top }" window-id)))))
(make-emacs-everywhere-app
:id window-id
:class window-class
:title window-title
:geometry window-geometry)))
;;; Secondary functionality
(defun emacs-everywhere-set-frame-name ()
"Set the frame name based on `emacs-everywhere-frame-name-format'."
(set-frame-name
(format emacs-everywhere-frame-name-format
(emacs-everywhere-app-class emacs-everywhere-current-app)
(truncate-string-to-width
(emacs-everywhere-app-title emacs-everywhere-current-app)
45 nil nil ""))))
(defun emacs-everywhere-remove-trailing-whitespace ()
"Move point to the end of the buffer, and remove all trailing whitespace."
(goto-char (max-char))
(delete-trailing-whitespace)
(delete-char (- (skip-chars-backward "\n"))))
(defun emacs-everywhere-set-frame-position ()
"Set the size and position of the emacs-everywhere frame."
(cl-destructuring-bind (x . y) (mouse-absolute-pixel-position)
(set-frame-position (selected-frame)
(- x 100)
(- y 50))))
(defun emacs-everywhere-insert-selection--windows ()
"Insert selection on MS-Windows by simulating C-c and C-v."
(let ((window-id (emacs-everywhere-app-id emacs-everywhere-current-app))
(emacs-window-id (emacs-everywhere--call
"powershell"
"-NoProfile"
"-Command"
"& {Add-Type 'using System; using System.Runtime.InteropServices; public class Tricks { [DllImport(\"user32.dll\")] public static extern IntPtr GetForegroundWindow(); }'; [tricks]::GetForegroundWindow() }")))
(apply #'call-process (car emacs-everywhere-window-focus-command)
nil nil nil
(mapcar (lambda (arg)
(replace-regexp-in-string "%w" window-id arg))
(cdr emacs-everywhere-window-focus-command)))
(apply #'call-process "powershell"
nil nil nil '("-NoProfile" "-Command" "& {(New-Object -ComObject wscript.shell).SendKeys('^c')}"))
(apply #'call-process (car emacs-everywhere-window-focus-command)
nil nil nil
(mapcar (lambda (arg)
(replace-regexp-in-string "%w" emacs-window-id arg))
(cdr emacs-everywhere-window-focus-command))))
(yank))
(defun emacs-everywhere-insert-selection ()
"Insert the last text selection into the buffer."
(pcase system-type
('darwin (progn
(call-process "osascript" nil nil nil
"-e" "tell application \"System Events\" to keystroke \"c\" using command down")
(sleep-for emacs-everywhere-clipboard-sleep-delay) ; lets clipboard info propagate
(yank)))
((or 'ms-dos 'windows-nt 'cygwin)
(emacs-everywhere-insert-selection--windows))
(_ (when-let ((selection (gui-get-selection 'PRIMARY 'UTF8_STRING)))
(gui-backend-set-selection 'PRIMARY "")
(insert selection))))
(when (and (eq major-mode 'org-mode)
(emacs-everywhere-markdown-p)
(executable-find "pandoc"))
(apply #'call-process-region
(point-min) (point-max) "pandoc"
nil nil nil
emacs-everywhere-pandoc-md-args)
(deactivate-mark) (goto-char (point-max)))
(cond ((bound-and-true-p evil-local-mode) (evil-insert-state))))
(defun emacs-everywhere-init-spell-check ()
"Run a spell check function on the buffer, using a relevant enabled mode."
(cond ((bound-and-true-p spell-fu-mode) (spell-fu-buffer))
((bound-and-true-p flyspell-mode) (flyspell-buffer))))
(defun emacs-everywhere-markdown-p ()
"Return t if the original window is recognised as markdown-flavoured."
(let ((title (emacs-everywhere-app-title emacs-everywhere-current-app))
(class (emacs-everywhere-app-class emacs-everywhere-current-app)))
(or (cl-some (lambda (pattern)
(string-match-p pattern title))
emacs-everywhere-markdown-windows)
(cl-some (lambda (pattern)
(string-match-p pattern class))
emacs-everywhere-markdown-apps))))
(defun emacs-everywhere-major-mode-org-or-markdown ()
"Use markdow-mode, when window is recognised as markdown-flavoured.
Otherwise use `org-mode'."
(if (emacs-everywhere-markdown-p)
(markdown-mode)
(org-mode)))
(defcustom emacs-everywhere-org-export-options
"#+property: header-args :exports both
#+options: toc:nil\n"
"A string inserted at the top of the Org buffer prior to export.
This is with the purpose of setting #+property and #+options parameters.
Should end in a newline to avoid interfering with the buffer content."
:type 'string
:group 'emacs-everywhere)
(defvar org-export-show-temporary-export-buffer)
(defun emacs-everywhere-convert-org-to-gfm ()
"When appropriate, convert org buffer to markdown."
(when (and (eq major-mode 'org-mode)
(emacs-everywhere-markdown-p))
(goto-char (point-min))
(insert emacs-everywhere-org-export-options)
(let (org-export-show-temporary-export-buffer)
(require 'ox-md)
(org-export-to-buffer (if (featurep 'ox-gfm) 'gfm 'md) (current-buffer)))))
(defun emacs-everywhere--required-executables ()
"Return a list of cons cells, each giving a required executable and its purpose."
(let* ((var-cmds
(list (cons "paste" emacs-everywhere-paste-command)
(cons "copy" emacs-everywhere-copy-command)
(cons "focus window" emacs-everywhere-window-focus-command)
(list "pandoc conversion" "pandoc")))
(de-cmds
(pcase emacs-everywhere--display-server
(`(x11 . ,_)
(list (list "app info" "xdotool")
(list "app info" "xprop")
(list "app info" "xwininfo")))
(`(wayland . KDE)
(list (list "app info" "kdotool")))))
(feat-cmds
(append var-cmds de-cmds))
executable-list)
(dolist (feat-cmd (delq nil feat-cmds))
(when (cdr feat-cmd)
(when (and (equal (cadr feat-cmd) "sh")
(equal (caddr feat-cmd) "-c"))
(setcdr feat-cmd (split-string (cadddr feat-cmd))))
(push (cons (cadr feat-cmd) (car feat-cmd))
executable-list)))
executable-list))
(defun emacs-everywhere-check-health ()
"Check whether emacs-everywhere has everything it needs."
(interactive)
(switch-to-buffer
(get-buffer-create "*Emacs Everywhere health check*"))
(read-only-mode 1)
(with-silent-modifications
(erase-buffer)
(let ((required-cmds
(emacs-everywhere--required-executables)))
(insert (propertize "Emacs Everywhere system health check\n" 'face 'outline-1)
"operating system: " (propertize (symbol-name system-type) 'face 'font-lock-type-face)
", display server: " (propertize (symbol-name (car emacs-everywhere--display-server)) 'face 'font-lock-type-face)
(and (cdr emacs-everywhere--display-server)
(concat "/" (propertize (symbol-name (cdr emacs-everywhere--display-server)) 'face 'font-lock-type-face)))
"\n")
(dolist (req-cmd required-cmds)
(if (not (cdr req-cmd))
(insert
(propertize (format "• %s (unavailible)\n" (cdr req-cmd)) 'face 'font-lock-comment-face))
(insert
(propertize (format "• %s " (cdr req-cmd))
'face `(:inherit outline-4 :height ,(face-attribute 'default :height)))
"requires "
(propertize (car req-cmd) 'face 'font-lock-constant-face)
(if (executable-find (car req-cmd))
(propertize " ✓ installed" 'face 'success)
(propertize " ✗ missing" 'face 'error))
"\n"))))))
(provide 'emacs-everywhere)
;;; emacs-everywhere.el ends here

@ -0,0 +1 @@
Subproject commit 394a52f95587b1d10d0c3bdca503d2cc876db35b

Some files were not shown because too many files have changed in this diff Show More