From e70e882e4f9bbead414bd8d713891fdd4a329dd8 Mon Sep 17 00:00:00 2001 From: Hendrik Langer Date: Sun, 3 May 2020 01:12:46 +0200 Subject: [PATCH] new site --- .gitmodules | 3 + config.toml | 123 ++++++++++++++++++++- content/_index.md | 3 + content/about.de.md | 37 +++++++ content/about.en.md | 37 +++++++ content/archives.md | 5 + content/post/digitale-souveränität.de.md | 27 +++++ content/post/digitale-souveränität.en.md | 1 + content/projects/_index.de.md | 8 ++ content/projects/_index.en.md | 9 ++ content/snippets/_index.de.md | 8 ++ content/snippets/_index.en.md | 9 ++ content/snippets/jitsi-meet.de.md | 34 ++++++ content/snippets/jitsi-meet.en.md | 1 + content/snippets/mumble.de.md | 34 ++++++ content/snippets/mumble.en.md | 1 + content/snippets/platformio.de.md | 1 + content/snippets/platformio.en.md | 87 +++++++++++++++ content/snippets/stock-footage.de.md | 1 + content/snippets/stock-footage.en.md | 57 ++++++++++ layouts/partials/allLanguages.html | 5 + layouts/partials/header.html | 42 +++++++ layouts/partials/i18nlist.html | 10 ++ layouts/partials/navLang.html | 12 ++ layouts/post/list.html | 18 +++ layouts/robots.txt | 5 + layouts/section/list.html | 18 +++ static/css/custom.css | 3 + static/css/style.css | 11 ++ static/favicon.ico | Bin 0 -> 2998 bytes static/robots.txt | 2 + themes/hugo.386 | 1 + 32 files changed, 610 insertions(+), 3 deletions(-) create mode 100644 content/_index.md create mode 100644 content/about.de.md create mode 100644 content/about.en.md create mode 100644 content/archives.md create mode 100644 content/post/digitale-souveränität.de.md create mode 120000 content/post/digitale-souveränität.en.md create mode 100644 content/projects/_index.de.md create mode 100644 content/projects/_index.en.md create mode 100644 content/snippets/_index.de.md create mode 100644 content/snippets/_index.en.md create mode 100644 content/snippets/jitsi-meet.de.md create mode 120000 content/snippets/jitsi-meet.en.md create mode 100644 content/snippets/mumble.de.md create mode 120000 content/snippets/mumble.en.md create mode 120000 content/snippets/platformio.de.md create mode 100644 content/snippets/platformio.en.md create mode 120000 content/snippets/stock-footage.de.md create mode 100644 content/snippets/stock-footage.en.md create mode 100644 layouts/partials/allLanguages.html create mode 100644 layouts/partials/header.html create mode 100644 layouts/partials/i18nlist.html create mode 100644 layouts/partials/navLang.html create mode 100644 layouts/post/list.html create mode 100644 layouts/robots.txt create mode 100644 layouts/section/list.html create mode 100644 static/css/custom.css create mode 100644 static/css/style.css create mode 100644 static/favicon.ico create mode 100644 static/robots.txt create mode 160000 themes/hugo.386 diff --git a/.gitmodules b/.gitmodules index e69de29..bbb3b49 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/hugo.386"] + path = themes/hugo.386 + url = https://gitlab.com/maxlefou/hugo.386 diff --git a/config.toml b/config.toml index e4b7418..7d308d3 100644 --- a/config.toml +++ b/config.toml @@ -1,3 +1,120 @@ -baseURL = "http://example.org/" -languageCode = "en-us" -title = "My New Hugo Site" +baseURL = "https://h3ndrik.de" +title = "h3ndrik.de" +languageCode = "de-DE" +DefaultContentLanguage = "de" # Change this to change the site's language +theme = "hugo.386" +preserveTaxonomyNames = true + +[params] + # The name to display as main title in the home page + mainpagetitle = "h3ndrik.de" + + # The subtitle to display under the title in the home page + mainpagesubtitle = "boldly going forward, 'cause we can't find reverse.." + + # The name to display as main title in the home page + mainpagedesc = "Hallo und Herzlich Willkommen auf h3ndrik.de" + + # The name to display in the copyright section in the footer + copyrightname = "hendrik" + + # The url to use as link in the copyright name in the footer. Leave empty to use none. + copyrighturl = "/about/" + + # Show the "built on Hugo" disclaimer + showhugo = false + + # Urls for social networks + #facebook = "https://facebook.com" + #twitter = "https://twitter.com" + #linkedin = "https://linkedin.com" + #github = "https://github.com" + #gitlab = "https://dev.xd0.de" + + # Enables or disables the loading animations. false activates them. Default is false. + loadfastload = false + + # Sets the speed for the page loading effect. Default is 1.0. + loadspeedfactor = 1.0 + + # Enables or disables the second flyby cursor. Default is false. + loadonepass = true + +# enableEmoji = true + + enableMissingTranslationPlaceholders = true + + enableRobotsTXT = true + + customCSS = ["css/custom.css"] + +[markup.goldmark.renderer] + unsafe= true + +[menu] + # This displays buttons in the navbar to access your contents + [[menu.main]] + identifier = "about" # An unique identifier for the button + name = "About" # A display name for the button + url = "/about/" # The path to the content. It can lead to a single page (like here) + weight = 90 # A number to order the buttons in the navbar + + [[menu.main]] + identifier = "posts" + name = "Blog" + url = "/post/" # The path can lead to a content folder too. + weight = 20 + +# [[menu.main]] +# identifier = "test" # An unique identifier for the button +# name = "Test" # A display name for the button +# url = "/test/" # The path to the content. It can lead to a single page (like here) +# parent = "about" + +[taxonomies] +category = "categories" +tag = "tags" + + +[privacy] + + [privacy.vimeo] + disabled = false + simple = true + + [privacy.twitter] + disabled = false + enableDNT = true + simple = true + + [privacy.instagram] + disabled = false + simple = true + + [privacy.youtube] + disabled = false + privacyEnhanced = true + +[services] + + [services.instagram] + disableInlineCSS = true + + [services.twitter] + disableInlineCSS = true + +[languages] + [languages.de] +# title = "h3ndrik.de" + languageName = "Deutsch" + weight = 10 + [language.de.params] + mainpagesubtitle = "boldly going forward, 'cause we can't find reverse.." + mainpagedesc = "Hallo und Herzlich Willkommen auf h3ndrik.de" + [languages.en] +# title = "h3ndrik.de" + languageName = "English" + weight = 20 + [language.en.params] + mainpagesubtitle = "boldly going forward, 'cause we can't find reverse.." + mainpagedesc = "Welcome" diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..220f4f6 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,3 @@ ++++ +author = "hendrik" ++++ diff --git a/content/about.de.md b/content/about.de.md new file mode 100644 index 0000000..b2bab6b --- /dev/null +++ b/content/about.de.md @@ -0,0 +1,37 @@ +--- +title: About +description: Über h3ndrik.de +date: 2020-04-27 +aliases: ["about-us","contact","impressum"] +author: hendrik +--- + +Diese Seite wurde erstellt mit: [Hugo](https://gohugo.io), einem "open source static site generator", verfügbar unter der [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) + +Theme: [Hugo.386](https://themes.gohugo.io/hugo.386/) basierend auf dem großartigen [BOOTSTRA.386](https://github.com/kristopolous/BOOTSTRA.386). + +# Über h3ndrik.de + +Sie befinden sich auf Hendriks privater Homepage. Hier dokumentiere ich meine eigenen Projekte, veröffentliche Tutorials und manchmal auch persönliches und Quatsch. + +Die Veröffentlichung der Inhalte erfolgt in der Hoffnung, dass sie von Nutzen sein werden, aber unter Ausschluss JEGLICHER GARANTIE oder GEWÄHRLEISTUNG, insbesondere auf Korrektheit, Verfügbarkeit oder Gebrauchstauglichkeit. + +Für Fragen/Anmerkungen oder falls etwas an dieser Website nicht stimmt: + +# Kontakt + +> Hendrik +> <[`info@h3ndrik.de`](mailto:info@h3ndrik.de)> + +# Datenschutz + +Der Webserver protokolliert automatisch einige personenbezogenen Daten der Besucher. Das geschieht damit ich mir eine Übersicht über die Nutzung machen kann, um Missbrauch vorzubeugen bzw aufklären zu können und damit ich weiß was los war, wenn etwas schief läuft. Der Log umfasst Zeitstempel, welche Seiten aufgerufen werden, Ihre IP-Adresse und User-Agent-String. +Diese Informationen sind nur von mir (Hendrik) einsehbar, werden für genau diese Zwecke verwendet und werden nicht weitergegeben. Das gilt allerdings nicht für illegale oder strafrechtlich relevante Daten, Spam, destruktive Tätigkeiten und Script-Kiddies. Ich behalte mir ausdrücklich vor solche Informationen weiterzugeben und öffentlich zu machen. + +Bitte konfigurieren Sie Ihren Browser so, dass er mit Cookies umgeht wie Sie das wünschen. Momentan nutzt diese Website so oder so keine Cookies. + +Ich bemühe mich auf dieser Website keine Dienste von Drittanbietern einzubinden, so dass keine persönlichen Daten an andere Netzwerke durchsickern. Sobald Sie einen externen Link benutzen, gilt das natürlich nicht mehr. + +Die DSGVO gibt Ihnen ein Recht auf Auskunft über die Verarbeitung und Speicherung Ihrer personenbezogenen Daten, die Herausgabe, sowie Berichtigung, Löschung, und jederzeit die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. + +Bitte schreiben Sie mir eine E-Mail, damit ich Ihnen dabei helfen kann. diff --git a/content/about.en.md b/content/about.en.md new file mode 100644 index 0000000..5bc196d --- /dev/null +++ b/content/about.en.md @@ -0,0 +1,37 @@ +--- +title: About +description: About h3ndrik.de +date: 2020-04-27 +aliases: ["about-us","contact"] +author: hendrik +--- + +This site is build with [Hugo](https://gohugo.io), an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) + +The theme is [Hugo.386](https://themes.gohugo.io/hugo.386/) based on the awesome [BOOTSTRA.386](https://github.com/kristopolous/BOOTSTRA.386). + +# About us + +This is Hendrik's private homepage. This is the place for some tutorials and instructions, to document some of my projects, and some personal stuff/nonsense. + +Any content here 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. + +In case there is something wrong: Please don't hesitate to contact me. Contact details are directly below. You may also use the email address for generic contact and questions. + +# Contact + +> Hendrik +> <[`info@h3ndrik.de`](mailto:info@h3ndrik.de)> + +# Privacy policy (h3ndrik.de) + +I (Hendrik) keep a webserver log with some details about your requests on this webserver. That helps to prevent abuse, gives me some usage statistics and i can debug things on the webserver in case something doesn't work. The log contains a timestamp, which pages you load and your IP address and user agent string. This information is not shared with third parties. +Exception: Criminal activity, illegal activities, spam, destructive acts and script kiddies are not covered by this. I reserve the right to make any information public in such cases. + +Please configure your browser to handle cookies as you like. Currently this site does not use cookies. + +I try not to use any third party services (on this site) that may leak your information to other parties. If you use an external link, you'll be on your own. + + The GDPR guarantees your right to information about your personal data, as well as your rights to rectification, erasure, and portability (e.g. for transferring data). Furthermore, you have a right to restriction and objection of processing your data. + +Feel free to write an email so I can help you with this. diff --git a/content/archives.md b/content/archives.md new file mode 100644 index 0000000..98a1ee9 --- /dev/null +++ b/content/archives.md @@ -0,0 +1,5 @@ +--- +date: 2019-05-28 +type: section +layout: "archives" +--- \ No newline at end of file diff --git a/content/post/digitale-souveränität.de.md b/content/post/digitale-souveränität.de.md new file mode 100644 index 0000000..43e0712 --- /dev/null +++ b/content/post/digitale-souveränität.de.md @@ -0,0 +1,27 @@ +--- +author: hendrik +title: Digitale Souveränität und Freie Software +date: 2020-04-27 +description: A brief description of Hugo Shortcodes +tags: ["blog", "privacy"] +draft: true +--- + +Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugo-s-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. + +--- + +## Motivation + +## Warum? + + + +## Die 5? Freiheiten + + +## Frei vs. kostenlos + +## Recht auf Reparieren + +## Beispiele diff --git a/content/post/digitale-souveränität.en.md b/content/post/digitale-souveränität.en.md new file mode 120000 index 0000000..fb32e22 --- /dev/null +++ b/content/post/digitale-souveränität.en.md @@ -0,0 +1 @@ +digitale-souveränität.de.md \ No newline at end of file diff --git a/content/projects/_index.de.md b/content/projects/_index.de.md new file mode 100644 index 0000000..d105c31 --- /dev/null +++ b/content/projects/_index.de.md @@ -0,0 +1,8 @@ +--- +title: Projekte +type: section +author: hendrik +menu: "main" +weight: 30 +translationKey: "projects" +--- diff --git a/content/projects/_index.en.md b/content/projects/_index.en.md new file mode 100644 index 0000000..91e5192 --- /dev/null +++ b/content/projects/_index.en.md @@ -0,0 +1,9 @@ +--- +title: Projects +type: section +author: hendrik +menu: "main" +weight: 30 +translationKey: "projects" +--- + diff --git a/content/snippets/_index.de.md b/content/snippets/_index.de.md new file mode 100644 index 0000000..2ea6714 --- /dev/null +++ b/content/snippets/_index.de.md @@ -0,0 +1,8 @@ +--- +title: Schnipsel +type: section +author: Hendrik +menu: "main" +weight: 40 +translationKey: "snippets" +--- diff --git a/content/snippets/_index.en.md b/content/snippets/_index.en.md new file mode 100644 index 0000000..66ae3ff --- /dev/null +++ b/content/snippets/_index.en.md @@ -0,0 +1,9 @@ +--- +title: Snippets +type: section +author: Hendrik +menu: "main" +weight: 40 +translationKey: "snippets" +--- + diff --git a/content/snippets/jitsi-meet.de.md b/content/snippets/jitsi-meet.de.md new file mode 100644 index 0000000..63bab79 --- /dev/null +++ b/content/snippets/jitsi-meet.de.md @@ -0,0 +1,34 @@ +--- +title: Jitsi +description: Jitsi-Meet Videokonferenzen +date: 2020-04-23 +tags: ["live","videoconference","chat","tutorial"] +categories: ["tools"] +author: hendrik +draft: true +--- + +## Install Client + +### Android + +Mumla is an unofficial client, forked by Quite in 2020 from Morlunk's unmaintained Plumble. +https://wiki.mumble.info/wiki/Mumla + +The Mumble iOS client is available on the App Store. +https://itunes.apple.com/us/app/mumble/id443472808?mt=8 + +### Linux + +apt-get install mumble + + +### Windows + +Download and run the latest MSI installer (mumble-1.x.x.msi) from the GitHub releases page +https://github.com/mumble-voip/mumble/releases + +### MacOS + +Precompiled Mac OS X universal binaries are available from the GitHub releases page. +https://github.com/mumble-voip/mumble/releases diff --git a/content/snippets/jitsi-meet.en.md b/content/snippets/jitsi-meet.en.md new file mode 120000 index 0000000..45789fc --- /dev/null +++ b/content/snippets/jitsi-meet.en.md @@ -0,0 +1 @@ +jitsi-meet.de.md \ No newline at end of file diff --git a/content/snippets/mumble.de.md b/content/snippets/mumble.de.md new file mode 100644 index 0000000..3555348 --- /dev/null +++ b/content/snippets/mumble.de.md @@ -0,0 +1,34 @@ +--- +title: Mumble +description: Mumble - Teamspeak Alternative +date: 2020-04-23 +tags: ["live","talk","audio","tutorial"] +categories: ["tools"] +author: hendrik +draft: true +--- + +## Install Client + +### Android + +Mumla is an unofficial client, forked by Quite in 2020 from Morlunk's unmaintained Plumble. +https://wiki.mumble.info/wiki/Mumla + +The Mumble iOS client is available on the App Store. +https://itunes.apple.com/us/app/mumble/id443472808?mt=8 + +### Linux + +apt-get install mumble + + +### Windows + +Download and run the latest MSI installer (mumble-1.x.x.msi) from the GitHub releases page +https://github.com/mumble-voip/mumble/releases + +### MacOS + +Precompiled Mac OS X universal binaries are available from the GitHub releases page. +https://github.com/mumble-voip/mumble/releases diff --git a/content/snippets/mumble.en.md b/content/snippets/mumble.en.md new file mode 120000 index 0000000..c57e687 --- /dev/null +++ b/content/snippets/mumble.en.md @@ -0,0 +1 @@ +mumble.de.md \ No newline at end of file diff --git a/content/snippets/platformio.de.md b/content/snippets/platformio.de.md new file mode 120000 index 0000000..2a69aee --- /dev/null +++ b/content/snippets/platformio.de.md @@ -0,0 +1 @@ +platformio.en.md \ No newline at end of file diff --git a/content/snippets/platformio.en.md b/content/snippets/platformio.en.md new file mode 100644 index 0000000..5bb3f83 --- /dev/null +++ b/content/snippets/platformio.en.md @@ -0,0 +1,87 @@ +--- +title: ESP32 PlatformIO +description: ESP32 project setup +date: 2020-04-23 +tags: ["esp32", "project"] +categories: ["tutorial"] +author: hendrik +draft: true +--- + +## Install PlatformIO + +``` +apt install platformio +platformio platform update +``` + +## Project setup + +Choose your development board from the list. You can see all supported boards with the command `platformio boards espressif32` + +Now create your new project: + +``` +cd ~/Projects/esp32/ +mkdir new_project +cd new_project +platformio project init --board esp-wrover-kit +``` + +configuration: + +platformio.ini: +``` +[env:esp-wrover-kit] +platform = espressif32 +board = esp-wrover-kit +framework = arduino +monitor_speed = 115200 +``` + +create the main: + +src/main.cpp: +``` +/** + * Blink + * + * Turns on an LED on for one second, + * then off for one second, repeatedly. + */ +#include "Arduino.h" + +#ifndef LED_BUILTIN +#define LED_BUILTIN 13 +#endif + +void setup() +{ + // initialize LED digital pin as an output. + pinMode(LED_BUILTIN, OUTPUT); +} + +void loop() +{ + // turn the LED on (HIGH is the voltage level) + digitalWrite(LED_BUILTIN, HIGH); + + // wait for a second + delay(1000); + + // turn the LED off by making the voltage LOW + digitalWrite(LED_BUILTIN, LOW); + + // wait for a second + delay(1000); +} +``` + +now compile and upload your program + +platformio run +platformio run --target upload +platformio device monitor + +## Git +git init diff --git a/content/snippets/stock-footage.de.md b/content/snippets/stock-footage.de.md new file mode 120000 index 0000000..99f7e81 --- /dev/null +++ b/content/snippets/stock-footage.de.md @@ -0,0 +1 @@ +stock-footage.en.md \ No newline at end of file diff --git a/content/snippets/stock-footage.en.md b/content/snippets/stock-footage.en.md new file mode 100644 index 0000000..a8a42f4 --- /dev/null +++ b/content/snippets/stock-footage.en.md @@ -0,0 +1,57 @@ +--- +title: Stock footage +description: Stock footage for personal projects +date: 2020-04-23 +tags: ["download", "pictures", "tutorial"] +categories: ["tools"] +author: hendrik +draft: true +--- + +Here is a list of free resources for pictures/music/videos/etc i use: + +# Pictures + +* https://pixabay.com/ +* https://www.pexels.com/ + +# Video + +* https://www.pexels.com/ + +# Music + +* https://www.jamendo.com/ +* https://soundcloud.com/ (and search -> tracks -> filter to listen to -> use commercially) +* https://audionautix.com +* https://freemusicarchive.org/ +* https://musopen.org/music/ + +# Sound + +* https://freesound.org/ + +# Game Assets + +* https://opengameart.org/ +* https://pixelprospector.com/ +* https://kenney.nl/ + +# Other collections + +* + +*** + +Please make sure respective licenses are compatible with your use-case. +Creative Commons doesn't automatically mean you can do what you want[^5], it can restrict your freedom to make derivatives or exclude use in commercial projects. + +There are "no strings attached" with works in public domain[^1] or licensed [CC0](https://creativecommons.org/publicdomain/zero/1.0/).\\ +Another good choice are permissive[^2] free software[^3] licenses like [MIT](https://en.wikipedia.org/wiki/MIT_License), [BSD-style](https://en.wikipedia.org/wiki/BSD_licenses), [Apache](https://en.wikipedia.org/wiki/Apache_License) +or copyleft[^4] licenses like the [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/). + +[^1]: https://en.wikipedia.org/wiki/Public_domain +[^2]: https://en.wikipedia.org/wiki/Permissive_software_license +[^3]: https://en.wikipedia.org/wiki/Free_software +[^4]: https://en.wikipedia.org/wiki/Copyleft +[^5]: https://en.wikipedia.org/wiki/Creative_Commons_license#Seven_regularly_used_licenses diff --git a/layouts/partials/allLanguages.html b/layouts/partials/allLanguages.html new file mode 100644 index 0000000..56b33b4 --- /dev/null +++ b/layouts/partials/allLanguages.html @@ -0,0 +1,5 @@ + diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..cce3fc2 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,42 @@ + + diff --git a/layouts/partials/i18nlist.html b/layouts/partials/i18nlist.html new file mode 100644 index 0000000..3c824fb --- /dev/null +++ b/layouts/partials/i18nlist.html @@ -0,0 +1,10 @@ +{{ if .IsTranslated }} +

{{ i18n "translations" }}

+ +{{ end }} diff --git a/layouts/partials/navLang.html b/layouts/partials/navLang.html new file mode 100644 index 0000000..a3ca76a --- /dev/null +++ b/layouts/partials/navLang.html @@ -0,0 +1,12 @@ +{{ if .IsTranslated }} + +{{ end }} diff --git a/layouts/post/list.html b/layouts/post/list.html new file mode 100644 index 0000000..d011a1b --- /dev/null +++ b/layouts/post/list.html @@ -0,0 +1,18 @@ +{{ define "main" }} + + +{{ end }} + diff --git a/layouts/robots.txt b/layouts/robots.txt new file mode 100644 index 0000000..d336aa6 --- /dev/null +++ b/layouts/robots.txt @@ -0,0 +1,5 @@ +User-agent: * + +{{range .Pages}} +Disallow: {{.RelPermalink}} +{{end}} diff --git a/layouts/section/list.html b/layouts/section/list.html new file mode 100644 index 0000000..f163109 --- /dev/null +++ b/layouts/section/list.html @@ -0,0 +1,18 @@ +{{ define "main" }} + + +{{ end }} + diff --git a/static/css/custom.css b/static/css/custom.css new file mode 100644 index 0000000..dac44cb --- /dev/null +++ b/static/css/custom.css @@ -0,0 +1,3 @@ +li { + list-style: inherit; +} diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..ad1edb2 --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,11 @@ +body { + visibility: hidden +} + +.navmargin { + margin-top: 2em; +} + +li { + list-style: inherit; +} diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..27276e7986951fe528c8fb8a511ba1ac5b0f7b01 GIT binary patch literal 2998 zcmZQzU}Ruo;Fn+k(h3Y3Yzz!)3=9nX0w6vILk24YgC9^#10)8-20#o_Hws2<2uuU| z{67#cLJEPoP_bt~IvhzHotXtycL7PF04jD2Nemm)7OL(ikY<4@aDs|`2GWdBF>Dkt zHG|y@a