diff --git a/.checkpoint-pending.txt b/.checkpoint-pending.txt index b4ea686..c36c8d2 100644 --- a/.checkpoint-pending.txt +++ b/.checkpoint-pending.txt @@ -1,2 +1,2 @@ S10 -Aufgabe 1 (DOCX-Heading-Farbe und -Bold) abgeschlossen. Farb-Audit zuerst: DesTEngS-Primaerfarbe ist 3C68AE, in 4 Dateien (agent-prompt.md, teilgebiete/01-lebenslauf.md, build/build-reference-docx.py Konstante HEADING_COLOR und Doc-Kommentar, templates/template.tex destengsblue-Definition) von 0B5394 auf 3C68AE korrigiert. changelog.md (append-only) und cv-debug.tex (generierter Output) bewusst ausgenommen. Diagnose der nicht-greifenden Heading-Farbe: Pandoc-3.x-Default-Reference enthaelt Linked Character Styles Heading1Char/2Char/3Char mit eigener color val=0F4761 themeColor=accent1 themeShade=BF (Aptos-Petrol). Char-Styles dominieren in Word ueber Para-Styles bei Run-Eigenschaften, deshalb gewann das Aptos-Theme. Pandoc 2.9 (Sandbox) hat diese Char-Styles nicht, daher konnte der Bug dort nicht reproduziert werden. Fix in build/build-reference-docx.py: HEADING_COLOR_STYLES um Heading1Char Heading2Char Heading3Char erweitert. Zusatzanforderung von Thomas: H1 und H2 fett. Neue Funktion set_heading_bold mit Konstante HEADING_BOLD_STYLES analog (Heading1+2 Para- und Char-Stil). H3 bleibt unveraendert. Docstring-Block B4 um beide Erklaerungen erweitert. Sandbox-syntaktischer Test der neuen Funktionen erfolgreich. Build und visuelle Bestaetigung durch Thomas: alle Headings im DOCX in DesTEngS-Blau 3C68AE, H1 und H2 fett, H3 normal. Aufgabe 2 Diff-Material vorbereitet: alte CV-Quelle Lebenslauf_Thomas_Langer_2025-03-21.docx aus archiv via pandoc nach markdown konvertiert und mit aktueller cv.md verglichen. Vier Output-Dateien in artefakte/01-lebenslauf/output: cv-old-plain.txt (DOCX normalisiert 305 Zeilen), cv-new-plain.txt (cv.md normalisiert 289 Zeilen), cv-diff-unified.txt (kompletter unified diff 551 Zeilen), cv-diff-report.md (sektionsweise Vergleichsbericht mit Mapping Berufstaetigkeit gleich Projekte als freiberuflicher Consultant). Sektion-Groessenvergleich zeigt erwartete Aenderungsmuster: Header kompakter, Zusammenfassung und Kenntnisse erweitert (KI-Fokus), Trainings stark gekuerzt, Veroeffentlichungen in Ausbildung integriert. Sinn-Check selbst macht Thomas in seinem Tempo, dann gemeinsames Review. +S10 abgeschlossen. Aufgabe 1 (DOCX-Heading-Farbe und H1+H2-Bold) komplett geloest: Farb-Audit 0B5394 zu 3C68AE in vier Dateien, Linked-Char-Style-Diagnose und Fix in build-reference-docx.py (HEADING_COLOR_STYLES um Heading1Char/2Char/3Char erweitert, neue set_heading_bold-Funktion). Aufgabe 2 (cv.md Sinn-Korrekturen) komplett geloest: 18 Sprach- und Stilkorrekturen plus Methodik-Umsortierung nach Projekt-Lifecycle, atomar via Python-aus-Disk umgesetzt. Aufgabe 3 (Buzzword-Erweiterung KI-Block) komplett geloest: KI-Sektion umstrukturiert nach Thomas-Layout mit Edge-AI-Stack-Buendel-Sektion am Ende inklusive Quantisierung, Modell-Formaten und Software-Stack. Aufgabe 4 (PDF-Layout) teilweise geloest mit Trade-off: H1 ohne Trennlinie, H2 schwarze 8.6 cm 1.25 pt Trennlinie analog DOCX, H3 in DesTEngS-Blau und nicht fett, erste Seite ohne graue Header-Trennlinie und Foto plus H1 nahe Top-Margin via vspace-1.16cm. Body-Spacings bleiben etwas groesser als Header (parskip-Glue-Eliminierung kostet 2-3 zusaetzliche Seiten, deshalb ruecknahme). Pagebreaks bei Trainings/Kenntnisse/Berufliche-Stationen koennen unschoen sein. Sandbox-Build-Setup mit pdflatex und lmodern in /tmp/sbxbuild eingerichtet, Page-Layout-Tendenzen 1zu1 vergleichbar zu Thomas Setup. Lessons-learned Block in agent-prompt.md und teilgebiete/01-lebenslauf.md festgehalten: Sandbox-Build vor Iterationen, Layout-Eingriffe einzeln testen, parskip-Glue ist essentiell, Pandoc 3.x emittiert minipage[t] mit parboxrestore in Tabellen-Cells, titlesec vertraegt kein par im after-code, nopagebreak in longtable ist als noalign ueberschrieben. Strategische Entscheidung mit Thomas: PDF-Pipeline wird in S12 mit professioneller CV-LaTeX-Klasse moderncv oder awesome-cv oder typst neu aufgesetzt. cv.md bleibt single source of truth, Daten-Extraktion via Custom-Pandoc-Filter oder Build-Skript-Erweiterung. S11 davor nur fuer Lebenslauf-Inhalt: Methodik-Sektion ergaenzen und inhaltliche Kleinigkeiten. DOCX-Stand ist gut und einsatzbereit. agent-prompt.md und teilgebiete/01-lebenslauf.md mit S10-Doku und S11-S12-Plan fortgeschrieben. diff --git a/agent-prompt.md b/agent-prompt.md index d7f8ae1..c169365 100644 --- a/agent-prompt.md +++ b/agent-prompt.md @@ -85,43 +85,80 @@ Setze zwischen sinnvollen Zwischenständen Checkpoints (z.B. nach "Marketing.md ## Aktueller Stand / Nächste Aufgabe -**Letzte Session:** S09 (2026-04-27) +**Letzte Session:** S10 (2026-04-28) -**Was wurde in S09 gemacht:** +**Was wurde in S10 gemacht:** -S09 — **Iteration „Links"** in cv.md: alle nackten URLs auf explizite Markdown-Link-Syntax migriert, damit Pandoc echte Hyperlink-Elemente in DOCX (``) und PDF (`\href`) emittiert. E-Mail als Pandoc-Autolink-Form ``, Telefon als `[+49 ...](tel:+49...)`-Link, Web-Links als `[[text]](url)` mit sichtbaren äußeren eckigen Klammern. Display-Texte „Link zum Profil" für LinkedIn/Freelance.de, „destengs.de" für Website (`.com` → `.de`), „Dissertation" für Promotion, „Link zum Zertifikat (funktioniert nur im Browser)" für TÜV. TÜV-Link diagnostiziert: certif-id.com hinter Cloudflare-Bot-Schutz, Word-urlmon-Pre-Flight-Anfrage scheitert mit 403, Direkt-Klick aus Word funktioniert nicht trotz funktionierender URL im Browser. Optionen A (destengs.de-Redirect), B (LinkedIn-Safety-Redirect), C (kein Link) abgewogen, D gewählt: direkter Link mit erklärendem Display-Text. Detaillierte Doku siehe `teilgebiete/01-lebenslauf.md` Block „Iteration Links (S09)". +S10 — **Aufgabe 1 (DOCX-Heading-Farbe und H1+H2-Bold).** -S09 — **Iteration C: Foto-Einbindung via Grid Table.** +- Farb-Audit: DesTEngS-Primärfarbe ist `#3C68AE`, nicht `#0B5394`. In vier Dateien korrigiert (`agent-prompt.md`, `teilgebiete/01-lebenslauf.md`, `build/build-reference-docx.py`, `templates/template.tex`). `changelog.md` (append-only) und `cv-debug.tex` (Build-Output) ausgenommen. +- Diagnose der nicht-greifenden Heading-Farbe im DOCX: Pandoc-3.x-Default-Reference enthält Linked Character Styles `Heading1Char`/`2Char`/`3Char` mit eigener `` (Aptos-Petrol). Char-Styles haben in Word Vorrang vor Para-Styles bei Run-Eigenschaften (Schrift, Farbe). Pandoc 2.9 (Sandbox) hat diese Char-Styles nicht — daher war das Problem in der Sandbox nicht reproduzierbar. +- Fix in `build/build-reference-docx.py`: `HEADING_COLOR_STYLES`-Tuple um `Heading1Char`/`2Char`/`3Char` erweitert. Zusatzanforderung Thomas: H1+H2 fett. Neue Funktion `set_heading_bold` mit Konstante `HEADING_BOLD_STYLES` (Heading1+2 Para- und Char-Stil). H3 bleibt unverändert. +- Visuelle Bestätigung im DOCX: alle Headings in `#3C68AE`, H1+H2 fett, H3 normal. -- Header-Layout als 2-Spalten-Grid-Table in cv.md (Name+Kontaktdaten links, Foto rechts), Spalten-Verhältnis 65:35 (LEFT_W=112, RIGHT_W=60 Striche). -- Pandoc 3.x ist beim Pipe-Alignment in Grid Tables strikt (Pandoc 2.9 ist toleranter und damit irreführend für Sandbox-Tests). Grid Table programmatisch in Python aufbauen mit `ljust(LEFT_W)` und Pipe-Position-Eindeutigkeitscheck. -- DOCX-Header-Spacing per neuer 4. Modifikation in `build/post-process-docx.py` (`process_header_table`): H1-spacing-before = 0, Foto-Paragraph-spacing-before = 5 pt + jc=right. -- Foto-Größe 4,06 × 4,06 cm, beide Dimensionen explizit im Markdown — verhindert Pandoc-Default `keepaspectratio,height=\textheight`, der die Image-Layout-Box auf 24 cm Höhe streckt und das Tabellen-Layout zerschießt. -- PDF-Layout via Pandoc-Lua-Filter `build/header-image-wrap.lua`: wrappt das Header-Foto im LaTeX-Output mit `\hfill\raisebox{-\height}[0pt][0pt]{...}`. `\hfill` schiebt rechtsbündig in der `\raggedright`-p-Spalte, `\raisebox` setzt Bild-Top auf Cell-Top und reportet null Höhe an die Tabellen-Zeile. Filter prüft `FORMAT="latex"` und Image-Pfad enthält „foto"; DOCX bleibt unberührt. -- Lua-Filter-Erste-Version (Image durch RawInline ersetzt) hat Pandocs Image-Resource-Resolution gebrochen → `File 'foto.jpg' not found`. Fix: Filter gibt Lua-Liste zurück, in der das Original-`img`-Element zwischen RawInline-Wrappern erhalten bleibt. -- Template-Hotfixes für PDF: `\renewcommand{\nolinkurl}[1]{#1}` (verhindert `\@xverbatim`-Bruch in `longtable`-Minipage durch URL-Display-Text-Verbatim), `\titlespacing*{\section}{0pt}{0pt}{0.5em}` (H1-Top-Alignment). -- `build/build.ps1`: `--lua-filter=$luaFilter` zu PDF- und DOCX-Pandoc-Calls hinzugefügt; `Read-Host`-Wait-on-Error entfernt (blockiert AI-Agents/CI), durch `Start-Sleep -Seconds 3` am Ende bei Fehler ersetzt. +S10 — **Aufgabe 2 (cv.md Sinn-Korrekturen).** -**Vier weitere Edit-Tool-Truncation-Vorfälle in S09** (cv.md, template.tex zweimal, build.ps1). Lehre verschärft: Edit-Tool für jede nicht-triviale Modifikation auf NTFS-Mount-Dateien meiden, generell Python-aus-git-HEAD- oder Python-aus-Disk-Pattern bevorzugen. +- Diff alter CV (`archiv/Lebenslauf_Thomas_Langer_2025-03-21.docx`) vs. aktueller `cv.md` vorbereitet: `cv-old-plain.txt`, `cv-new-plain.txt`, `cv-diff-unified.txt`, `cv-diff-report.md` in `output/`. +- 18 Sprach-/Stilkorrekturen umgesetzt (atomar via Python-aus-Disk): + - Thomas-Funde: „Digitales"→„digitales Dämpfungsglied", „Leiterplattenherstellern"→„Leiterplattenhersteller", Komma-Konsistenz Toshiba-Spezifikation, „Detaillierte Analysen elektrischer IC-Gehäuse"→„Detaillierte elektrische Analysen von IC-Gehäusen", „Dotierungsprofile und dessen Implementierung"→„… und Implementierung". + - Agent-Funde: „inclusive"→„inklusive", „Faseroptische"→„faseroptische", „10 KHz"→„10 kHz", PyAutoGui→PyAutoGUI, Halbgeviertstrich + Komposita-Fix bei Transimpedanzverstärker-GaAs-MMICs, „2.5 GHz"→„2,5 GHz", „Evaluierungsboard Redesigns"→„-Redesigns", Komma vor „abgeschlossen 2001", Mixed-Mode-S-Parameter mit Bindestrich, Realtime-Oszilloskopen, Objektorientierte/ereignisorientierte ohne Bindestrich. + - Methodik-Liste umsortiert (Projekt-Lifecycle): Konzepterstellung → Machbarkeitsstudien → Technologie-Evaluierung und -Auswahl → Spezifikationserstellung → Technische Dokumentation → Systematische Fehleranalyse → Projektmanagement. -**Nächste Aufgabe (S10) in dieser Reihenfolge (von Thomas vorgegeben):** +S10 — **Aufgabe 3 (Buzzword-Erweiterung KI-Block).** -1. **DOCX: Blau ist nicht DesTEngS-Blau.** Heading-Farben prüfen — Soll: `#3C68AE`. `build/build-reference-docx.py` Funktion `set_heading_colors` setzt zwar ``, aber Word rendert ggf. trotzdem den Theme-Aptos-Blau, weil das Heading-Style einen `themeColor`-Verweis behält oder weil das Theme dominiert. Prüfen, ob das `themeColor`-Attribut wirklich entfernt ist und ob die Farbe direkt am Run statt am Stil gesetzt werden muss. -2. **Doublecheck der neu generierten Texte in cv.md.** Mindestens „elektrischer Gehäuse" ist sinnverkehrt (vermutlich aus V9/V10-KI-Iterationen). cv.md komplett auf Sinn- und Sprachfehler durchgehen, vermutlich Konkordanz-/Stil-Fehler an mehreren Stellen. -3. **Buzzword-Kompetenzen-Brainstorm.** Kenntnisse-Abschnitt erweitern. Mindestens „Umgang mit quantisierten LLMs" ergänzen. Weitere KI-Begriffe für Agentur-Keyword-Matching identifizieren (Quantization, GGUF, GPTQ, AWQ, Inference-Optimierung, vLLM, llama.cpp, Ollama-Deployment etc.). -4. **PDF: Abstände H1 / H2 „Kontaktdaten" / Kontaktdaten-Bullet-Liste stimmen nicht** (Folge der C4c-Spacing-Änderung). Plus: hellgraue Trennlinien (rulegray = `#BFBFBF`) sind inakzeptabel — Farbe oder Linienführung überdenken (Trennlinien stehen nach H1 und H2 im titlesec-Format-Block). +- KI-Sektion umstrukturiert nach Thomas-Layout: Service-Begriffe (Potenzialanalyse, Schulung, Implementierung, Prompt Engineering, Multimodale KI, DSGVO) → KI Software (Office/Marketing-Tools) → GenAI/LLMs mit Sub-Bullet MoE/Reasoning/Function-Calling → Agentic AI mit Sub-Bullet MCP → NLP → RAG mit Sub-Bullet Chunk-Strategien → „Edge AI / On-Premise KI-Infrastruktur" als gebündeltes Stack-Kapitel am Ende (Hardware NVIDIA Blackwell + CUDA → Quantisierung FP8/MXFP4 → Modell-Formate GGUF/Safetensors → Software-Stack Ollama/Hugging Face Transformers/PyTorch/llama.cpp/Open WebUI). + +S10 — **Aufgabe 4 (PDF-Layout) — TEILWEISE GELÖST mit Trade-off, Final-Lösung in S12 mit professioneller CV-LaTeX-Klasse.** + +- H1: keine Trennlinie mehr (analog DOCX). +- H2: schwarze Trennlinie 8,6 cm × 1,25 pt (1:1 wie DOCX-H2-Trennlinie). +- H3: in DesTEngS-Blau, nicht fett (analog DOCX). +- Erste Seite: graue Header-Trennlinie weg (`\renewcommand{\headrule}{}` in `firstpage` plus `\headrulewidth=0pt`); `\vspace*{-1.16cm}` direkt nach `\thispagestyle{firstpage}` rückt H1+Foto an die Top-Margin. +- Body-Spacings (H2↔Linie und Linie↔Bullets) bleiben etwas größer als im Header. Versuch der Angleichung durch `parskip`-Glue-Eliminierung + zweifache `parskip`-Kompensation im H2-after-code wurde nach Sandbox-Diagnose **rückgebaut** — er produzierte 2–3 zusätzliche PDF-Seiten. parskip-Glue ist essentiell für LaTeX-Pagebreak-Flexibilität. Final-Lösung der Body-Header-Konsistenz kommt mit S12 (CV-LaTeX-Klasse). +- Trainings/Kenntnisse/„Berufliche Stationen vor der Selbständigkeit": longtable-Pagebreak-Logik macht im aktuellen Setup gelegentlich unschöne Trennungen. Auch dieses Problem wird mit der CV-LaTeX-Klasse in S12 strukturell gelöst. + +**Lessons-learned aus S10 (wichtig für Folge-Sessions):** + +- **Sandbox-Build als Pflicht für Layout-Iterationen.** Iterations-Loop über Thomas ist nur sinnvoll, wenn jede Variante vorher selbst getestet wurde. Sandbox-Setup mit `pdflatex` + `lmodern` (statt `lualatex` + IBM Plex Sans) ist eingerichtet unter `/tmp/sbxbuild` (in Linux-Sandbox); Page-Counts und Pagebreak-Verhalten lassen sich dort gut beurteilen, exakte Schriftbilder weichen ab. +- **Layout-Eingriffe einzeln testen.** Mehrere Mechanismen (parskip-Manipulation + needspace + penalty + bodyonlyvspace) kombiniert haben Diagnose blockiert. Saubere Sandbox-Isolierung jedes Mechanismus hat den Schuldigen schnell gefunden (parskip-Glue). +- **parskip-Glue ist essentiell.** `\setlength{\parskip}{0.5em plus 0.2em minus 0.1em}` (Glue) gibt LaTeX Layout-Flexibilität. Eliminierung des Glues kostet 2+ Seiten und ist ungeeignet. +- **Pandoc 3.x emittiert `minipage[t]` für Tabellen-Cells**, in denen `\@parboxrestore` `parskip` auf 0pt setzt. Daher unterschiedliche Spacings Body vs. Header — strukturell schwer mit Custom-titlesec-Tricks anzugleichen. +- **`titlesec` verträgt kein `\par` im after-code** (`! Paragraph ended before \ttl@format@iii was complete.`). Direktes `\penalty`-TeX-Primitive ist sicherer. +- **`\nopagebreak` ist in longtable-Kontext** auf `\noalign{...}`-Form überschrieben und bricht im after-code mit `! Misplaced \noalign.`. Direktes `\penalty 7500` ist longtable-sicher. + +**Aktueller PDF-Stand am Schluss von S10:** + +Funktional, aber nicht typografisch perfekt: +- H1 + Foto Seite 1 oben ✓ +- Trennlinien-Stil schwarz analog DOCX ✓ +- H3 blau ✓ +- Body-Spacings etwas größer als Header (akzeptierter Trade-off) +- Pagebreaks bei Trainings/Kenntnisse/„Berufliche Stationen" können unschön sein +- Page-Count: ca. 7 Seiten (Sandbox-Schätzung 8, Thomas-Layout typischerweise eine niedriger) + +**DOCX-Stand:** gut und einsatzbereit. Kann sofort an Recruiter/Agenturen versendet werden, falls Thomas das wünscht. Die DOCX-Pipeline wird in S12 nicht angefasst. + +**Nächste Aufgaben:** + +**S11 — nur Lebenslauf-Inhalt:** + +1. **Methodik-Sektion ergänzen.** Aktuelle 7 Einträge (Konzepterstellung, Machbarkeitsstudien, Technologie-Evaluierung und -Auswahl, Spezifikationserstellung, Technische Dokumentation, Systematische Fehleranalyse, Projektmanagement) auf weitere relevante Methodik-Begriffe ausbauen. +2. **Inhaltliche Kleinigkeiten verbessern.** Thomas hat konkrete Detail-Verbesserungen in `cv.md` im Sinn, die in S11 umgesetzt werden. + +**S12 — PDF-Pipeline-Refactoring mit professioneller CV-LaTeX-Klasse:** + +1. **Tool-Recherche:** `moderncv` vs. `awesome-cv` vs. typst (oder andere). Vergleich nach Optik, Aufwand, MikTeX-Integration, DesTEngS-CI-Anpassbarkeit (`#3C68AE`, IBM Plex Sans). +2. **`cv.md` bleibt single source of truth.** +3. **Daten-Extraktion aus `cv.md`** für die CV-Klasse-Features (`\cventry`/`\cvevent`/etc.): + - Custom Pandoc-Filter (Lua oder Python) ODER + - Erweiterung von `build.ps1` mit Python-Pre-Processor, der `cv.md` → `cv.tex` transformiert. +4. **Implementierung, Sandbox-Test, visuelle Verifikation durch Thomas.** **Hinweise für die nächste Session:** -- **Pandoc 3.x ist beim Grid-Table-Pipe-Alignment strikt (S09-Lehre).** Grid Tables programmatisch bauen mit `ljust()`-Padding und Pipe-Position-Verifikation, nicht von Hand. Sandbox-Pandoc 2.9 ist toleranter und kann beim Testen den Eindruck erwecken, dass etwas funktioniert, was bei Thomas (Pandoc 3.x) nicht funktioniert. -- **Pandoc 3.x emittiert in p-Spalten mit nur einem Image-Element keine `\begin{minipage}`-Wrapper (S09-Lehre).** Das Image landet direkt in der `p{calc...}`-Spalte und unterliegt der `\parbox[t]`-Baseline-Logik (Image-Bottom = Baseline = Cell-Top, Image ragt nach oben heraus). Lösung: Lua-Filter mit `\raisebox{-\height}[0pt][0pt]{...}`. -- **Pandoc emittiert für href mit URL-Display-Text `\nolinkurl{}` (Verbatim-Mode, S09-Lehre).** In `longtable`-Minipage bricht das mit `! Paragraph ended before \@xverbatim was complete.` ab. Fix mit `\renewcommand{\nolinkurl}[1]{#1}` ist drin. -- **Pandoc-3.x-`keepaspectratio,height=\textheight`-Default ist tückisch (S09-Lehre).** Layout-Box wird auf textheight gestreckt selbst wenn das Bild visuell klein ist — beide Dimensionen explizit setzen, wenn das Bild in einer Tabelle ist. -- **Lua-Filter müssen das `img`-Element im AST belassen, sonst kein Resource-Path-Resolution (S09-Lehre).** Lua-Liste-Return mit `{RawInline, img, RawInline}` statt einzelnes RawInline mit gebackenem Pfad. -- **Edit-Tool-Truncation auf NTFS-Mount-Dateien ist nach S07/S08/S09 ein systematisches Problem** — durchgehend Python-aus-git-HEAD- oder Python-aus-Disk-Pattern verwenden (atomar via `os.replace`). Sandbox kann zudem stale-reads liefern (z.B. DOCX als „not a zip file"), bei Verdacht git-Version verifizieren oder Build neu erzeugen. -- **`build.ps1` ist jetzt nicht-blockierend (S09-Lehre).** AI-Agents und CI-Systeme können das Skript aufrufen ohne Read-Host-Hänger. Bei Fehler 3 s Pause am Ende plus 3 s pro fehlgeschlagenem Schritt. -- **Sandbox-Index-Lock-Issue:** Sandbox kann nichts an `.git/` schreiben (NTFS-Permission-Issue), Index-Lock-Reste muss Thomas auf PowerShell beseitigen. Bei dauerhaftem Lock-File-Vorhandensein zeigt `git status` eine Warning, aber lesende git-Operations (show, log) funktionieren weiter. -- **DOCX-Pipeline ist 3-stufig mit vier Post-Processing-Modifikationen:** (1) `build/build-reference-docx.py` baut die `reference.docx` (manuell aufrufen), (2) `build/build.ps1` baut PDF und DOCX, (3) `build/post-process-docx.py` macht: 3-3-Listen-Bullet-Regel, H2-Trennlinien, Bullet-Einzüge in `numbering.xml`, Header-Tabellen-H1-Spacing-und-Foto-Spacing. -- **Kein Hyphenation-Feintuning (Iteration D) in S09.** Steht in S10-Liste hinter den vier Korrektur-Punkten. +- **Sandbox-Build-Setup** unter `/tmp/sbxbuild`: pdflatex statt lualatex, lmodern statt IBM Plex Sans. Pandoc 2.9 vs. 3.x bei Thomas — strukturelle Differenzen bei Tabellen-Cells und Image-Wrappern bekannt, aber Page-Layout-Tendenzen 1:1 vergleichbar. +- **Live-Template-Stand** (clean S10) ist als Fallback im Git committet. Endgültige typografische Qualität kommt mit S12 (CV-LaTeX-Klasse). +- **DOCX-Pipeline ist 3-stufig** mit vier Post-Processing-Modifikationen: (1) `build/build-reference-docx.py` baut die `reference.docx` (manuell aufrufen), (2) `build/build.ps1` baut PDF und DOCX, (3) `build/post-process-docx.py` macht: 3-3-Listen-Bullet-Regel, H2-Trennlinien, Bullet-Einzüge in `numbering.xml`, Header-Tabellen-H1-Spacing-und-Foto-Spacing. +- **Edit-Tool-Truncation** auf NTFS-Mount-Dateien ist nach S07/S08/S09/S10 ein systematisches Problem — durchgehend Python-aus-git-HEAD- oder Python-aus-Disk-Pattern verwenden (atomar via `os.replace`). -**Offene Punkte (unverändert seit S04):** Zuschnitt und Festpreise der KI-Produkte (marketing.md Abschnitt 2), KMU-Direkthonorarsatz festlegen (marketing.md Abschnitt 2), Vergütungsmodell-Wahl bei erstem konkreten Fall (Notiz in marketing.md Abschnitt 2). +**Offene Punkte (unverändert seit S04):** Zuschnitt und Festpreise der KI-Produkte (`marketing.md` Abschnitt 2), KMU-Direkthonorarsatz festlegen (`marketing.md` Abschnitt 2), Vergütungsmodell-Wahl bei erstem konkreten Fall (Notiz in `marketing.md` Abschnitt 2). diff --git a/artefakte/01-lebenslauf/output/Lebenslauf_Alt_Abschnitte.md b/artefakte/01-lebenslauf/output/Lebenslauf_Alt_Abschnitte.md new file mode 100644 index 0000000..7964df0 --- /dev/null +++ b/artefakte/01-lebenslauf/output/Lebenslauf_Alt_Abschnitte.md @@ -0,0 +1,234 @@ +## Zusammenfassung + +• Consultant mit hoher Fachkompetenz und 30 Jahren Ingenieurerfahrung aus den Bereichen Industrie-Elektronik, Automotive, Halbleiter, Mobilkommunikation, Wireless, Unterhaltungselektronik, Faseroptik und Forschung +• Gründung des Ingenieurbüros DesTEngS Dr.-Ing. Thomas Langer in 2011 +• Fachkenntnisse in Requirements Engineering, Software Design, Hardware Design, System Integration, Test und Test Automatisierung +• War erfolgreich tätig in international vertretenen Großkonzernen, Startups und Forschungsinstituten +• Hervorragende Kommunikations- und Präsentationsfähigkeiten +• Flexibler Arbeitsstil; war Technischer Leiter, Gruppenleiter, Team Mitglied und autonomer Experte + +## Berufstätigkeit + +Seit Juli 2011 - Inhaber von DesTEngS Dr.-Ing. Thomas Langer, nahe München: +• Design und Test Ingenieurdienstleistungen für die Elektronik Industrie +o Requirements Engineering und Erstellung von Spezifikationen +o Software Design +o Hardware Verifikation: Daten-Netzwerke, High-Speed Digital, Signalintegrität, Hochfrequenz-technik, Elektromagnetische Verträglichkeit und Elektromagnetische Feldsimulationen +o System Integration +o Test und Test Automatisierung von Software, Hardware und Subsystemen + +Nov. 2020 - Mai 2024, seit Aug. 2024 Consultant bei ASMPT, System Integration Abteilung R&D 38, München: +• Validierung von Ethernet Protokollen und Middlewares für ASMPTs neuen Gigabit Ethernet Feldbus: Bereitstellung der Entscheidungsgrundlage für die Auswahl der besten Lösung +o UDP, TCP inclusive Slow Start und Nagle-Algorithmus, IEEE 1722 (AVTP frames), Precision Time Protocol (PTP, gPTP), DoIP +o Scalable service-Oriented MiddlewarE over IP (SOME/IP), Object Management Group (OMG) Data Distribution Service (DDS) +• Erstellung von Testumgebungen und Werkzeugen für Tests und Test-Automatisierung +o Entwicklung von Testprozeduren und Key Performance Indicators (KPIs) zur Bestimmung von ASMPTs Gigabit Ethernet und CAN-Bus Netzwerkverkehr in Bestückungsmaschinen +o Erstellung von Man-in-the-Middle Instrumenten für Tests mit Fehler-Einstreuung +o Konfiguration der Embedded Linux Remote Control Units +• Mitarbeit bei der Entwicklung einer ASMPT-eigenen Feldbus Domain-Specific Language (DSL) +• Entwicklung von C++, Python und CAPL Programmen +o Um die Weiterverwendung existierender CAN-Bus Analysewerkzeuge mit ASMPTs Gigabit Ethernet Feldbus zu ermöglichen +o Zur Erzeugung and Analyse von Ethernet Testnachrichten: Raw Ethernet Frames im OSI Layer 2, UDP, TCP, SOME/IP und ASMPT-spezifisches Format +o Zur Bestimmung von Ethernet Datenraten, Frame Übertragungsverzögerungen und Reserven +o Zur Automatisierung der Erstellung von AUTOSAR XML (ARXML) Modellbeschreibungs-Dateien aus ASMPTs Gigabit Ethernet Feldbus DSL-Dateien; die ARXML-Dateien werden in Vector CANalyzer zur Dekodierung von ASMPT-spezifischen Ethernet-Nachrichten verwendet +o Zur Konvertierung von Wireshark Trace-Dateien in ein mit Vector CANalyzer nutzbares Format mit Python PyShark +o Zur Test-Automatisierung mit Python PyAutoGUI +• Evaluierung von Vector Informatik Ethernet Analysegeräten +o Ethernet-Interface Hardware VN5640 und VN5650, CANalyzer Software mit TCP/IP API, CAPL Programmen and AUTOSAR ARXML +o Optimierung des Aufbaus für Datenaufzeichnung bis zur vollen Gigabit Ethernet Datenrate +o Entdeckung sporadischer Zeitabweichungen der Ethernet-Interface Hardware, Idee und Aufbau einer hochpräzisen Zeit-Referenz mit einem preiswerten GPS-Modul, Feststellung einer signifikanten Spec-Verletzung der Vector Hardware Zeitbasis +• Evaluierung GL Communications PacketExpert Gigabit Ethernet Tester + +Aug. 2018 - Juli 2020 Consultant bei Magna Electronics Europe, München: +• Elektromagnetische Feldsimulationen mit CST für den GMSL Pfad eines Kameramoduls um die Signalintegrität zu verifizieren +• LIDAR Compute Module +o Bring-Up Unterstützung, Labortests, Fehleranalyse und Board Reparaturen +o Unterstützung der Design Validierung mit Schwerpunkt EMV Tests +o Bestimmung aller Hardware Datenquellen für eine Überwachung mit SoC Embedded Linux +o Erstellung von Requirements für eine Diagnose Test Software +• Function Owner xDiagnostics +o Konzepterstellung der erweiterten Diagnose Test Software “xDiagnostics” für das LIDAR System mit XCP on Ethernet zur Überwachung und Steuerung von bis zu 82 internen Signalen (Zustände, Zähler und Bitfehler von Highspeed Links, Spannungen, Temperaturen und mehr) +o Verwaltung von PTC Integrity Features, Requirements, Tasks, Reviews and Defects +o Überwachung der xDiagnostics Implementierung in der AUTOSAR LIDAR Compute Module SW und in der Vector CANoe-basierten Tester SW, CANoe GUI Design, CAPL Code Erstellung +o xDiagnostics ermöglichte eine Design-Validierung in einem frühen Entwicklungsstadium + +Nov. 2014 - Juli 2018 Consultant bei Infineon, Abteilung DES TCP PCB, Großraum München: +• Signal Integrity und Power Integrity Simulationen von IC Packages und PCBs +o Line Impedance und Attenuation, Crosstalk, Eye Diagram und Skew +o Analysen für diverse Schnittstellen inklusive LVDS, DDR3, Ethernet Interfaces, Flash Speicher Kommunikation, EBU und CAN-Bus +o Entdeckung eines HF-Design Fehlers bei einem Evaluierungsboard, Erarbeitung eines verbesserten Designs zur Korrektur: Verhinderte eine Verzögerung der IC-Evaluierung und vermied die Kosten eines Evaluierungsboard Redesigns +o Entwicklung eines speziellen, aber leicht zu implementierenden PCB Clock Distribution Netzwerks für ein IC mit extrem steilen Clock Flanken: Ermöglichte den Betrieb des ICs trotz des falsch ausgelegten Clock Drivers +o Systemstudien von ADAS LVDS Übertragungsstrecken +• Simulationen und Optimierungen der Chip – PCB Übergänge von 77 GHz ADAS Radar MMICs +• EM Feldsimulationen zur Modell Extraktion von IC Packages und PCBs +• Erstellung von Matlab, Python und IronPython Programmen + +Apr. 2015 - Aug. 2015 Consultant bei Kathrein.net.tech, Ubidyne Nachfolger, Ulm: +• Inbetriebnahme, Evaluierung und Optimierung von Transceiver Modulen +• Automatisierung von HF-Tests mit Matlab und Ruby + +Sep. 2011 - Juli 2014 Consultant bei Alcatel-Lucent, Abteilung MS/E, Stuttgart: +• Projekt Light Radio AAA: Aktives Antennen Array für 2.5 GHz LTE +o RX Pfad (LNAs, Filtern, Demodulator, Digitalem Dämpfungsglied und ADC): Messungen von Anpassung, Verstärkung, Rauschzahl, P1dB, IP3, Mischdämpfung, IQ Demodulations-Qualität, Übersprechen, Blocking, ADC Störsignalen und SFDR sowie Temperaturtests; Überarbeitung des HF Frontend Empfängers: 28% Flächenreduktion, bessere Performance +o Matlab Programmierung zur Steuerung von DUT / Messgeräten, Test Automatisierung, System Evaluierungen inklusive eines umfangreichen Realtime Spektrum Analysator Programms, automatisierte Blocking Tests +o Entdeckung einer sporadisch auftretenden Transceiver HF Instabilität, Idee der Nutzung des DUT als HF-Netzwerkanalysator zur Ermittlung der Ursache, Erstellung des dazu nötigen Matlab Programms und Durchführung von Tests, schnelle Identifizierung der problematischen Komponente: Vermied zeitintensive, aufwändige Fehlersuche beim Transceiver in seinem normalen Betriebsmodus +o Erstellung einer Kalibrationsumgebung für automatisierte Tests der HF Frontend Empfänger +• Projekt Metro WiFi Access Point: IEEE 802.11 a/b/g/n Modul +o Aufbau von SISO und MIMO Evaluierungs-Messplätzen +o Empfangszweig: Optimierung von AGC und Blocking-Eigenschaften, Messungen von Übertragungsrate, PSR (Packet Success Rate), Empfindlichkeit, RSSI (Receive Signal Strength Indicator), Dynamikbereich und Kanalunterdrückung. Sendezweig: Messung der TX EVM +o Berechnung von Systemreserven für LTE TX / WiFi RX Collocation +o Verifikation des Listen-Before-Talk Kanalzugriffsmechanismus nach ETSI Adaptivity Spezifikationen und Unterstützung der ETSI Zertifizierung +o Erstellung von Test Routinen mit Matlab und embedded Linux Programmierung des WiFi SoC, Aufbau einer Messumgebung für automatisierte Tests +• Evaluierungen von Agilent MXA / MXG und LitePoint Messgeräten +• Agile Design mit Scrum + +Juli 2011 Gründung von DesTEngS Dr.-Ing. Thomas Langer, nahe Ulm + +Juli 2006 - Juni 2011 Head of RF Integration bei Ubidyne, (Startup, ca. 60 Mitarbeiter, aktive Antennen für Mobilfunk Basisstationen), Abteilung Engineering, Ulm: +• Aufbau und Leitung einer Gruppe mit bis zu 10 Mitarbeitern +• Erstellung des Entwicklungsprozesses (CAD Software, Bauelementebibliotheken, Messgeräte, Aufbau des Labors, Subversion Repository, Maßnahmen zur Qualitätssicherung) +• Projektmanagement mit Focus auf Erreichung der äußerst anspruchsvollen Zielvorgaben +• Erstellung / Prüfung von Spezifikationen für 3GPP UMTS und LTE Systeme, Module und HF Filter, Modul Architektur Entwicklungen in Zusammenarbeit mit System Engineering & ASIC Designern +• Verantwortlich für ca. 240 Aufbauten von DC bis 3,6 Gb/s: Entwurf, Aufbau, Inbetriebnahme, Evaluierung und Optimierung, Mithilfe bei Systemintegration +o Evaluation Boards für Ubidyne GaAs, SiGe und CMOS ASICs +o Multistandard Transceiver Module für aktive Antennen bei 900 MHz und 2,1 GHz: Pro Board bis zu 1400 Bauelemente, 3 verschiedene Ubidyne ASICs, mehrere Clock Domains, System-schnittstellen bis 2,5 Gb/s, 37 dBm HF-Leistungsverstärker, µCs mit SPI und I2C Interfaces +• Simulation von kritischen HF Strukturen mit dem 3D Feldsimulator HFSS +• Berechnungen thermischer Eigenschaften, thermische Struktursimulationen von GaAs PA ICs +• Technologieauswahl, Aufbau und Evaluierung von HF-Filtern: Microstrip und Suspended Stripline Filter mit keramischen Resonatoren, Keramische Filter, Cavity Filter, Helical Filter, SAW, FBAR +• Auswahl von Aufbautechnologien: Keramiksubstrate, PCBs mit HF-Material, HDI PCBs +• Kooperationen und Zusammenarbeit mit externen Partnern: +o Evaluierung von EMS Unternehmen, Zusammenarbeit mit Xenterio: Design for Test, Design for Manufacturability, Bauelemente Beschaffung, PCB Bestückung, Fertigungs- und Zuverlässigkeitstests, Baugruppen Inbetriebnahme, Fehleranalyse und Fertigungseinführung +o Evaluierung von Leiterplattenherstellern, Zusammenarbeit mit fünf Unternehmen +o Toshiba: CMOS Chip Reviews und Optimierung der IC-Gehäuse +o Ferdinand-Braun-Institut: GaAs Flip-Chip Montage auf Keramiksubstraten +o Gemeinsame Entwicklungen mit Antennenherstellern Kathrein, Andrew und Huber & Suhner +Principal Member of Technical Staff + +Jan. 2003 - Juni 2006 Entwicklungsingenieur bei Toshiba Electronics Europe, European LSI Development and Engineering Centre, Technology Development Group, Düsseldorf: +• Evaluierung und Auswahl von HF Entwicklungssoftware +• Berater bei HF- und Signal-Integrity Fragen für verschiedene Abteilungen +o Identifizierung der Ursache für zu hohe Störabstrahlung eines Automotive ICs +• Mitglied der Knowledge Management Expert Gruppe zur Sicherstellung der Entwicklungsqualität +• Entwicklungen von HF-Strukturen für CMOS-ICs, IC-Gehäuse und Leiterplatten +o Taktverteilung für ein 3,1 Gb/s Transceiver IC: Entwurf von HF-Leitungen und Optimierung des CMOS Quadratur-Taktgenerators +o Testchip zur HF-Charakterisierung von CMOS Strukturen: Entwurf, De-Embedding SW Erstellung in C++, S Parameter Messungen am Ferdinand-Braun-Institut in Berlin, Auswertung und Anpassung der Leitungsmodelle +o Entwicklung breitbandiger PCB auf SMA Übergänge bis 18 GHz für FR-4 Evaluation Boards: Optimierung der Strukturen mittels 3D-Feldsimulationen, S Parameter Messungen an der Ruhr-Universität Bochum +• Mitarbeit in den Normierungsgremien OIF und MIPI +o Toshiba Transceiver IC für OIF CEI konforme Backplane Übertragungsstrecken bis 11 Gb/s: Systemsimulationen, Erstellung der Spezifikation, Entwicklung des PFBGA-Gehäuses und des Evaluation Boards, Begleitung bei Charakterisierung und OIF Interoperabilitäts-Test +o Mitgestaltung der MIPI Spezifikation D-PHY (Serielle Datenübertragung bis 1 Gb/s pro Lane in Mobiltelefonen): Kanal- und Systemsimulationen, Erstellung von Kanal-Modellen, System-Budgets und S-Parameter Masken, Entwicklung von PBGA IC-Gehäuse und Evaluation Board für einen Toshiba MIPI Testchip +• Senior Engineer +• Verantwortlich für alle detaillierten elektrischen IC-Gehäuse Analysen bis zu 11 Gb/s / 1444 Balls + +Dez. 2000 - Dez. 2002 Entwicklungsingenieur bei Multilink Technology, (Startup, weltweit ca. 360 Mitarbeiter, ICs und Module für faseroptische Übertragungssysteme), Abteilung Advanced Products Group, Berlin: +• Mitwirkung beim Aufbau des Berliner Büros, organisatorische Aufgaben +• Entzerrer-ICs für Backplane-Systeme bis 12,5 Gb/s: +o Berechnung von Mixed-Mode S-Parametern und Cross Talk für Backplane Systeme +o Entwurf von adaptiven Entzerrern auf Systemebene (Feedforward Equalization und Decision Feedback Equalization) basierend auf dem LMS Algorithmus +• 10 Gb/s und 40 Gb/s Faseroptische Systeme für Metro und Long Haul: +o Betreuung von Kooperationen mit Prof. Petermann (Technische Universität Berlin) und Prof. Rosenkranz (Universität Kiel) +o Simulationen von Systemen zur Bestimmung der Anforderungen für elektrische Entzerrer-ICs +o Optimierung von duobinären Übertragungssystemen +• 3,1 Gb/s 8:32 CMOS Demultiplexer-IC: +o Auswahl und Entwurf eines BGA Gehäuses mit 384 Balls +o Entwicklung der Teststrategie +o Entwurf von Leiterplatten für Test und Qualifikation +• HF-Leitungen für Mixed Signal CMOS-ICs: +o Simulation, Optimierung und Modellierung von HF-Leitungen, Erstellung von Ersatzschaltbildern mit konzentrierten Elementen für Cadence Spectre +o Entwurf und messtechnische Auswertung eines Testchips + +Nov. 1998 - Nov. 2000 Entwicklungsingenieur bei Siemens, Bereich Information and Communication Networks, zentrale Entwicklungsabteilung M TM 12, München: +• Entwicklung von HF Modulen für Mobilfunk und Daten-Transport: +o Verantwortlich für ein 1,8 GHz RX Frontend Modul für GSM Mobilfunk-Basisstationen: Projektkoordination, Definition der Architektur, Systemsimulation, Schaltungsentwurf, Layout, Evaluierung von Labormustern und Prototypen, Fertigungseinführung +o Qualifizierung und Fertigungseinführung eines 10 GHz VCOs +o Layout & Aufbautechnik von 40 Gb/s High Speed Digital Modulen für Faseroptische Systeme +  +Okt. 1994 - Okt. 1998 Wissenschaftlicher Mitarbeiter am Ferdinand-Braun-Institut für Höchstfrequenztechnik, Berlin: +• Erzeugung elektrischer Transienten im Picosekundenbereich mit einer nichtlinearen Diodenleitung (Promotionsthema): +o Erstellung eines präzisen Schottky-Dioden Modells mit hyperabruptem Dotierungsprofil und Implementierung mit der Keysight ADS Programmiersprache AEL +o Programmierung von objektorientierter C++ Software zum De-Embedding von S-Parametern gemessen mit TRL Kalibrations-Standarads und einer weiteren, bekannten Impedanz +o Modellierung, Simulation, Layout und Messung von GaAs MMICs +o Entwicklung von MMIC Sampling Schaltungen: Transienten bis 7 ps, Harmoische bis 140 GHz +• Submillimeterwellen-Leitungen: Elektromagnetische Feldsimulationen koplanarer Leitungsstrukturen bis 1 THz +• Faseroptischer Feldsensor: Entwicklung eines breitbandigen Low-Power Transimpedanz-verstärker GaAs-MMICs für 100 MHz - 6 GHz + +Sep. 1992 - Aug. 1993 Studentische Hilfskraft am Ferdinand-Braun-Institut für Höchstfrequenztechnik, Berlin: +• Modellierung passiver Elemente, Dioden und Transistoren auf GaAs Wafern +• Erstellung von Pascal Programmen für S-Parameter Umrechnungen und Dioden Modellextraktion + +Jan. 1990 - März 1992 Studentische Hilfskraft am Hahn-Meitner-Institut, Berlin: +• Entwurf und Aufbau von ultra-breitbandigen Verstärkern 10 KHz – 16 GHz inklusive Entwicklung und Implementierung eines neuen Verfahrens zur Temperaturkompensation + +## Ausbildung + +März 2001 Promotion "Computergestützter Entwurf nichtlinearer Transmissionsleitungen zur Erzeugung elektrischer Transienten im Picosekundenbereich", +https://depositonce.tu-berlin.de/bitstream/11303/599/1/Dokument_9.pdf + +Okt. 1994 Dipl.-Ing. Elektrotechnik an der Technischen Universität Berlin, Vertiefungsfach Hochfrequenztechnik, Diplomarbeit Extraktion von MESFET Ersatzschaltbildern (Bestimmung von Ersatzschaltbild-Elementwerten aus speziellen S-Parameter Messungen, C++ Software Design mit GUI Programmierung für graphische Bereichsauswahl und Ergebnisdarstellung) + +Juni 1986 Abitur am Oberstufenzentrum Elektrotechnik in Berlin + +## Trainings + +Sept. 2023 Neuester von mehreren Erste-Hilfe-Kursen +Dez. 2016 Ansys SIwave Training +Juni 2016 Keysight High Speed Digital class using ADS +Juli 2011 Marketing Training +Feb. 2011 Pulsonix Training +Feb. 2011 HFSS Training +Jan. 2008 Gustav Käser, “Management” +Juni 2007 Die Akademie, “Führung und Organisation 1” +Dez. 2006 Microsoft Project Schulung +Apr. 2006 Die Akademie, “Gedächtnis- und Konzentrationstraining” +Apr. 2001 Aplac basic course +Mai 2000 Seminar "Persönlichkeitsentwicklung im Team" +Nov. 1999 Seminar "ADS - RF & Microwave Circuit Designer Class" +Feb. 1999 Seminar „Betriebswirtschaft für Ingenieure – Basis“ +1998, 1999 Verschiedene Mobilfunk-Kurse über GSM, CDMA and UMTS Systeme + +## Kenntnisse + +Software Design: +• Objekt-orientierte Programmierung, ereignis-orientierte Programmierung, prozedurale Programmierung +• Python mit diversen Modulen (z.B. NumPy, Pandas und Matplotlib für Datenanalyse, PyShark zur Prozessierung von Ethernet Trace-Dateien, PyAutoGui zur Automatisierung, Tkinter für GUI-Programmierung), IronPython +• C++, C, CAPL +• Matlab +• JavaScript +• Ruby +• Ada inklusive GUI-Programmierung mit GtkAda +• HTML, PHP, XML, JSON +• AEL, Assembler, AutoHotKey, Basic, Pascal + +IT: +• MS Windows, Unix inkl. Linux, Cluster mit LSF Anwender Kenntnissen +• MS Office / LibreOffice, MS Project, Visio, Inkscape, Gimp, Latex +• MS Azure DevOps Server / Team Foundation Server, MS Visual Studio, PTC Integrity, Aras Innovator, Subversion Server, Tortoise Subversion Client, Git, ClearCase +• Jenkins, Bugzilla, Redmine, SpiraTeam +• Virtuelle Maschinen Erstellung und Anwendung basierend auf VMware Workstation und Linux KVM/Qemu, Docker Container +• Dedicated hosted Linux Server (Apache Web Server, Mysql / MariaDB Datenbanken, E-mail Server, Apache Subversion Server, Parallels Plesk, Webmin / Virtualmin) +• NextCloud, n8n, Paperless-NG +• Embedded Linux + +Engineering Software: +• Vector CANalyzer, CANape, CANoe +• Ansys Electronics Desktop, HFSS, Q3D, SIwave +• Keysight ADS inkl. Ptolomy, Momentum, SIPro/PIPro und AEL Programmierung +• CST, HSpice, Aplac +• MatLab, MathCAD, Mathematica +• Altium, AutoCAD, Cadence (Allegro, SIP, Analog Artist, Spectre, SpectreRF, Virtuoso), Enterprise Architect, Mentor PADS, Pentalogix CAMmaster, Pulsonix + +Messtechnik: +• Daten-Netzwerk Performance mit Wireshark, iperf3, Vector Informatik Ethernet und CAN-Bus Testgeräten, GL Communications PacketExpert Gigabit Ethernet Tester +• S-Parameter mit Netzwerkanalysatoren bis 110 GHz, On-Wafer und Koaxial, Kalibration, De-Embedding und Mixed-Mode S Parameter +• Zeitbereichsmessungen mit Samplingoszilloskopen bis 50 GHz, integrierten Samplingschaltungen bis 140 GHz und Real Time Oszilloskopen bis 13 GHz +• Amplituden- und Phasenrauschen +• HF-Leistungsmessgerät, Spektrumanalysator, Signalanalysator, Agilent VSA SW +• Bit Error Rate Test, Packet Success Rate +• WCDMA, LTE und WiFi Signalerzeugung und Signalanalyse + +Fremdsprachen: +• Deutsch: Muttersprache +• Englisch: Fließend in Wort und Schrift + +Veröffentlichungen: +• Dissertation, fünf Veröffentlichungen, ein Patent, eine Erfindungsmeldung + diff --git a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx index ac5f2e2..d733ee4 100644 Binary files a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx and b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx differ diff --git a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf index 8700589..a2063c0 100644 --- a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf +++ b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf @@ -179,23 +179,23 @@ endobj << /S /GoTo /D [ 84 0 R /Fit ] >> endobj 93 0 obj -<< /Filter /FlateDecode /Length 3184 >> +<< /Filter /FlateDecode /Length 2965 >> stream -x[ˎWZ0 e{Mһ&lrL6Y,HIu/.%*ԩ"8y}ND0B<ɏOr zH~`QKR9V>QDrOҮD? = חzlnduF=̅}^8 VrPSkYM(OrѨUW)>"ƆD*ڑL&TO&Reg/.Mz;k2 9I_N{s#|aROzKtv6ܩ&-N?V4e[hdȍdXI` Cf],z[I%#"JM҆`!^8!4QuY7L>t9aD2 wH=MZ¥4}7 lO& L<3v)97&\pCDmKk*Ũyx$.ZߋOAr#l`^0JN5RX((2&Khɼ?3:a@>scq!*JTTW5 h:Y-k) ge(^Ī%DJkXWӗ>TV ٧)Nt;W.#dPh{92 S‘+b1_Z&4\CIn3a=[jp gu+6.*hj-:䯆& -mԾl3 S0Yꙮ -.Pq_if圍kAtǯnX-oNPv"L6I%6 VgdT/-)qi泌̠4"{r(CX#)!.(yզWdTᙔފdŞdU/nKS${5[;pKwD6n8seCI&K)$ -|1}kWcj2wm^\8Yoe?^~NQX:3}1#`hk\5{ya/i(v4vEQ4a+ b*7\GCpT˓.Ycڳ8VLg-M=5~^O M` -,T)5^{x F [b\cN٪sO&]7Nwҏ'͎\Q܍ xbs`NkrJeɅd(/m3 U6'2.@[~ʼn PԹ2,Y&i-mK;!JvE2 -[Jȍk8 asko7pn\ːeѡU\>~s=EH`:C I -'t;o*6ê|0,>QRX}ݱ94,5gFnYjJ$ WSuBwPUop@- GϘJLEq'ŵpr -6|7&>W5N2qCyfέEئ -'%/9Ko4B/L1^RjK냓89kP{i BeFJ`U+ُ4OqkKvfJhG};#ccXJU SfR2n0iD{#Dta-"qw -~ȁgZc?}lCQV8 '#xρOzZ%+5#/ tXlߵ=ZM0P> nFefLyY#ܗt\긑%? -] jY06dѰڻC-oZ@wZj4U8I*p&N>4\9c:>N Zh860МR3%5Tڡ-Yo+J@cUMd^@$ UO+p8:YrUi5/RWa#&_Ygzy"3vڍxw;J"ŷ"CQ8 Jy +5\4g<R}>_N`TZf_[A *wdB{IQ[cTe$ڙJE3Yh1+oPkY!szmD7Pgq:0Wb%;SY< -{b~ cQWD!A+' Q:()eQ q7DWMPD4gʹv.R H;$Fy7p{H 3A^^̸0m+/>+ .jTаЏڒYsŁPrG+iЖJt&oc>՝\}|`taNg5J@ M{};jQ9d{?i%_fcH|X v\aJ^oV:nYk|1Ei ǎb(UUQ -;x"&s_W`0u:'gpi5 ҍMg/x*be4F>GjZjqӂ4-鼲먲eZ16mssK kY[0uبff.2gr_@O\s>xr/ -X!S̶ɚ9Yf܃,T|aQc3{FbG9}ɩ*Z3=Co(~zO!bImcH2X%cVcgʕwjdxQ kv5Gy\`%Ki*5xXʨr{V:/?+[z,# w.k;K) nej!dS;I|p-`jf/>.])t +xZɎ Sڣ]2P(AroANA&A0PHQ]^L(mKGJjxfTL!?Ϋ.vuLo>iNMzjN!L1Y'r +*Uk; ll=N9=U:?zޚ2xN)uBAqy^-yx;;X lN6O) e眝iҳq~_ӯO|rK0qj^uKwNfƗk]rfOű1Yp} 5'AsRi!jٖ Z誵P:QsC8HD +}_鱱{z)5~t?n09K錼,H^ iwMGD4+!+{6+%'K +Ur%Sz3ǸZJohĐ*}EX"V|hSf}1hI2tDCcڋ@Po24/ڎϢwv:<(@%v7#Iʷ=f.[ᠬz5@MAemt2 04BT}*NfU87q\% <éeƁ@@6 4[ r_yaC/~ozx/_gϳ}FnQ7SՖFiL9ǪҼI% + + a ,n~!l"v\`USja%G4ٍwշ8.W|4^̣khNjiZvU).,ɮ$M}SŁQBx{]A ڜ 750Mpkb}v3F i.) TdH:BC aH$ +?N Nݬf ]</ƶ qS{ T.4~iPvj|MU=t>^LBcֹUU0VpV/-r +!u^ +@A:Cr^CSRp8˭ 7+Z_. Ҁ+Ͱ-,aj )Uud(UIdZhvu) 9lUri-a \qK1i,VUVJ.Q#Wv9vci]U?Kf,oo􀀠`טT 33s>OBakXee`)Ug,pj3 ( Tn4UR(tԾ%{L9ԏei?Iq500:2p%RB@YPVUmܥJW;~.j2\(c{`.-^ W2'VTQHЍE"$4ћB +lA BV.jM٪\XDXiyQ_a4U=9E"E[2dܨ}u\s? ;PQ=x[- At(65S rQE_6A~ V}^ CITғvI%5(i!)&M͋Eفq^0]ѕJ',P!,7.dDSx% +΄[=pt4;g>7 g~ νyO|6I K=;#+q̉ElIs;Kx6qbAàueXFI" 54DZV\a4^Z-g{u7ܜcHFy1WT?m`ypU [.k> +TiYy>={on4[5N/;)(,؎SXih<dD\%.m+>:^l1CWh52A'T-jܨ +E0ndWSPXvoBxlu~85fgnhx\T'zbщG#kd5رaĭuUIc:z9C;jz;jQ"xƔC0R:l[nB,8. +I&Aw!ih:YP[ك˶ C6rxԙ_@[[o >`jĽMFӥ9o~I: + ּMuT4/^脟}"Gv8yjw؅ ce3 `ؓX_OwMzrvW 4h1׍ȭ)c|l'G"9sgEr<(f&-O/@iϿ –B!dR$PbPOqx^k,IIѢƳbƭJ=Ṁ.Q-dYރNuŭwr9mz@f&I=j 2 endstream endobj 84 0 obj @@ -1668,27 +1668,27 @@ n endstream endobj 85 0 obj -<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 119.812 713.197 275.262 725.575 ] +<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 119.812 721.873 275.262 734.251 ] /Subtype/Link/A<> >> endobj 86 0 obj -<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 124.677 701.83 231.179 712.026 ] +<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 124.677 710.506 231.179 720.702 ] /Subtype/Link/A<> >> endobj 87 0 obj -<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 151.775 686.906 232.401 698.695 ] +<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 151.775 695.582 232.401 707.371 ] /Subtype/Link/A<> >> endobj 88 0 obj -<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 127.917 672.55 196.433 685.146 ] +<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 127.917 681.225 196.433 693.822 ] /Subtype/Link/A<> >> endobj 89 0 obj -<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 131.55 659.808 212.175 671.597 ] +<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 131.55 668.484 212.175 680.272 ] /Subtype/Link/A<> >> endobj @@ -1702,36 +1702,36 @@ endobj << /D [ 84 0 R /XYZ 70.866 779.528 null ] >> endobj 2 0 obj -<< /D [ 84 0 R /XYZ 70.866 779.528 null ] >> +<< /D [ 84 0 R /XYZ 70.866 797.087 null ] >> endobj 6 0 obj -<< /D [ 84 0 R /XYZ 70.866 728.942 null ] >> +<< /D [ 84 0 R /XYZ 70.866 738.91 null ] >> endobj 10 0 obj -<< /D [ 84 0 R /XYZ 70.866 616.065 null ] >> +<< /D [ 84 0 R /XYZ 70.866 604.812 null ] >> endobj 17 0 obj -<< /D [ 84 0 R /XYZ 70.866 395.356 null ] >> +<< /D [ 84 0 R /XYZ 70.866 360.529 null ] >> endobj 92 0 obj << /Font << /F39 96 0 R /F27 97 0 R >> /XObject << /Im1 90 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 104 0 obj -<< /Filter /FlateDecode /Length 3940 >> +<< /Filter /FlateDecode /Length 3893 >> stream -xڵ\ɎW$T2lm0'`_&dTʙ6ٙ-E-._7ߟ~z*Ktʙ˷tC\ŋ%8w B,V˷_B()kH[t=a}nZK˟J3%#^)%:0dxYh kO)۷_M2~ޭ>k{_K7>I:azF/#XH: -Eu.,EpcrA/qdH[@- u2e1N\3U2S9t5s.3%6X[0Vso=vyhM'&zy{r(& a8Yk`3.AOMD29C*\F e2O2 -yo@fQ͂b&s!p?ĥى^RK9|X.X/Qi4`4>Hdc$l`MAaJ/"͒5͑6IkZ31WV&šʌ^rUnWf9] *Tzjt(a-z 0\g…#YVz2@fDh:  (U3K4c;,^ދ 6G <?psݺ1RY[St)v:tpN.`Ux~cFiO~IP i"&(Xք!Fa+ 8 64g!#ZzD|c>6ɫa:':픮jS2}jlt-;)a)IMajA玌M0DDıq SyhD(p"Uu$pϦM3C l͓C,P- %0ŎrPl6i'M!%XF [ Qd2rS';:ɋ&(ٌE;5Rt"*UЩv@\5#a:bTxoa8( ߑ.(t  -Ѩ(+OG+b, &2 ts1S5P`8 ;pF53>8%2Aj?egh)|iFs8G#&cʘžuz8h&er4'mx/>_U@$ΦO`'bAerΟDT1gT偭KnȊ[xD$%Y"'Ixf-79N 4hHX5JB:*6`Ce;Lf< _g቙ 'zI(26aiID۝2=kgknGb C^/(h9^xHAO%Ěr!6IɚȤzIZ^"3Zρ0a*8l2)mB=\hfP,OY&t(4Kn5R;ejfUC][i"3ET -EESYЦ,ηIJIHEnfh#Lӑs/ D/eL|?쐉1W.R:3T ]\~^(4Y4"0p28M?Ww`!,n&&;Jۜio"Y y2 (Fw1fDʵIYq(g8nq{v?+jT.bj2F -4Hv7R;8ѣ$rοS#n&_"vZdh-[@فoxzX2;vnw{4ThLkZ *T2Wkِ*⒩慇V/!(abWelm'M\lNSrp#Ѥplcw4gh0vݏ!-5픳DJM.d'yv\JX|[qܫڶZ쳵7%Y>y.4sH\K+ K?ZoRkhXnTvRW֢AC B..PU.9A#ʂ,und?ɷOúrCsK=?Lx769[IdfYV5Atll{rzc"ך[rXi!Qeܴ-B0mSJ.ʶTuNQ.N"kY#3) -mO[Io!b+}t9j٦nݿx @@k*c2l|#1GVq4YV1C9LuՐV d6ڬO8kvӨʼnx1yebAFuɼ -7)!8 VV9'ޛׄ,3?}ɻC>}d`r(q&.vM0 -_'c'È=}:4>vڃIlb֡mԼ^ t387@μv1ݱ»U%Anc]PBZ'%47# 3n-籊 015ֿҎōVg]r#h++f쩼-^MPJm:߭9I EXL<_qǡe9 `DVS$FL4XhlGN4Zba~Ofm)z&L7x5- s{uf -4XJ"']ӣkZد_g[D/Rp%ys~P: Gr1BlB^z `4+[w{JLS1·mw^AL?+r_[..d!!9ɼi5L3w]? C +xڵ\Ix [ gnOK|H.!UdF{z$"kjqMR3ox酸ȋKpXo^~ +ҮA-UߕK;wI#V''#>)#:0dXh| k_8;mSo?ś(e\^ۿƣ?~-{9M1\Cktv$K?Nӳ"Qغr \Ka8Z5MD;Nd,+O^HPYqU*ZaKo[h N8>$X?BV>' eI;nl%S;R$Nַd^̢.kk؜Mɸ+b~>pX:ݯq,Wr<-W Ȉe\J5TQҫ5NP[lqQ da/@ _hi\_eC!RIu"dvӏCۦi+iES3jg'k`xy_4WUyE`dڹ]3 hB¬Z5iI6yjk)9Izʐ0IdXI]-oL;k³59}R-2LJ`5ɎY'j +W3eI>pBXU]&M+؛VUs6(m*CwIYV<+N>o #63HVh;#/.&WgWcR3,.fё9 ]DTBD b^ƨܪRf{Sj"ɑ*\UjFjX/Q|U3{JduLXh~/ s)%sŐ3d3A0"&rA + 0]^Ŀ8/\!kB1DdcV ”%ɟ$͔5\VD$Ȥ5Jj$Leu_677m7mc*^pVńG! Bb_W4B\gL  l|T[=AŀmpuAeP>)Hk0`N}е, 9\vbr&;U"Okrqz#>9wghU#p'\Пi7JaO@CÞ3ntyEȲ h!L ݔ Qq B%Y5$plGA֪B ćG8_ ؉)?F}Q*|k +:nP@NI  +_ܩQڝ_4Kꐦq) ak`q9ۍװEK^GgjmM1"> 6]*LYH"nYMj,j*ENi;ڠ`cPcLz$|~Q gJ\^LI5=Lb(x0\ZGuj$!>ȃ #P!\ÖA[E]$pK3 +%+?<ò M \Z #ה[\r3[,>iYIV~,q0Z8a&I`4!f(T٭GQNԋ45/i +i{!@`Tĸؖ1FkP"CyeaEAMdkfa–a]RDN赺0,?FGW)lb%~X`p3>"⣋nP+ҷ<+`(-*& w)}wkŻ am0գx8'܌Vn<<7yUvn[W=P&3IJƴC3RlBN4ZGTEhw.O%' *ʱOX23q83qhփղ E5"|0d8V1tdLzOCa-w%)8ѮQj1O]<U( +^R144VHv=Q'DO*Ciʾ#u8 9tcgO[3 desg4d9x@$Y" uMS8%"V.,޴B͎W?4wzxΘsyk(ydZ{!NZQnq>Xf"c3J܊9wYbgE__dS(+/XЙfI龩aЅ9Be-fUbC][=B6e>﬚Դ[k,;n :k$$\;%d×cEnqAD3K}a0dU"aBKw7Ƹm?S1KtnOMDq0xBv0yqReW_*jGH78b8F H;e2WzP 'r6 +6M#aH1Vދ3duK7 ,ИQ;—4T+p%LA%v`C@]Ѷzdvܴ'`Q΀c;%Q-T/S_Px B$}F |~<]#qkhMI\;_O7YW;]l;m?aʞV9v'BHȓe [!Hمpt/8tnd").^i)ra#f,0@#gB-=ߓ}[LAߖ&ewUlbK6PmaZiFMooFU endstream endobj 103 0 obj @@ -1747,36 +1747,25 @@ endobj << /D [ 103 0 R /XYZ 69.866 813.476 null ] >> endobj 102 0 obj -<< /Font << /F27 97 0 R /F39 96 0 R >> /ProcSet [ /PDF /Text ] >> +<< /Font << /F27 97 0 R >> /ProcSet [ /PDF /Text ] >> endobj 110 0 obj -<< /Filter /FlateDecode /Length 3596 >> +<< /Filter /FlateDecode /Length 3679 >> stream -x\K-0m[- {K~HV,R, x-Yϯju.?)˺|uWKpZ,_ߕBP -5~^u.^c*\΃oL8]viWhq\~7LmDdWWĐI(=X7K}LٝxTB_8Si -IݠB>c̓>@፤?02ĩ“ -;KBIuߐt r!bV15V7{GڈuF|ƿ.ψIBZR\7΂"^0QȆn><6GGP8FgTYPϣJ M XK5qx#qB=MLKςSgS ~ -;cA|i# -MFIŌ,1rNWkާCə3|: ˖6=RǬEXaS k䠔d~k3Xl;;z4r q<Ԣ~=^P~sdMHXd/ƞO)[-zakjtĭ X(7]4(m@Ҭ _ui"(,##jAk lC6䛚*"m&Wr%7 -DvRqH7}&HF^Mi5Sƹ vj#|b1'6nqn}4~n`5%x,98S[4ӜgAmAh#y\k+2B ܻKǒG:m,2 -C` @H5ڰ -"Gl1J!OE^g 縱 Lʛ;.kNDIa> Y㡰8zT0j]l҉.o.{ZPDep¯}Zʖ p{,Ȍ>iʃ|6(Pcz@|ټܽ0"ZAޕ6 .Ts뀋x ~ϐB_dcΛ`7sc;/ZG5ދs't}3(3$7zhS-EJƻp5G jDzlގ)1:ĹmAxyYvCIS4mv9ikuWdy\F)ݿ!v(41SḬxTò__ݶ"lToKL[g+4K<;j:8ů?GIk9SP[^B˽t~E!';--ϵ[v4_݁v͌XP4l-.L؆p ݫNSRsMx#V _z:Za`ɳAXn.6 Ȗ*XA{iloQMuo{Z!jy%! մX%k#_lFإ. Dwҁ:Fg6x^5. -o^\Cȸ" &`+/=𵌍^ЛN*[5EFW7X -Q][NjYxٺ}Ba>fR5UWߪ6=1您)$qj%z(#G/×MǮ7``fC:,x= -ګ,ܫ,o@) Txe۸#km|7`,~ O}!t կN@<;^%_$MGWxg% ԫvY<ҹ|nuAm%fA8Ɉ~CQ_=;-8{ g˻T6N\/ \\|Y|;~?M.}&W!On.N?~-g&՟JCQ*o bYE/QvLOaYF9$R!&v"d"5$ a"a!&$?8Bgq72xPRQLIL2q?1y/+q;(6:\l9-MK#Y%=Df;g>,'[jzzMtM$l2 0ɨ[3.1 zPфyZ1xq|6e6 +>Jl=a.sgcҦxܧ` +V:d7E l{D}V9Cv.2dʨr[FW7 +)3ƀp> WUaR`跕DJ-ۺq1cA\Ӭg_ +[t~H2\s~*/#n څ]a@v2ղ ؂*FxV DU5u…DiԵk 7bb I=15զBkg{& icY\O#~O& XߊL(p )2+U}IF M -vqoܪ-j_qNP=Y3!Llb`'Uxf1r<(2Un"%,&JTNsLi5S֥njjsL0Lcsnk0T5+/d2'1x PY4tأD} X㎗ҳtiBJCUU~Et*pK0.x#.L[:Zi)0iHbJE-R RPtRO*.˲c;/dٽt%y/k} {ڥOjpŤB>< ֱ; IT}eqs<1T 8w"gu^GR6)ZVX6) +4n"yWr!w3uek.}اR1lNSw8JLRk#nB-ٜzb +l]WfI֤㷔H36C[kԽtrlCE16=IՐk[9((TYgQvMYl A`U'?y 6)MCI5l xߞBܛz +3'97/YlF+rEVREE^,:b7$ݟWT2IYEE7.E-?$iP#eBeMy^ #R%DH\~ O=wb1Gn[H6XZ5ԞYIt)юhoT'CM6% vkJ {Tj19S鸁n3}#XI Hj O쁻;QG/xlQ>^1qKHڨWIF&O(;<9k 7ّ(|J)&r[bEf?qeDvWUI^ZfM PHV|@Ε5kYzu[lmTݻH[-SzOaVEm; 5Ҡl)Jwl;-M?%5Ӓ ՗W;f׮k7k-5!,g>vAMv6tM3NZ,fmS;xI7yBJPWxވUʳ]lNϺSCg}hڬy |mĐlmPؕd""XGs@kIvhUvKOu<#>\4‰JuhZ`N>z7אkxRr0B sl٤R0K@-}> endobj 108 0 obj -<< /Font << /F27 97 0 R /F39 96 0 R >> /ProcSet [ /PDF /Text ] >> +<< /Font << /F27 97 0 R >> /ProcSet [ /PDF /Text ] >> endobj 116 0 obj -<< /Filter /FlateDecode /Length 3842 >> +<< /Filter /FlateDecode /Length 3726 >> stream -xڽ\Ɏ$WLdpKP@uV,MɆu"\2+k42Ve/#%._7Q~}˧ruYo2|!.⭽x!˯W!Bos?oe;o_$/o_@ď*?㿤}Q`ĵ|'ǏM{|0ץ!|,|~X^e_~zjooG9L_~hoom Ee៉d+JV~EV㳔m3 h,*7uU&FK2i)M{O5- #aJ)7CuKǥ@M"„.,* $ PyzyZXSgyʠ8lVLUUZlaYg@H<\zb{tYGë< sO - -U[xh>$MyzL֩dNI i<^fѱE=,s=X; E#.Q0TAFdXt\vy(mQtم9?8-r%(g4}C1mYJ JLjjPH}GRGqu" +mZ q1Y8M5znzd销Q|嚴KT|bޛ YUqhm?SrqnchSl"%K+hX B@#raU'iLQ5O*Xxޜ(E ea/68r$$S&HaL?#2%!. 2$6=l64 3˴OH åo$gd4z.ASFnlpܥlKK=ܮ }hOqx7M,6\HOa&/u2*Rl#,T"`y6(]XРxrUnH6+[;m YǛg ȋ!٫G"]Mb&hŌ%2`  .c@C>څw8F{yRi]phg:]e"d3ZڍL|) 6?$)F`gE&!z ccŸ-HtH -~880 LnV[.HΣ% +ֹ U(ij18&7#]e 0ਹ5ZM6G1um=TݯC">$A& P-*ٰzJQ&%X @<9 ̕AhAUXݚԴi:%_DSr[2fʊ(=KgѦX aƙEea6\O(1TVƲ#l׋'7Oך[2V%lG(@ȚF1`'['Ҟr\  \l@ޗM##Nʏx ?Mmu+ Llm$ "%vrP-dO1/H@g$ 1J"dpIRú,G%7vIY5?*ׇ{DeLӥߙ| ߕYMI$z1-?FEfPjtT1?.yzޣz'= zH8`fvr}k*`(@1,jvSʆ'8 /R3jvȯd vm=ۦ-cbprr[׫\Vcϑ;2PzȌTg>Iex_s7[¹4R zFj!EBx&l|r?Rf?yRhs%IdQo^DB܋|KIK0>r_zW9(5iߏīLݏ1%b_o]QiH,Xh:Ԉ^ ĀՍnp;{(XI0R$m5WYyrS$|ѬR^gS`ջE;eOʪU-ѦJheͩNtp@b, kɗ b3sdnRV+(Z:;\K78&8Ċ%K冖ŏ$?DF-T'| ->ifHV 趩PW{ҪX.튵m_Jtնc1>rg*M^Ģ:>q/?-H72 pfwy? I omLf?=aR8Q)D\TJthQC -޺]:*]“u ߻Z-. -E} ~{ʖ;"Pë* W%䬂[E@ =bp=n$#rixFQyjWm|)-gŹS _ۮǣ^cdz4P.VA-Shl,>rW j)𢧉?X9-engmʡ%Ӂ*]:gw~M o~^eբW#Xؖ&^hc[^`W|梎1_]wō8Æg|Wvk}'Պ:2?,-r .UGu 5cWNir'͍~Y5MwOj7FuY͢AmӾc h-,ş#p+mZJ@iӿBUwnj}sMS?Y`nn#,7E[Ww5Y oGyI"Y,yh9@ yYj:Ć*+>E\iHUݘJpC[*MI> --Hc="ݟyW}b dh.ד]*NPPw$N0Kp߶w gysi2]ԧc@6\X8ա@Ȫں\u(4-Njxǧ1shI/Ŏx c;)ޅ2wMa%*U=.*oE\vJ/8`Xq27e4RBY{Opuվ Wktiΐ ]\H#U)Fav9G)b!Ebt:F~T90kÞu8I lG&֐7M'?]㻇H /Ij@fiio\'n9UwZ -)DבղoOvŮY_ -aUr/<8x[{4 Յm^(2ҿ%1sq&k?e)H*p ĺv`N/X4=v~m -Uz}"DX/䶘j -~j+Emz{ OJp7a<\kMfv^^IY7sw޲ oT[/*eCq.%AF42ouoHYExH}IȆ>j? ~D(O&vHW͋LUGN?1 %mi=~Ѡi}|}g\ +xڽ\Ɏ#W"{,Mɶt߹EdRb0S[bM'v׷>=ao<`'~lqƜc3c3ű𷾆qoa;]r-'˻&NI1xaMC.0po0UR$)̧H!P!A,ƀ& :R$|ˬ돃"x3%] 8ENM +!kD6TKԥ-)Y^ܚ}X,>%$R`*| Fug^>Q^mZiLUfd-2.*~q̸ۈk914 FذSߩ*+8P/R)}2 )T ^b?Qͥ@^j2#KELlW#E3 ގ <PVLΧN$Mr_$j1Ӑk.Gjܻ"gMI9-Ty]T~^l'.1-!]a +S=j]鸗JL4?ք_myj,mG\?Ssw?,rlo]a!"д!$jG#a-726Ը@G.cXSA STw9WIZ^V~U" ],o2;wMrZF݅4pHwh{ -Lz3Y2Bp$>VqkMDy_\`\k͠&BCNȉA"cNrڄw!{5$Yv])s4M]yasHDaEߕ}-Z NH e]S+@v/B/^`@m%9I|[&Fk_( Yk8f))盩B +6Ѷ2"֡gӇ'CਹJ Mk?U IOh-!6fҔ6NdE޷ f¹EKwsb݉/"P~ݺ"1kNoT*F5Eŧ_,t<,M|rQ`e̋Hнa}4i=#2ٱO+}.Zλf=Oᄊ-3cHD[:0CU47ji CTxJ2`s(91M'c~ξzj?Aw@`h,UXHnnϘ52oz7Q/1t ѤNOi|"Mt+x#Vo1f1 GYKM>LXld`0hiͳ|1gR¾bƮ2~ҫ*+G$gI*Ѣ6Cv5mztғ. cb չ⟄ z<.b7cH ֮ ibgYAFZa*ܺk!!nv'quw *j}M=S]}1(tUnw>Xc܂6>cz΂9ْDr8$_9GN-V%Dha!zmV/o# v' +M`g8O5Ԛ|꽤pe$uc;TYf>yiↂc.WvM 8]2~^{9߷]!o,zP~ut Yבf"bȆ{RkpŰCݚi+g!YZgȕ ]`~jQVYH <##ki}`^4s~rSm:} 4kCHWD + +ș.-' ^BZ:;: g+|hP~pyƓbsksw ;u,v0g`y8!q +;%<0FJ׋dihvāAͱ lxp:}$ ^umrCn^<"wciN >_!rn5ܯ܋~nҹN P -PW'LgmUS"5Űkc6c6^{ZΥO9n[TH AA1yy;K nWMt%)LhnJkɌښEIMSb||}9 endstream endobj 115 0 obj @@ -1824,35 +1813,22 @@ endobj << /D [ 115 0 R /XYZ 69.866 813.476 null ] >> endobj 51 0 obj -<< /D [ 115 0 R /XYZ 70.866 293.162 null ] >> +<< /D [ 115 0 R /XYZ 70.866 246.435 null ] >> endobj 114 0 obj << /Font << /F27 97 0 R /F39 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 122 0 obj -<< /Filter /FlateDecode /Length 3599 >> +<< /Filter /FlateDecode /Length 3131 >> stream -xڽ\ˮ$ ߯ࢁۏk$3JoEG(T{g/Ɔ1ֹ^RbKM/+'.Tן]V4ѭvy1-Zoo?Rn|~*lNBN;[~`gkeUζ\+Ä}hZ<; -74A+ -Jw!򇩟cZo-]`eS^ -Klsƞ:qRiK,?YUlET//b(6ȵ-߅Xt$-%T -rꍘnI7~BG+{%dÜ\|$6c҅iR,V _E3. *1O*5tM!J9OV -Ɯp -ڭݦ9ESLhçsKHJr{͒.Ć8 -/}\Rޢ~rehmzqv1IՉX<(".3E#B[,>&4Uf)u˩~0}u_6DĽzf) eCOqRݔd*t4l;o,a.uطɍ6 0*}̀Wr>ha ) ÀzHm1m)E;i$"Cqnl>[x?B`|;M8vK%ɢX>lsxં\9J%$a:<#lʁ3)#  - #ÿ:4́i PMyU6#78loO5?2n{XdxuDSnL5l[:]ô;. `/SԹkyD M՗YŒxbL<'#W&>_+f-ᐷpzDŌpomWPA1cBsv@US5%#j,KFa.Hu чS~N>1z,\U"ʼ ӞFJKYI,34 -'ǹWggqyY;m7[v/h ֆU=FVo -FrKw/<螬oA"+=ž4P=-3E(=,Yi˝HK1E&4)!x\wfgZyuOQKT &%g~g -lO{wX]HY%.=h-y -y9 GcfݟSM#=Y2 s;Se?K.=9|8z$15' ٟ -{L|t<^O24<@90&{ܖ><&g_,wR%t!R 5"|a.*~aE=b60%䱐7(Zk/IT@|[]ԛU #rΫ-ȿd[aqd'_@ily!Ӊ<)3fs^vrhg|~,pj͈la9?vaJ4(6PbLPݿOAxFo^n-g݇#RrE'y"K8\}؛]>:އQFsdV5!X‰~-G[fc NM38#SUTrI3efr,׼ /31l.~jMh/OtzxG|Ò};M]!DBF<_W}w'j )(a]ⷅ|bkt5nLINjBUge-ItZFjD$BcK5'B4dՍ:E}>p &`-rG93i6X!N MS/՝:Hiq̢_11R[ -a?8̲2Փ#RfV_///Ti}u'hE׵`fyPP,>t;;1?>|sYS*ɄtPߖyJEâF])_ETћ6Ө4Tݟƾ;ujS`EEDt6DZscIYs]F*j.pkv65dÌW lE^\:`@AM/iLeOo/;vR_Esd7zt싡yIVvS䤨2NDȍ\K*|%<(qG'޴Ԫ=WY,tx -::LݜHo +xڽ[ˎ, WLYoFwqfgx .M~?z"Uꚹv`o8<8IS~~7P8m}˷ۿM^~-~spodN +,T³k\A֕c6Ka'm?AEKMYHתJ/YE2&yQQ)rY%g%nIq){_X3lh[xzGjj :X{fЋ2ԺN˞.a>F`f^+&UUhX3/h!V^E< e Y)ҒC~H:$ŷNW tl|AZKn%9eȽYi#p@GT+gT^fOss;?XlYMKWU͑>YmIuѢyYyd .(㼄2 jGl'ōH!ͤ:j|tg9BXb[Pn #*SS 2j딘@rwn?E˦1dg3'ݸ h |Y[S,Aptv!a :“ǂYb4llĂR]ŰgWOE$W/r #6D&|ʭI: rYoEG]}u~:lJ h b;U$Zц2shO=-{ԶZyNʷI n zPɉnTT!ZC٣ W:47MMsec 3X9@JOcd$}(ߞs+L +lIokCJ)!s =##Ҵ~ y/تq%O.YԠ倦b9 Nl=+W-O OA2>诩 ^NvU˶3.\rj -FàveW>W.a0>\ -0X#MZJQ~%FLϼznDpԭ.ah]A2X ٥qblMS&e 4H@#; -W_ΠT }.D[D;(֐-5j0$rհI_?C4MQ~N;!f+Zitb n+bdktgQWmNkt"eG)W`? -,st4 ,CceO*c^<7n| FyMlJYzUւ:x}'x 1ZhIFV`?Je${n8U7uO"l:pVflzNly_#O7TU.ڎo4.3wn*EgKxF[:P[,Gj֧B[.p^oCkeۯ~V)p[}5<4 ̦kkwڝ\qLCD8^l?^kde3eLf!oU\ 'ʱ G_ Úa~kuDI*ZRM[& vYk!Uxp#nha9 >X^ڮbEיL_5Y9ɩɛ;'P;V Π5|7JL\1]];YHNJn0tށAbYN}p eaAlްEyVfCԲHRlIǿ8X) z36 ,KKp=hIN]4M̗+[-aZi߱k=qh|Hɫ|,!gGa_бVo_bK`Epiủ I l\ -gW~eD7V@_]ŠW &%tGY&D$LB,l1-QJ$AU/[ +x[n$7+D3'  e 6>yƾLƗ UaFE.?>wUN9| -AJa,_.H@J o?oN3_:=~Uğ.J4qOHdzs}rYcF^gG2')YZ?X^ǣ ק_~/??Iz ЯZX,|1V +Zh#}0Mb&b,(rAXHxWΛ1nt>ՙk71 6qŘ$%bij}YENzUU]YR>/)ԴNmg1"`m̄nKGDd|g7۠yR67c+&)[A&gȆZh cv1\qj*Hp:ۮ2 ^/(Ucm-**>ՓhbjBAy +ډ Ñc܏X‘z"GYfD"НEJA+?] (:F̟XS^+-]+ `n3(8;Cdh(txQtdhSH(Ҡ{ސtHM9RQSq(Y˰-F[7&,NSr7}K^+* +ؘ{,KЏW5gQ]dtjP g_!C ;Jj +<,e:oOrШ +Zb_Z!`6; J8h–|̶`|h68p!*եrTgb\M-m{$f`0]]p7Es~FS!/85^Bk8W^Y?;H: ܔ:aʵWM0id J#Ts{ GX%#bHn kٸ"{^TCWRĒy>TL٢ \83U"5"De^@.Wlŋǐ o0Qjx,7Un'JDyQ/U['J®$ɿh|H $kL8tx@Ƥsjoa%`Q⟙[VY.hb9>Y5ivbnG$cDz{qC(QPu(X $`ÄO8- pRa?H9SeAWVM2^Zu*M˹~ (]'䷪IQ5g_Y]%d'GCpqV#/V?}{Jxa {vN,Z̺X%M ]:j ׇGD߁?u'xDGͬӭ}j8Nwz1Bq{]c{!=jmV6Y.eXA$fPwEޛ|CK3=5E?} rA*GE$#Gn9'Q Yڎ6ލv0XvīzXwP^$-yitWƅ9"5wijbx&=/ TSQWa$7v;X|_+,uPRJw7Q2+8"w`%^i]Sd>ok'7CE =}Lm6^)T߻oK^wk}{V8[ŽdҡxJy.v= fy,eݢv3U.Ƈ]8+5Oa֋q9Ӳ;6$GwZVK$)]ϱPY- ,b.qj5}wh +SùI-/z,2 Ӷ3e3L_8ŇԼhSi&puVB_A߀ak>И:EP PI+T3q8*gY UY 8/3J"}fXKѥ%{$x_NQ^Jp'CK`HĦ44(^8%Ev]xv:y߆uE+ē g%:SeEvLm)A !BQ-t!Qhuxo roM/vr°"RH1%|wVZf=PTNRJlzf_JڣJڣY@MQ8#KXr%|sΈմ(%8]})GDeNFȆIV V45;H endstream endobj 130 0 obj @@ -1898,12 +1869,12 @@ endobj [ 126 0 R 127 0 R 128 0 R ] endobj 126 0 obj -<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 193.158 480.299 436.602 494.647 ] +<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 193.158 329.434 436.602 343.783 ] /Subtype/Link/A<> >> endobj 127 0 obj -<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 145.682 439.651 213.751 453.999 ] +<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 145.682 288.787 213.751 303.135 ] /Subtype/Link/A<> >> endobj @@ -1914,35 +1885,30 @@ endobj << /D [ 130 0 R /XYZ 69.866 813.476 null ] >> endobj 76 0 obj -<< /D [ 130 0 R /XYZ 70.866 508.858 null ] >> +<< /D [ 130 0 R /XYZ 70.866 357.994 null ] >> endobj 80 0 obj -<< /D [ 130 0 R /XYZ 70.866 346.515 null ] >> +<< /D [ 130 0 R /XYZ 70.866 176.548 null ] >> endobj 129 0 obj << /Font << /F27 97 0 R /F39 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 137 0 obj -<< /Filter /FlateDecode /Length 2958 >> +<< /Filter /FlateDecode /Length 2972 >> stream -xڭ[Ɏ$7WTX$ՀocɆ}>/BJbɨjcPB"GRN㛀OOqN9sM$O^LSbJ>~= AԬwItn~W~O•w49B2GiϿ}&&oPN[~q>k{ۯ "dO)vTSLfA u5u0 -=9FaZ˪-TqtQ!lEQy+FvllѠru[Q'$U[5p[q)Ha'8B]ٞq }9W=n*o -Hꓷ:>J-*'SuR|^l|3+㙟U=@SwLf,Jwe{],s -ڃpbl3 HzBI!Y#ҳN]B~ ZşvyW`ߔ+aǺLZsl +71;?^ۿǭ`gf_/~ ? FC|6'~66J$g?YQ!:~Z@η_2$DKͬDץ/z3Ep8Q6Y,s~%Jaƍeb2&ڃ-*=gpgQoS/2C%4J M1jY1t1 <.n C^kMATEjNJ񟹸Fҟd 8G?IPQ;[4 =%'VU,^]I0?i9[*p^j7Ti8 48RꐸaÑߜObjT0~ɛ;Qwwp)L%sTz_¯4|}(;E!Kp;oQxZͮ'\_ٹQَ(=[;3ekw]}i{ZB=6J 7C#0:z%,>qX*ҩX ^> eeQw2;bZj9g)o x' +["]W*yfDu7 |Bn~I2g>J4uF24ѿ ,%:+ٴOfCu3E &qƗ('E٪J69PuWim0" ~+A4\Id7<"ǠCnv2!FМR93R71!/ix%PmKԭX).% S':n4.h;Z_u׌4OF5}QQdbl̓]-sq+[zBo}[]V0_MB>F;׶<%TC^l&z;2=5Em1B=M5E4E!І:U蜊ʻ4I Vn5p+`tH$>$8#7!&_Y{"@EƯz2L]kF@ёlCMg‚GphH +? -4 v+afKb+ٽ%@+hڔr{Tq7]9ޡW@M_ [ܓ5s%X>ݚrK8 SqNF T8I3Ǽĩڏ1pB]WjHiK%W"k"i}GBk~f?m(w%$N)ME[" !&AsR|"p/|mk{=l.҃Iևѕ8Nz寅x|yq~N>[{Y   +:[$ɵ %dZdm=([r@4D@ ZZPLal+4eɇC%Z[&dHyU1˪b_艪7> "j^LwpH3 +eUK +Lrf_4 (֥ץTG1𲵅&;˩Шw?P#?p!ޜݯ2a!"F ҜV|%߭~49ܜэزx82cS7lv-bܭܙc!mDp`˧l:?2]`%grJ=9;ކ/nDݨ}"?m'~;h45PLxܞdiAKYy6z}wٽoX}W5_-9Uཪ $01l;4O`R9h䵪xUX,jg>Tc%nEޏŊvsC|tl8*i +j,r\|Q&50O^0S#6 څ~9gy&6/ ZQa}npmWW~ғ`N5xw5>a6ڊq+Rhj7>iE*:%vMa'~>bGz= K2;Hv-!v^sp҆&hb ֵ!qhB\;JaVА%((=Ы1_1+_QC̞_b ƕ7 `\gnh= w󞆋 4k^~x2bÚ99qݨΉI><ɉ(xFN\{Iu C%e;RCtLy{z1J֟#N<ގ1q>5 XYap8qUJ+W2'.Ɵ_@oX4\;!]uUvvsP"),leFY?k))j~&QC]T4q\& ~8:o,6fdR<90 {/_a endstream endobj 136 0 obj @@ -1961,12 +1927,11 @@ endobj << /Font << /F27 97 0 R /F39 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 143 0 obj -<< /Filter /FlateDecode /Length 847 >> +<< /Filter /FlateDecode /Length 1786 >> stream -xڥVn0 )QGI]m[nEOz.{Q"eKv -ՂHJɏdxJmp0'ÞO8)8X YeXY;p?5Tax_YM8wv`d𯉰:|~"7-Ь!l)<5EVqqxMHy1 $͹p*3pr' s]q-1#m}Ğ=H>l;|= E7|vZpXqF݆(ʪ)mW}n (^&=aV5|{f f4qݾp>w7;3ߩU|$LDR|Slpٯ#uɗ2Wew!w]_Ҁ;"4Sɬ(CƆ~bAjmZ]*cNW2Q'iP:BZ+S`$wlLay}U] d qN -ؕaw۹KesS!ۼG c>=Q?ϛIY~0CK}VE) hdىqaⲾlhF {M#H4Bq#N/_P :ו483'aAG鬹6koݗT9 +xڥYK6 ϯXEo<voAN)Ksh/ER/{^d<%QǏVN?&9}>I>=tf1{I9)Hi5J-QgwNx>Oc2./( a>S~yędx%}Ť!,3A2,޾vz1=vggkS"3XN.xā T\s$-{mDP-VX,bI6g^j́"5 gIEd.Nd'fR( q1990Eb[B%h& 8Րfu`I', ViFˢozi㌭Ղ A8hR䀫mR{e߹|eLryi7YYۻY?AM0q ^A7Z"b 3G8Y)| ʫZp~095 -͋!{y8{v9ifxB-Gk %M'/бղkiQU=ToF0;K%,f]U&hz{ix6MK`o )?ުI'f_V׵ݧqmQVjzeu13g'UkZaMuYr2MccuqM0Y ܡzj&0QXQk&*! thXtnmb[c{\2:y/Е#J͓WHɏ5 +SAgBR:Zm6!&w-zNz.dUvnz˵L.y~^\fC$TQՠwmQ~'a4 +lo5ۡ{9)cX.J1`iR2\td%%]Bբ_[5ze9)Q({gchiD a'<ؑZ)\"ڲ&\oY>DӦKj52yݑ'ڋ>3;m8 ܵ~|Iebv 1P׬#wR[oAWmc\K2gݻWY-F03†*1JZ{>I쓐&Ru/YGU7ƈmb?bd5GYTO[s*[uoz^ endstream endobj 142 0 obj @@ -2024,111 +1989,96 @@ endobj << /Type /Font /Subtype /CIDFontType0 /BaseFont /SSHRCC+IBMPlexSans-Italic /FontDescriptor 146 0 R /W 145 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> endobj 151 0 obj -[ 1 [ 534 ] 3 [ 580 503 580 549 324 528 ] 11 [ 568 250 250 527 272 873 568 560 580 580 367 487 351 568 492 768 507 499 464 641 653 621 671 583 559 695 707 400 510 634 501 812 707 708 606 708 640 581 572 678 609 891 613 593 580 600 ] 59 [ 600 600 600 600 600 600 600 600 600 ] 80 [ 694 891 399 ] 86 [ 588 ] 90 [ 272 ] 92 [ 292 272 292 ] 101 [ 474 ] 103 [ 475 ] 112 [ 335 335 317 317 ] 118 [ 383 ] 122 [ 927 ] 142 [ 600 ] 157 [ 396 ] 194 [ 567 ] 200 [ 534 ] 314 [ 560 ] 344 [ 640 ] 355 [ 568 ] 476 [ 708 ] 515 [ 678 ] ] +[ 1 [ 534 ] 3 [ 580 503 580 549 324 528 ] 11 [ 568 250 250 527 272 873 568 560 580 580 367 487 351 568 492 768 507 499 464 641 653 621 671 583 559 695 707 400 510 634 501 812 707 708 606 708 640 581 572 678 609 891 613 593 580 600 ] 59 [ 600 600 600 600 600 600 600 600 600 ] 80 [ 694 891 399 ] 86 [ 588 780 ] 90 [ 272 ] 92 [ 292 272 292 ] 101 [ 474 ] 103 [ 475 ] 112 [ 335 335 317 317 ] 118 [ 383 ] 122 [ 927 ] 142 [ 600 ] 157 [ 396 ] 194 [ 567 ] 200 [ 534 ] 314 [ 560 ] 344 [ 640 ] 355 [ 568 ] 476 [ 708 ] 515 [ 678 ] ] endobj 153 0 obj << /Filter /FlateDecode /Length 44 >> stream -xڋ`xI71peL  +xڋ`xI71pe  endstream endobj 154 0 obj -<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5365 >> +<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5385 >> stream -xڭY XWPVZbpdd DEpYBLTH&.3"qD4w@pQ5-6(!T4mЙ̗缼|@WssmPP293ȸ+lS& A2IPRCN -[?D(٘>~R҉|ҞSj0+);fY_z'$2_jn*]U)qĤ)+SҖҒt+uYi +\uIiiid0ny.ey|\zD۬Čсi2R$ԍ3v LHOMuXH\0vIgäOXꟐ8+SVKF)ES RvToJIS*՗G)Oz@9PH Jt`ʉBJ9SCapj5r\QhʍCQ Dʝ&Qޔ5)?@RL*R|jH-ҩ7 jIEmvQTK6[/C.'pk65*^6^ܣwFR,_//7**PGcF`buLۗ}Mg[`=S{nYq/WP7{U뽲wY|KyHIU=UT_֧OMߨEj(u:_] ?7ޟ7͚h^3`B:n V -yFr쵺2 e8Ϊsj" Yjէ[-}1Qdװ҄s ']6g;828jȕ\τ- zK.k|+q/{ā3w&:bz3>!S,u -[#+VPFO<":5]D5W)>|cE^8v!MϺETINu9]?g,g~IŦNպν&cJuTN-\?L-ӟw֢zg8| 1Yrs-= H {GNו^->B+WR5TE8  "r Ұb3# ss"1>獩Z~=Pg(m0NIA'HM1b.m+L) 2Mr5&)hr% xYdLW!jA}1W o7r?NvFͳJ=7>)(<6qcwj\ui&E 좷Njܓܼ'ioS ,cnڤ+rYkRE:zUχe.y&LYGƤԣg -01}X(E5TaMͩ7B46d>7T_)zxYZ?wa }T(,D}8Yw}.江ޕzUM_uXwMR^ ,|Ќ#yNxDʧ{6]`37?~`\HXDdp(OoRld뒀uew3;Pr=]tZ/w<53[]QXusȿ -n7Lw?gnd>cL +z/YR@bmcSۭy\˩e3ݒ_(LI6G\c0bb dʲh ,IzLtQcyyi`foRH_%ܷ6ED_/[$E{–mMG#b95ś~Sz5Tpkydv[iNsޱHAu7 eҸYN>s]:ֈ'5|2uB|Z*CO6$% R18IJ HÐ@697'E܌̜.?JJuyYjSaǣ5$,uv hf_Mೖ/K8 c38?g`0јILPXA1SqY9LfTû{5 8z3A=솩@EodEb`nUH$P|Œ}'(kQO07O-}icnb$'1` &ZСcXlܳdvw ni;t3c4a EGГ_~8-*'uRlpb5)+HT]d269P5H Zܩb{/o_ztȥO5FhFX FoUNk_L` #^ 3 9qp՗ڤAMd\Inz @ C{ -' <`?-`/q5ȁ߳k;͌q7,NkV3ԛ gE)'7|1(|D0r!_2YȢ=v\%'+ -~hק^MKv{3-.rh~b@yPJ< ۅ` =UNEryF,~IZD,$5oa.cOƋ /COzɢGV% -4*- &CТx~"#;Mҭ͌hՏ/KC\쿈"b(CBFڻv0m`cQЎXT2–._+m "M}ob? :٢!r41}4' ƷFGfFBjZbclѐ`e ejUp|K<դ|\m1a"ロ30 3[R!fŽ)dd6w+/]|G?%H8K3| ~$0$ 4B= V햅$4P6WZDY՛y i\:a4\:C߰.Ԭu 'maUrY=xOeĚ ِ٘݀-6(P;Њ=@v-j&պx/N(п$`23ҥF*ra2jz(G=Lʥ63]h\NW>^ڢm9+氡s$zFkҰ)& GYϘ/ϣgZpʧcUErB?32Y2.;xpUR:o(AL RNLmK40aXbDt4G( 0w ѽ{9L(w\Ti+;K]rw³fX<^I}ickQ?* +L⨻1Hr (޳/"ğI?~q;[vE"em=6:WAf˅sB$W}%PY buiZY-xmg3,L0txSHa0E’V(k!S뵣I#n=|L:BDu8){sB MndS# >l_s}RڄcP''l?W~{z`a=kc].m -ޣ9E/{*YGGj҂0z6!&.01 ipT;nn=#r-?T35bK -쁷w&ifwC=m?5U}c.=qubzFbX]$ S>}e\~Y ֤YKS +쨾TT??5RS5) +5r)-5B H騡5zrS#(j4BRc5OM&Rɔ;AM)j*KQ(* +©9TMP XjJSitj5AIm>ʩJl,^v\N|j~/Uj'lCW^rl>S׮eJgeM%{'ooVVU}zof~5VcdVΝ39u`wXGY|ߩ9+E *s[+,#+dPT!/H<+Sѕ[FBQHV]i +R>cwL:! dž./m: sfqtph+q6dU n_r%E>4Wb{}ӝX#]!Cr-ܺf!Õ/yN ^ϑN&nJo+.>`"e/Ujh&Ld"C W$:YqdOn7s3 UgR 7u+.8k =ѳ w +ltLԘ,YXEދH'J + v#DȫR.^mop.;}vb6H#nȊp`, +ň":"m3.7{(m(N)NV*Ɖ9x#UPᱼ )c 2Mr5&)Xr%-yYTLAֵltcٯ֚j~&@{1o|_ptѝ=Wu@[ \RX.}sU=կ(I}\%nfrb6$8&]sxrϧ[2ѫzL/sI0m# 3^pe"@)Ot,-5 jjN"ِJ{a &9qZpX7 &00`zP%s҅nQDr3a3'LS`A1=Ӕukӄ lڞGa|$v bɇͨ=K[JD7{yKt|zb vsO &uhxf)ŶhVeBl,مG& ;~6~;ੁꊂ^p@\PuqdV ">4?D|iq3=5}Am& /H.9<0Ypv䎡 uae $TTFLgQ= ɀzI17&cf!=U'=}GhSnYABy4nn|gbFRSCf,<|!^XDЪIICj Nh0,ЅMN7c3ۏS]nm,ih!F M廬o48&$ϩh٧Rj`K2n3ML$7[siηDa1SY_10hDh̠cfBtXM13p1LeT#{IΨa[=dPz; ̳[ݤ;XN:э?:,YO2fky`1 ^(`<#+ ɡd84>u՞FQv]5W>9#N?EOТ2?0-c 5E%NAN8焯 Qu}Q*6@v#bsa4 oDdX ~MF`!>6Aat]a*pZ$@-\4E2hdі'pQ}]DJ)m@񇱯h}w"}U< 9+Wƨ̴=1[<;ң+LuYF\0J*b'Qʅ0(fKZ-?UA[K1(-ij>U˰ev]#0ȅRUhOonrj(zV6/X6` EMҲ&b&y;s{7^otzۭM0\dUXII{=`iK5-a[pÏ%_ztWXt{cF7Z%#._Ŧ6 tcn ,+LhN4=7GA@;'^Pm%ۻ} hR  D +cLg1̄8p؃ M00:530&[)0y&c!%` x`'A%}?GP%؀Nɞ~ ]mꌲPvWۛ`88_ȥ'_zڱ˶;e+OUhcI'-3 /md_wT9Ǯ/Bch,VB xM1h?w)>/Sv f=q,. +aVKi5E/5 m=^_&nl'1>x/AXGR +Noy /4i5 0p}|J?d h`l%i}CLĶT9{MG= +HW4ߒ>RΑ ?z]D!@:~K6(`aamֽ2`/?/r[iti]/YYOΪ6f7H {pʈ5 +0[lPl鷠aA{[ j[.u!M=_ӝ!?ݢWX Eh)G+&Je{\:B tMT3)PO4q]ditN)zĎr_v|0k!=pׂS]P>8m!=51U$*D& WeOJ +e/\0l)B yj.eZߢ,v/FGoQ&nyl&:mpkڎķYyѮ?&~V?xF]cL~!dα]x{q>B8) Q^s̢"B}gn_!PVO(U܎*7 V+uS~\mʔtaO@wy 0ffeҔR8XJaZ=x޹e/c"$^2@+(#q T(Uџ)V7|P0~䷋6)WyHD?LĘD$|# [³WCg'LX8\гᅋUBOYA bmo^8~CDuˆn3'MܚO[(kr^4vr^RACC=B0Kh- -\o qcncL߹ŭ,0zʏVxfP\ɀ>wq6Lv<գGg 6P=ڊ,!]PgUceyttTߋʀd$d_f ip;9$g[j'f7Q,)OwڗV^fd@8}@N=g_\o?pcQw%rl_=Tg0t:]¹*P*kvPKVV endstream endobj 152 0 obj -<< /Type /FontDescriptor /FontName /QGWSQH+IBMPlexSans /Flags 4 /FontBBox [ -260 -245 1241 1119 ] /Ascent 1025 /CapHeight 698 /Descent -275 /ItalicAngle 0 /StemV 91 /XHeight 516 /FontFile3 154 0 R /CIDSet 153 0 R >> +<< /Type /FontDescriptor /FontName /QGVEMU+IBMPlexSans /Flags 4 /FontBBox [ -260 -245 1241 1119 ] /Ascent 1025 /CapHeight 698 /Descent -275 /ItalicAngle 0 /StemV 91 /XHeight 516 /FontFile3 154 0 R /CIDSet 153 0 R >> endobj 155 0 obj -<< /Filter /FlateDecode /Length 735 >> +<< /Filter /FlateDecode /Length 740 >> stream -xuKo@FEtA$BHC"O[b%sDjHD;sâwS//Rw}or&ggY6y_ⴺM/^Oټ*_y?U}^4e^=G?_o?{Y,]/6/ׇ*LӴ`^j)~(:4JEf7ۡeHCS֋_.Wq]^PD"ԶwwEG 3rد3_WZt,Fg2g}8d&Clt !i"&Y! HHҐHҐ4%]fҜ4!-HӐdJ"H .%88$?OW$ ?O9$~&g`QX~Eg`QX~Eg`Qz3Zgk +?K~?OgY4~?OgY4~?O!8h4:#:!38h 2!Sn!SvF +'HV`,An}+եE_ endstream endobj 97 0 obj -<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QGWSQH+IBMPlexSans /DescendantFonts [ 156 0 R ] /ToUnicode 155 0 R >> +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QGVEMU+IBMPlexSans /DescendantFonts [ 156 0 R ] /ToUnicode 155 0 R >> endobj 156 0 obj -<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QGWSQH+IBMPlexSans /FontDescriptor 152 0 R /W 151 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QGVEMU+IBMPlexSans /FontDescriptor 152 0 R /W 151 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> endobj 157 0 obj -[ 1 [ 569 ] 3 [ 608 517 608 562 361 552 ] 11 [ 596 286 286 577 303 894 596 564 608 608 404 504 383 596 538 841 ] 28 [ 534 518 685 667 651 697 607 585 719 724 432 559 696 530 819 724 714 656 ] 47 [ 674 624 584 694 650 973 ] 55 [ 607 600 ] 59 [ 600 600 600 600 600 600 ] 66 [ 600 600 ] 80 [ 721 ] 82 [ 403 ] 86 [ 588 780 ] 90 [ 310 ] 92 [ 330 310 ] 101 [ 535 ] 103 [ 539 ] 112 [ 338 338 ] 118 [ 460 ] 194 [ 647 ] 200 [ 569 ] 314 [ 564 ] 344 [ 692 ] 355 [ 596 ] 515 [ 694 ] ] +[ 1 [ 569 ] 3 [ 608 517 608 562 361 552 ] 11 [ 596 286 286 577 303 894 596 564 608 ] 21 [ 404 504 383 596 538 841 ] 29 [ 518 685 667 651 697 607 585 ] 38 [ 432 ] 40 [ 696 530 819 ] 45 [ 656 ] 48 [ 624 584 ] 51 [ 650 ] 55 [ 607 ] 82 [ 403 ] 90 [ 310 ] 92 [ 330 ] 112 [ 338 338 ] 194 [ 647 ] 200 [ 569 ] 314 [ 564 ] 515 [ 694 ] ] endobj 159 0 obj -<< /Filter /FlateDecode /Length 39 >> +<< /Filter /FlateDecode /Length 35 >> stream -xڋ?o`Xp70`2E -' +xڋ'40B2P`/\ endstream endobj 160 0 obj -<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4888 >> +<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3102 >> stream -xڝ9 TW4U)[6U ;ŀj ʾ:PGKF%n b0q4&5.xPx8?9Ι8Mzw -ؘQ(#§N<-4";tvbNi)򳙒dZ%H#$I4 JMTn1bHs; &?6l_Ud]hƄl[8z8{E +;ɐؐؐW\mHIM,12R %)N켂\ -LI1d$'%&eʧR -r rdg]ݼ ! 05;PZZP,?2Ȃd~SY? -F3,11a2*ƌa9cX2jƊ0Zf83ftHF`D03͌a28Ɓqd ʸ1ɼx3_f2LaiLbh&c1L:3iGH6R*X' 1b>gz -4kZ9QY<|ile\l|}ĵp=$$I^nS4j8d! 9?F G٪E};ff ffwx'~;0a`1""âb3Kej:\>oBTjz[V톔n^Իω~: e=@~LrW/j@ba )SC/>jǂ1˛JQ}lgk/mqꥳ+ԫaCM|A~qٿ{Z(ARIX*b T_by! -K/ks->6kلKz"# *]M"CZZ% $8)aە)\SE-8+a_#5"l}xviSڼkArf^6ztA_?HZTR>z*jo)L︳K#:-0X_:[f_XTv!i?TO%@@AR5ZTpLSGũ?Y9zߴg𠁀{`A߇VI!sf+03u]9Ǎۊ%g @O^+9bMsLjS | f<˫],,*@i LQ/5j洠NśvTVlBhOjtˋ9vBFdnN_!,=:Nn'-G{cͯJ=B('a+2#uS.΃@֕6P -(hR.$sV߼rFfp/Y(q@Wtyf2[\ϑDړ-P%~$o,`a:4h`ޜ-ZƁX -g~u5^v 4eѾqny.P5`xB-<" ; h4{c_.j1"JUKŏiާl7d@$/Ω Y҄[S0%:-N?ڀƑW}g JC *_]t]8*8{kw:>u?:ܑ,z3ރyYur2Bj xZ?PB>71yvdl4u2 p&{=hUjj5F4#IMXWZWxCCq֗?Q1Hq: Cg>b~|]vIiUO6T{s=+htA% #4آI/+IhUSQ/h%mP*  ->n? \GuJZ=y4PTHRB,̈YJ.f2XÁv[z'Hv W#/ȹh;\ f' a2=tAv9͊u%×tb?R>eq,!}GH~4쿳SRǏzcRR*6QL|Zc#>Ɩ(Z+{k7c;>,,㎣ M:Fj\ V V eV⸞`*׆`qQKWל;JLU$ȁS8˃;L\P,`'#0Y\H )ؑw^8x)iY=SY qzV0ѹԥDV -0 1JhZ,r0CDՔ?)fB`),E"nmУJ%TΎue8(cZM - :M7Aߗ:ۊώb-^IURz,Y>:K a -M`%Yc5AAk_PXaD69 `~}|j`~H[9xpzZAYkE|%0t=0l̤80SA>i37)h/ ZR, -A֎ Pf)Ixz^|\sҸz==XGf[qoXɀS AVH.PY ڣ*{F,*;uml-R|4 S-Q&pf?p -fыRp'?`$>flA|iefg]}ѳp~e4N{ida99_q9. "]C+鶇OR6'Uk:2pH@Chć0R<#Յx2?p@s?ITЄ%ЀrT0w`'<ց;] )'9Q~M訳us\ghP/bȊ&/.];6kRy^ +6bҳ<'ލ^ϧJ -ٲOID=DR[ ]uZ&q^+.q7~$Arm˟KusK?L kɟ)Z}8;\v7rEgrˁ6V _i}< S9 4$ jL‡~PD eޔRRg?K=U6>**ZbKNRϼP -^4gL/R,0S~a۷BmAlC' |7JPJ@3n0?malE_\<9%V!RjK @˽ҁ}t>>ٴeO~HѼ(qKLB;_ RbG̕|4hFn6?&iA,PN?r5lX< =I0ϯm<>{'kNnџɜ+~DLTЁ4*@"-:Cw` -ZQGK5ùIї WH])mcl -'°%S&W) -*k!׃ӗԜoq{\q% YOЮap~uUWp{RtTbM5Xx~[c2C}p8b}GipKb%tp{ a1 J3̅@,U!ApÑ`1`C?Oh{`z3_Ҏ;W: x)RRErס/(1NwZJNko˜#9i7Vwdm7暽mm5 ߒ!=i  j-Ӏ#(1j4?|BŪ\~[C2CpHmjw07XOݩV`.hqMxȺ $nU܊% Ȁ鈛GNu^xE|]f</ED;78wAPT.Nfra~\U"j)ʾ%zR#;t͡Uy$WB,(<@6Vi@շUy {cKcd8^(0] .}-s3Q̫Τ6S4fmzL|Qu4~+ + pL-q$*3).ޤp{Igm>I&$co.HO6yĝ?-6rnLo'nԯGLMXavdTf7XYMrMn鶓=as<֢7 :Z8] MW +.¨WXOuoX`P) C^Q{ qu}S bz(HJ@G 0yO0oi_:I' |>`]xۅ_ѵ|Mg &|QP/N=/Ӵnw knyڷ<2/KMy~~Wnj'寐jJd$/0r- e.0Um|}Bz6{u5_lJPŁa |";ߑդnu~§Ľ$z$O}EžxҭK3ui% 6.b}U[Pئ66ԡXwYbT+,28ݥ6L96 -=%j; p, axmؽÌ udh(D}TUC =TMTf -+ +xڝW TSg~!D%^E к`E *k)([ hVGvp)"ZתEL+U[jZ<(\39/ɻw>codQSgMcX2#5`$cNl!z*xq#;Q'A!Pأ엳FGO\U CTxcKvcХ蕓K[K]3f2 s :]aAg62 +t Ɯ< +Ss3tٹyi9I`2MpcRSvfV.( pn 799:`*2d襧.L'{A21Øf0f.eG{e803`\%Ӈc\f4Lf3qg3<#0:ƃdoƇΌ`F2L 3yI`$&g`˩y `![.*CavOcfy; :q#ѤޡLjG#8߱ʩSS_Zݜ;rۥvm: CFu< UmFs,@(Q{5@-}'G5DƳ}siW[&(Fh޴&~-*n S [N񗢹7̉rEb(`ٵ|`6Uŭ𹵆S'llJ9?ba4@U?Ugmx0% Qi)3x<8^-ίwcS 2㴱9Zegau<(r&bPbM ďB^Bi\5_\`DxF~M/jMpHsџKY(m PGt)mN&efFkCԶ +Z+N QX =qi +!94[D= G+껀xv/_n9BD$W2tvxPv2ac@Pu uFtяtu7ٶ=Zu.dva-un4y#``&G%_z}'N9L.Qu$18}^ +b^>\2L΀G6,^:-.߿imLNWX@/seɼ$JӖaI JI q Gܼ֝p +$\Ս[2}7gm 8Tؓj(M97QeďЭ0E71}KŢ7a=lk0V~\3 v55KP`n.feb0.1-YL+8..Ne$܀GXt$f jqYV=P=R8|i zeaw DzP` YRp` A~?4"uvxqO܁ǻΩl-LI0pN_N% ]XL +ؗSV Z1Tq^bR´AqVi_ˈ/yi@7-ơ jK'(RaԦ#jM8%-b(FnZTUNn7&r^6;r^ZJe;wPUe"WTC˩Z95StI KEL$p nSߣ힤@t!ʯuǘm[YX 0A-G1Խcgޖn +QBs^b?k;_hwξb5%Vs'`DUj@/ 5A@h;JxF y|2X0٥\mw1e,FIQ76~Юe>b$Ã: aK 'Fn;f7@U.gm+g%6J6tő譍ޚF=n&z@˥7zsJ.s@ c{h݊U4ι!pLL C";_V>"T#ݱdL遈T ba +-ɪ-0楪QnR3{Ft}pVspB<8Hv<7,8ܟNҕ0+ Bݔ ;C5 ND`qWV&Fž@\4FnPwX=~{7Ù] ^6w0_i`+5_XK^ KMK^6ʫZz1WƚYdǗI֍2] # lGYebZbzkT/ſ +g NYVPtԕ)\enm endstream endobj 158 0 obj -<< /Type /FontDescriptor /FontName /OANFAB+IBMPlexSans-Bold /Flags 4 /FontBBox [ -307 -275 1332 1150 ] /Ascent 1025 /CapHeight 698 /Descent -275 /ItalicAngle 0 /StemV 103 /XHeight 525 /FontFile3 160 0 R /CIDSet 159 0 R >> +<< /Type /FontDescriptor /FontName /IOJUPK+IBMPlexSans-Bold /Flags 4 /FontBBox [ -307 -275 1332 1150 ] /Ascent 1025 /CapHeight 698 /Descent -275 /ItalicAngle 0 /StemV 103 /XHeight 525 /FontFile3 160 0 R /CIDSet 159 0 R >> endobj 161 0 obj -<< /Filter /FlateDecode /Length 690 >> +<< /Filter /FlateDecode /Length 570 >> stream -x}]kPE+<kW4aR06v$'+0LGPsr1ǫo"D߆ŵթ$U]~9msSe[׉dڔEwopݥEK^%q~Nb9,?l'O¡} E*82?\U m2O@ѥ^|2oFm0H%"F?cм=;n}fb]soS(n#`>3z?-W9|k'Yeٕ.!s1K C !O'Q -> Q (HBd+ D -"ta0]AdHWAd 2xQUUU1C ->C ->K -" B!i,D" BqmqqqSLq$L7L78$hpIRT*RCjy< 'D#K׌ƫqY̝Vܕd|'+!#5~R!-g++#SG`1a ;coe闖_~3 ;(nzo/zJ?* +x}Q0)r5ISUw*wkmFii+ +?3fft0zy toDm}a*Աa-2Sv6839K~ͷ0nN{6W'rkWv'@fW'󃚶 s: +`[Pl!.'[m蜙CL&lnۮz`n459'6f{9ƃi:أm3/_ղ~և=kMLz.*MmH6Ode?Ӏk]%ض?Ƈ XL=E Rh A h z%9 A A+PIp[/A`" X'H:AE X X+tPZ!B> k| +$Ix*tIL/f +}0S苄Y#d=B#䋑/B'bTL$z"D& q 2HX﷝7]y?y?`7y).Mc7 LUv^L֫ŀS endstream endobj 96 0 obj -<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OANFAB+IBMPlexSans-Bold /DescendantFonts [ 162 0 R ] /ToUnicode 161 0 R >> +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IOJUPK+IBMPlexSans-Bold /DescendantFonts [ 162 0 R ] /ToUnicode 161 0 R >> endobj 162 0 obj -<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OANFAB+IBMPlexSans-Bold /FontDescriptor 158 0 R /W 157 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IOJUPK+IBMPlexSans-Bold /FontDescriptor 158 0 R /W 157 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> endobj 98 0 obj << /Type /Pages /Count 8 /Kids [ 84 0 R 103 0 R 109 0 R 115 0 R 121 0 R 130 0 R 136 0 R 142 0 R ] >> @@ -2221,180 +2171,180 @@ endobj << /Type /Catalog /Pages 98 0 R /Outlines 163 0 R /Names 165 0 R /PageMode/UseOutlines /OpenAction 83 0 R >> endobj 167 0 obj -<< /Author(\376\377\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Title(\376\377\000L\000e\000b\000e\000n\000s\000l\000a\000u\000f\000\040\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Subject()/Creator(\376\377\000P\000a\000n\000d\000o\000c\000\040\000+\000\040\000L\000u\000a\000L\000a\000T\000e\000X)/Keywords() /Producer (LuaTeX-1.24.0) /CreationDate (D:20260427202011+02'00') /ModDate (D:20260427202011+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.24.0 (MiKTeX 26.2)) >> +<< /Author(\376\377\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Title(\376\377\000L\000e\000b\000e\000n\000s\000l\000a\000u\000f\000\040\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Subject()/Creator(\376\377\000P\000a\000n\000d\000o\000c\000\040\000+\000\040\000L\000u\000a\000L\000a\000T\000e\000X)/Keywords() /Producer (LuaTeX-1.24.0) /CreationDate (D:20260428171807+02'00') /ModDate (D:20260428171807+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.24.0 (MiKTeX 26.2)) >> endobj xref 0 168 0000000000 65535 f 0000000020 00000 n -0000407293 00000 n -0000455136 00000 n +0000407076 00000 n +0000453320 00000 n 0000000062 00000 n 0000000263 00000 n -0000407353 00000 n -0000455066 00000 n +0000407136 00000 n +0000453250 00000 n 0000000309 00000 n 0000000396 00000 n -0000407413 00000 n -0000454958 00000 n +0000407195 00000 n +0000453142 00000 n 0000000442 00000 n 0000000545 00000 n -0000454860 00000 n +0000453044 00000 n 0000000592 00000 n 0000000824 00000 n -0000407474 00000 n -0000454762 00000 n +0000407256 00000 n +0000452946 00000 n 0000000871 00000 n 0000001313 00000 n -0000454664 00000 n +0000452848 00000 n 0000001360 00000 n 0000002092 00000 n -0000454566 00000 n +0000452750 00000 n 0000002139 00000 n 0000002666 00000 n -0000454468 00000 n +0000452652 00000 n 0000002713 00000 n 0000003175 00000 n -0000454370 00000 n +0000452554 00000 n 0000003222 00000 n 0000003949 00000 n -0000454272 00000 n +0000452456 00000 n 0000003996 00000 n 0000004555 00000 n -0000454174 00000 n +0000452358 00000 n 0000004602 00000 n 0000005129 00000 n -0000454076 00000 n +0000452260 00000 n 0000005176 00000 n 0000005633 00000 n -0000453978 00000 n +0000452162 00000 n 0000005680 00000 n 0000006152 00000 n -0000453880 00000 n +0000452064 00000 n 0000006199 00000 n 0000006685 00000 n -0000453769 00000 n +0000451953 00000 n 0000006732 00000 n 0000006995 00000 n -0000420573 00000 n -0000453695 00000 n +0000420251 00000 n +0000451879 00000 n 0000007042 00000 n 0000007966 00000 n -0000453608 00000 n +0000451792 00000 n 0000008013 00000 n 0000008791 00000 n -0000453521 00000 n +0000451705 00000 n 0000008838 00000 n 0000009853 00000 n -0000453434 00000 n +0000451618 00000 n 0000009900 00000 n 0000010554 00000 n -0000453347 00000 n +0000451531 00000 n 0000010601 00000 n 0000011262 00000 n -0000453260 00000 n +0000451444 00000 n 0000011309 00000 n 0000011935 00000 n -0000453186 00000 n +0000451370 00000 n 0000011982 00000 n 0000012454 00000 n -0000453099 00000 n +0000451283 00000 n 0000012501 00000 n 0000012579 00000 n -0000428750 00000 n -0000453012 00000 n +0000428007 00000 n +0000451196 00000 n 0000012622 00000 n 0000012695 00000 n -0000428812 00000 n -0000452938 00000 n +0000428069 00000 n +0000451122 00000 n 0000012738 00000 n 0000012816 00000 n -0000016131 00000 n -0000406099 00000 n -0000406283 00000 n -0000406451 00000 n -0000406655 00000 n -0000406824 00000 n -0000016325 00000 n -0000407023 00000 n -0000407535 00000 n +0000015912 00000 n +0000405880 00000 n +0000406064 00000 n +0000406233 00000 n +0000406437 00000 n +0000406607 00000 n +0000016106 00000 n +0000406806 00000 n +0000407317 00000 n 0000012866 00000 n -0000407171 00000 n -0000407232 00000 n -0000452389 00000 n -0000445426 00000 n -0000452746 00000 n -0000016263 00000 n -0000433700 00000 n -0000411839 00000 n -0000412051 00000 n -0000411674 00000 n -0000407652 00000 n -0000411988 00000 n -0000411810 00000 n -0000415977 00000 n -0000416189 00000 n -0000415812 00000 n -0000412134 00000 n -0000416126 00000 n -0000415948 00000 n -0000420361 00000 n -0000420635 00000 n -0000420196 00000 n -0000416272 00000 n -0000420510 00000 n -0000420332 00000 n -0000424564 00000 n -0000424776 00000 n -0000424399 00000 n -0000420718 00000 n -0000424713 00000 n -0000437882 00000 n -0000424535 00000 n -0000428090 00000 n -0000428317 00000 n -0000428538 00000 n -0000428874 00000 n -0000427909 00000 n -0000424872 00000 n -0000428687 00000 n -0000428045 00000 n -0000432162 00000 n -0000432374 00000 n -0000431997 00000 n -0000428957 00000 n -0000432311 00000 n -0000432133 00000 n -0000433551 00000 n -0000433763 00000 n -0000433386 00000 n -0000432457 00000 n -0000433522 00000 n -0000433846 00000 n -0000437062 00000 n -0000434122 00000 n -0000434227 00000 n -0000437304 00000 n -0000438040 00000 n -0000438244 00000 n -0000444376 00000 n -0000438779 00000 n -0000438905 00000 n -0000444609 00000 n -0000445576 00000 n -0000445773 00000 n -0000451378 00000 n -0000446263 00000 n -0000446384 00000 n -0000451617 00000 n -0000452544 00000 n -0000452864 00000 n -0000455231 00000 n -0000455582 00000 n -0000455620 00000 n -0000455746 00000 n +0000406954 00000 n +0000407015 00000 n +0000450573 00000 n +0000445665 00000 n +0000450930 00000 n +0000016044 00000 n +0000433910 00000 n +0000411574 00000 n +0000411786 00000 n +0000411409 00000 n +0000407434 00000 n +0000411723 00000 n +0000411545 00000 n +0000415783 00000 n +0000415995 00000 n +0000415618 00000 n +0000411857 00000 n +0000415932 00000 n +0000415754 00000 n +0000420039 00000 n +0000420313 00000 n +0000419874 00000 n +0000416066 00000 n +0000420188 00000 n +0000420010 00000 n +0000423774 00000 n +0000423986 00000 n +0000423609 00000 n +0000420396 00000 n +0000423923 00000 n +0000438092 00000 n +0000423745 00000 n +0000427347 00000 n +0000427574 00000 n +0000427795 00000 n +0000428131 00000 n +0000427166 00000 n +0000424070 00000 n +0000427944 00000 n +0000427302 00000 n +0000431433 00000 n +0000431645 00000 n +0000431268 00000 n +0000428214 00000 n +0000431582 00000 n +0000431404 00000 n +0000433761 00000 n +0000433973 00000 n +0000433596 00000 n +0000431728 00000 n +0000433732 00000 n +0000434056 00000 n +0000437272 00000 n +0000434332 00000 n +0000434437 00000 n +0000437514 00000 n +0000438250 00000 n +0000438454 00000 n +0000444610 00000 n +0000438993 00000 n +0000439119 00000 n +0000444843 00000 n +0000445815 00000 n +0000446012 00000 n +0000449682 00000 n +0000446357 00000 n +0000446474 00000 n +0000449921 00000 n +0000450728 00000 n +0000451048 00000 n +0000453415 00000 n +0000453766 00000 n +0000453804 00000 n +0000453930 00000 n trailer -<< /Size 168 /Root 166 0 R /Info 167 0 R /ID [ <7B524FD0F32ADB5B346DE6660085B67E> <7B524FD0F32ADB5B346DE6660085B67E> ] >> +<< /Size 168 /Root 166 0 R /Info 167 0 R /ID [ <72167904CDE55491B5A11E974E7FF178> <72167904CDE55491B5A11E974E7FF178> ] >> startxref -456406 +454590 %%EOF diff --git a/artefakte/01-lebenslauf/output/Lebenslauf_Neu_Abschnitte.md b/artefakte/01-lebenslauf/output/Lebenslauf_Neu_Abschnitte.md new file mode 100644 index 0000000..7577274 --- /dev/null +++ b/artefakte/01-lebenslauf/output/Lebenslauf_Neu_Abschnitte.md @@ -0,0 +1,235 @@ +## Zusammenfassung + +• TÜV-zertifizierter AI Consultant und promovierter Ingenieur mit über 30 Jahren Erfahrung in Entwicklung, Test und System Integration von Elektronik +• Seit 2011 freiberuflicher Consultant mit eigenem Ingenieurbüro DesTEngS +• Schwerpunkte: Generative KI (Potenzialanalyse, Schulung, Implementierung), Requirements Engineering, Software Design, System Integration, Test und Test-Automatisierung +• Drei KI-Potenzialanalyse-Workshops durchgeführt, jeweils mit Identifizierung und Bewertung konkreter KI-Use-Cases +• Erfolgreich tätig in Großkonzernen, Startups und Forschungsinstituten aus Industrie-Elektronik, Automotive, Halbleiter und Telekommunikation +• Kommunikations- und Präsentationsstärke auf allen Ebenen, von Fachteams bis Geschäftsführung +• Flexibler Arbeitsstil als Gruppenleiter (10 Mitarbeiter), Team-Mitglied und autonomer Experte + +## Projekte als freiberuflicher Consultant + +Seit Juli 2011 — Inhaber von DesTEngS Dr.-Ing. Thomas Langer, nahe München: +• KI-Potenzialanalyse-Workshops +o Schrack Technik Österreich, Geschäftsführung und Abteilungsleitungen, Achau bei Wien, 13. Nov. 2025 +o Safe4Net, Geschäftsführung, Online, 28. Aug. + 2. Sep. 2025 +• KI-Beratungen +• Anwendung von KI bei Konzepten, System Engineering, Software Design, Automatisierungen, System Integration und Tests +• KI-gestützte Dokumentationen und Illustrationen +Aug. 2024 – Feb. 2026 — Consultant bei ASMPT (Industrielle Bestückungsmaschinen), System Integration Abteilung R&D 38, München: +• KI-Workshop +o Überblick und Grundlagen Generativer KI +o Praxis-Beispiele zur Verarbeitung der speziellen ASMPT System-Integration-Datenformate mit Machine Learning und Generativer KI +o Identifizierung und Bewertung von System Integration KI Use-Cases +• ASMPT Tool „ArxmlGenerator” +o Erweiterungen für neue Elemente der ASMPT Ethernet Feldbus Domain-Specific Language „YAP” +o KI-gestützte Dokumentation der Transformationslogik +o Optimierungen und Bug Fixes +• Design eines Python Clients zur Analyse von Nachrichten im ASMPT-eigenen Ethernet Feldbus Protokoll +• Ermittlung von System Integration Standard Use-Cases und Erstellung der zugehörigen Vector CANalyzer Konfigurationen zur Steigerung der Effizienz durch Vereinheitlichung der Testplatz-Umgebungen +• Entwicklung eines Python-Tools mit PyShark zur Konvertierung spezieller Bestückungsmaschinen Trace-Daten für die Nutzung in Vector CANalyzer +Sep. 2025 – Feb. 2026 — Projekt „Kischdle”, Geschäftskonzept von 2 potenziellen Gründern: +• On-Premise KI-System mit Consumer-GPU und Retrieval Augmented Generation (RAG) +o Technische Machbarkeitsabschätzung, Marktanalyse, Zielgruppendefinition, Schätzung des adressierbaren Markts und Konzepterstellung +o Auswahl und Kauf der Proof-of-Concept Hardware, Implementierung des KI-System Inference-Teils mit Nvidia-GPU, OpenAI gpt-oss-20b LLM, Ollama und Open WebUI, Performance-Tests +o Erweiterung durch PyTorch-Umgebung für multimodale KI-Modelle (Bild und Text), Evaluierungen des Inference-Modells Qwen3-VL-8B und des Embedding-Modells tomoro-colqwen3-embed-4b +o Evaluierung von Langflow für Workflow-Automatisierungen mit AI-Agents +Jan. – Feb. 2026 — Consultant bei Lumiz (Marketing-Dienstleister), Taufkirchen: +• KI-gestützte Automatisierung der Einkäufe auf einer Druckerei-Website mit UI.Vision +o Import der Daten im Lumiz-Format, Auswahl der Lieferzeiten und Bestelloptionen, Ausführung der Bestellvorgänge inklusive Bezahlung +o Hochladen der Druckdaten aus der Lumiz-Cloud +o Protokollierung der Vorgänge +Nov. 2020 – Mai 2024 — Consultant bei ASMPT (Industrielle Bestückungsmaschinen), System Integration Abteilung R&D 38, München: +• Maßgebliche Mitwirkung bei Konzepterstellung und Einführung eines neuen Gigabit Ethernet Feldbus für performantere Steuerung von ASMPTs industriellen Bestückungsmaschinen +o Validierung von Ethernet Protokollen und Middlewares, Bereitstellung der Entscheidungsgrundlage für die Auswahl der besten Lösung (UDP, TCP inclusive Slow Start und Nagle-Algorithmus, IEEE 1722 (AVTP frames), Precision Time Protocol (PTP, gPTP), DoIP, Scalable service-Oriented MiddlewarE over IP (SOME/IP), Object Management Group (OMG) Data Distribution Service (DDS)) +• Mitarbeit bei der Entwicklung einer Domain-Specific Language (DSL) „YAP” zur Beschreibung der ASMPT Ethernet Feldbus Nachrichtenformate +• Erstellung von Testumgebungen und Werkzeugen für Tests und Test-Automatisierung +o Entwicklung von Testprozeduren und Key Performance Indicators (KPIs) zur Bestimmung von ASMPTs Gigabit Ethernet und CAN-Bus Netzwerkverkehr in Bestückungsmaschinen +o Erstellung von Man-in-the-Middle Instrumenten für Tests mit Fehler-Einstreuung +o Konfiguration der Embedded Linux Remote Control Units +• Entwicklung von C++, Python und CAPL Programmen +o Um die Weiterverwendung der existierenden CAN-Bus Analysewerkzeuge mit ASMPTs Gigabit Ethernet Feldbus zu ermöglichen +o ASMPT Tool „ArxmlGenerator”: Automatisierte Erstellung von AUTOSAR XML (ARXML) Modellbeschreibungsdateien aus ASMPTs „YAP” DSL-Dateien zur Dekodierung der Ethernet Feldbus-Nachrichten in Vector CANalyzer, Teil des Continuous Integration Prozesses +o Test-Automatisierungen mit Python PyAutoGUI +o Erzeugung und Analyse von Ethernet Testnachrichten: Raw Ethernet Frames im OSI Layer 2, UDP, TCP, SOME/IP und im ASMPT Ethernet Feldbus Format +o Bestimmung von Ethernet Datenraten, Frame Übertragungsverzögerungen und Reserven +• Evaluierung von Vector Informatik Ethernet Analysegeräten +o Ethernet-Interface Hardware VN5640 und VN5650, CANalyzer Software mit TCP/IP API, CAPL Programmen und AUTOSAR ARXML +o Optimierung des Aufbaus für Datenaufzeichnung bis zur vollen Gigabit Ethernet Datenrate +o Entdeckung sporadischer Zeitabweichungen der Ethernet-Interface Hardware, Idee und Aufbau einer hochpräzisen Zeit-Referenz mit einem preiswerten GPS-Modul, Feststellung einer signifikanten Spec-Verletzung der Vector Hardware Zeitbasis +• Evaluierung GL Communications PacketExpert Gigabit Ethernet Tester +Aug. 2018 – Juli 2020 — Consultant bei Magna Electronics Europe (Automobil-Zulieferer), München: +• LIDAR Compute Module +o Bring-Up Unterstützung, Labortests, Fehleranalyse +o Unterstützung der Design Validierung mit Schwerpunkt EMV Tests +o Bestimmung aller Hardware Datenquellen für eine Überwachung mit SoC Embedded Linux +o Erstellung von Requirements für eine Diagnose Test Software +• Function Owner xDiagnostics +o Konzepterstellung der erweiterten Diagnose Test Software „xDiagnostics” für das LIDAR System mit XCP on Ethernet zur Überwachung und Steuerung von bis zu 82 internen Signalen (Zustände, Zähler und Bitfehler von Highspeed Links, Spannungen, Temperaturen und mehr) +o Verwaltung von PTC Integrity Features, Requirements, Tasks, Reviews und Defects +o Überwachung der xDiagnostics Implementierung in der AUTOSAR LIDAR Compute Module SW und in der Vector CANoe-basierten Tester SW, CANoe GUI Design, CAPL Code Erstellung +o xDiagnostics ermöglichte eine Design-Validierung in einem frühen Entwicklungsstadium +• Elektromagnetische Feldsimulationen mit CST für den GMSL Pfad eines Kameramoduls zur Verifikation der Signalintegrität +Nov. 2014 – Juli 2018 — Consultant bei Infineon, Abteilung DES TCP PCB, Großraum München: +• Signal Integrity und Power Integrity Simulationen von IC Packages und PCBs +o Analysen für diverse Schnittstellen inklusive LVDS, DDR3, Ethernet Interfaces, Flash Speicher Kommunikation, EBU und CAN-Bus +o Entdeckung eines HF-Design Fehlers bei einem Evaluierungsboard, Erarbeitung eines verbesserten Designs zur Korrektur: Verhinderte eine Verzögerung der IC-Evaluierung und vermied die Kosten eines Evaluierungsboard Redesigns +o Entwicklung eines speziellen, aber leicht zu implementierenden PCB Clock Distribution Netzwerks für ein IC mit extrem steilen Clock Flanken: Ermöglichte den Betrieb des ICs trotz des falsch ausgelegten Clock Drivers +o Systemstudien von ADAS LVDS Übertragungsstrecken +• Simulationen und Optimierungen der Chip-PCB-Übergänge von 77 GHz ADAS Radar MMICs +• EM Feldsimulationen zur Modell Extraktion von IC Packages und PCBs +• Erstellung von Matlab, Python und IronPython Programmen +Apr. – Aug. 2015 — Consultant bei Kathrein.net.tech (Ubidyne-Nachfolger), Ulm: +• Inbetriebnahme, Evaluierung und Optimierung von Transceiver Modulen +• Automatisierung von HF-Tests mit Matlab und Ruby +Sep. 2011 – Juli 2014 — Consultant bei Alcatel-Lucent, Abteilung MS/E, Stuttgart: +• Projekt Light Radio AAA: Aktives Antennen Array für 2.5 GHz LTE +o RX Pfad (LNAs, Filter, Demodulator, Digitales Dämpfungsglied und ADC): Verifikationsmessungen; Überarbeitung des HF Frontend Empfängers führte zu 28% Flächenreduktion und besserer Performance +o Matlab Programmierung zur Steuerung von DUTs und Messgeräten, Test Automatisierung, System Evaluierungen inklusive Entwicklung eines umfangreichen Realtime Spektrum Analysator Programms, automatisierte Blocking Tests +o Entdeckung einer sporadisch auftretenden Transceiver HF Instabilität, Idee der Nutzung des DUT als HF-Netzwerkanalysator zur Ermittlung der Ursache, Erstellung des dazu nötigen Matlab Programms und Durchführung von Tests, schnelle Identifizierung der problematischen Komponente: Vermied zeitintensive, aufwändige Fehlersuche beim Transceiver in seinem normalen Betriebsmodus +o Erstellung einer Kalibrationsumgebung für automatisierte Tests der HF Frontend Empfänger +• Projekt Metro WiFi Access Point: IEEE 802.11 a/b/g/n Modul +o Aufbau von SISO und MIMO Evaluierungs-Messplätzen +o Verifikationsmessungen; Optimierung von AGC und Blocking-Eigenschaften +o Berechnung von Systemreserven für LTE TX / WiFi RX Collocation +o Verifikation des Listen-Before-Talk Kanalzugriffsmechanismus nach ETSI Adaptivity Spezifikationen und Unterstützung der ETSI Zertifizierung +o Erstellung von Test Routinen mit Matlab und embedded Linux Programmierung des WiFi SoC, Aufbau einer Messumgebung für automatisierte Tests +• Agile Design mit Scrum +Juli 2011 — Gründung von DesTEngS Dr.-Ing. Thomas Langer (Ingenieurbüro), nahe Ulm + +## Berufliche Stationen vor der Selbständigkeit + +Juli 2006 – Juni 2011 — Head of RF Integration bei Ubidyne (Startup, ca. 60 Mitarbeiter, aktive Antennen für Mobilfunk-Basisstationen), Abteilung Engineering, Ulm: +• Aufbau und Leitung einer Gruppe mit bis zu 10 Mitarbeitern +• Erstellung des Entwicklungsprozesses (CAD Software, Bauelementebibliotheken, Messgeräte, Aufbau des Labors, Subversion Repository, Maßnahmen zur Qualitätssicherung) +• Projektmanagement mit Fokus auf Erreichung der äußerst anspruchsvollen Zielvorgaben +• Erstellung / Prüfung von Spezifikationen für 3GPP UMTS und LTE Systeme, Module und HF Filter, Modul Architektur Entwicklungen in Zusammenarbeit mit System Engineering und ASIC Designern +• Verantwortlich für ca. 240 Aufbauten von DC bis 3,6 Gb/s: Entwurf, Aufbau, Inbetriebnahme, Evaluierung und Optimierung, Unterstützung der System Integration +o Evaluation Boards für Ubidyne GaAs, SiGe und CMOS ASICs +o Multistandard Transceiver Module für aktive Antennen bei 900 MHz und 2,1 GHz +• Technologieauswahl von PCBs, Keramiksubstraten, HF-Filtern und Gehäusen +• Kooperationen und Zusammenarbeit mit externen Partnern: +o EMS Unternehmen (Design for Test, Design for Manufacturability, Fertigungs- und Zuverlässigkeitstests, Fertigungseinführung) +o Leiterplattenherstellern +o Toshiba (CMOS Chip Reviews, IC-Gehäuse Optimierung) +o Ferdinand-Braun-Institut (GaAs Flip-Chip Montage auf Keramiksubstraten) +o Antennenhersteller Kathrein, Andrew und Huber & Suhner +• (Ab Okt. 2009: Principal Member of Technical Staff) +Jan. 2003 – Juni 2006 — Entwicklungsingenieur bei Toshiba Electronics Europe, European LSI Development and Engineering Centre, Düsseldorf: +• Mitarbeit in den Normierungsgremien OIF und MIPI +o Toshiba Transceiver IC für OIF CEI konforme Backplane Übertragungsstrecken bis 11 Gb/s: Systemsimulationen und Erstellung der Spezifikation, Begleitung bei Charakterisierung und OIF Interoperabilitäts-Test +o Mitgestaltung der MIPI Spezifikation D-PHY (Serielle Datenübertragung bis 1 Gb/s pro Lane in Mobiltelefonen): Kanal- und Systemsimulationen, Erstellung von Kanal-Modellen, System-Budgets und S-Parameter Masken +• Berater bei HF- und Signal-Integrity Fragen für verschiedene Abteilungen +• Evaluierung und Auswahl von HF Entwicklungssoftware +• Detaillierte Analysen elektrischer IC-Gehäuse (bis zu 11 Gb/s, bis zu 1444 Balls) +• (Ab April 2004: Senior Engineer) +Dez. 2000 – Dez. 2002 — Entwicklungsingenieur bei Multilink Technology (Startup mit bis zu 360 Mitarbeitern weltweit, ICs und Module für faseroptische Übertragungssysteme), Berlin: +• Entzerrer-ICs für Backplane-Systeme bis 12,5 Gb/s: +o Berechnung von Mixed-Mode S-Parametern und Cross Talk für Backplane Systeme +o Entwurf von adaptiven Entzerrern auf Systemebene (Feedforward Equalization und Decision Feedback Equalization) basierend auf dem LMS Algorithmus +• 10 Gb/s und 40 Gb/s Faseroptische Systeme: +o Betreuung von Kooperationen mit zwei Universitäten +o Systemsimulationen zur Bestimmung der Anforderungen für elektrische Entzerrer-ICs +• 3,1 Gb/s 8:32 CMOS Demultiplexer-IC: BGA Gehäuse-Entwurf, Teststrategie, Leiterplatten-Entwicklung +Nov. 1998 – Nov. 2000 — Entwicklungsingenieur bei Siemens, Bereich Information and Communication Networks, München: +• Verantwortlich für ein 1,8 GHz RX Frontend Modul für GSM Mobilfunk-Basisstationen: Projektkoordination, Definition der Architektur, Systemsimulation, Schaltungsentwurf, Layout, Evaluierung von Labormustern und Prototypen, Fertigungseinführung +• Qualifizierung und Fertigungseinführung eines 10 GHz VCOs +• Layout und Aufbautechnik von 40 Gb/s High Speed Digital Modulen für Faseroptische Systeme +Okt. 1994 – Okt. 1998 — Wissenschaftlicher Mitarbeiter am Ferdinand-Braun-Institut für Höchstfrequenztechnik, Berlin: +• Erzeugung elektrischer Transienten im Picosekundenbereich mit einer nichtlinearen Diodenleitung +o Auf dieser Arbeit aufbauend: Externe Promotion an der TU Berlin, berufsbegleitend abgeschlossen 2001 +o Erstellung eines präzisen Schottky-Dioden Modells für hyperabrupte Dotierungsprofile und dessen Implementierung als eigenständiges, in AEL programmiertes Bauelement in der Simulationssoftware Keysight ADS +o Modellierung, Simulation, Layout und Messung von GaAs MMICs +o Entwicklung von MMIC Sampling Schaltungen: Transienten bis 7 ps, Harmonische bis 140 GHz +o Programmierung von objektorientierter C++ Software zum De-Embedding von S-Parametern +• Elektromagnetische Feldsimulationen koplanarer Leitungsstrukturen bis 1 THz +• Entwicklung eines breitbandigen Low-Power Transimpedanzverstärker GaAs-MMICs für 100 MHz - 6 GHz +Sep. 1992 – Aug. 1993 — Studentische Hilfskraft am Ferdinand-Braun-Institut für Höchstfrequenztechnik, Berlin: +• Modellierung passiver Elemente, Dioden und Transistoren auf GaAs Wafern +Jan. 1990 – März 1992 — Studentische Hilfskraft am Hahn-Meitner-Institut, Berlin: +• Entwurf und Aufbau von ultra-breitbandigen Verstärkern 10 KHz – 16 GHz inklusive Entwicklung und Implementierung eines neuen Verfahrens zur Temperaturkompensation + +## Ausbildung + +Okt. 2025 Ausbildung zum AI Consultant (mit TÜV-Zertifikat) beim AI Training Institute, [Link zum Zertifikat (funktioniert nur im Browser)] + +März 2001 Promotion „Computergestützter Entwurf nichtlinearer Transmissionsleitungen zur Erzeugung elektrischer Transienten im Picosekundenbereich”, [Dissertation] + +Okt. 1994 Dipl.-Ing. Elektrotechnik an der TU Berlin, Vertiefungsfach Hochfrequenztechnik, Diplomarbeit Software zur Extraktion von MESFET Ersatzschaltbildern aus Messdaten +Juni 1986 Abitur am Oberstufenzentrum Elektrotechnik in Berlin + +## Trainings + +Dez. 2016 Ansys SIwave Training +Juni 2016 Keysight High Speed Digital class using ADS +Jan. 2008 Gustav Käser, „Management” +Juni 2007 Die Akademie, „Führung und Organisation 1” +Apr. 2006 Die Akademie, „Gedächtnis- und Konzentrationstraining” +Mai 2000 Seminar „Persönlichkeitsentwicklung im Team” + +## Kenntnisse + +KI: +• KI-Potenzialanalyse und KI-Strategieentwicklung +• KI-Schulung +• KI-Implementierung +• Prompt Engineering, Context Engineering +• Multimodale KI (Text, Bild, Audio) +• DSGVO-konforme KI-Anwendungen +• Natural Language Processing (NLP) +• Edge AI / On-Premise KI-Infrastruktur (Auswahl, Aufbau und Betrieb) +• KI Software +o Miro, Notion, Fireflies.ai, Gamma, Canva, Ollama, PyTorch, Open WebUI +• Agentic AI, Coding AI Agent Umgebungen +o Manus, Perplexity, Microsoft Visual Studio / Visual Studio Code mit Copilot, VSCodium mit Cline, Claude Code, Claude Cowork +• Generative AI (GenAI) / Large Language Models (LLMs): Funktionsweise, Webinterface Chat, Chat via API, Fine-Tuning, On-Premise, LLM-Evaluierung +o Praxis-Erfahrung mit OpenAI GPTs, Google Gemini, Anthropic Opus, Sonnet, Haiku sowie On-Premise gpt-oss-20b, Qwen3-VL-8B, Qwen3.5-9B +o Supervised Fine-Tuning (SFT) eines gpt-4o-mini LLMs +• Retrieval Augmented Generation (RAG) +o Embedding Models, Praxis-Erfahrung mit OpenAI text-embedding-3-small, On-Premise tomoro-colqwen3-embed-4b +o Vektor-Datenbanken, Praxis-Erfahrung mit Pinecone, On-Premise Qdrant + +Software Design: +• Objekt-orientierte Programmierung, ereignis-orientierte Programmierung, prozedurale Programmierung +• Prozessautomatisierung (UI.Vision, PyAutoGUI, n8n, Langflow) +• REST API Integration +• Python mit diversen Modulen (z.B. NumPy, Pandas und Matplotlib für Datenanalyse, PyShark zur Prozessierung von Ethernet Trace-Dateien, PyAutoGui zur Automatisierung, Tkinter für GUI-Programmierung, transformers, openai, anthropic und tiktoken für KI-Anwendungen) +• C++, C, CAPL +• Matlab +• JavaScript +• HTML, PHP, XML, JSON, Markdown + +Methodik: +• Konzepterstellung +• Spezifikationserstellung +• Systematische Fehleranalyse +• Technologie-Evaluierung und -Auswahl +• Machbarkeitsstudien +• Technische Dokumentation +• Projektmanagement + +IT: +• MS Windows, Unix inkl. Linux, Embedded Linux und Hosted Linux Server +• MS Office / LibreOffice +• MS Azure DevOps Server / Team Foundation Server, PTC Integrity, Subversion Server, Git +• Virtuelle Maschinen basierend auf VMware Workstation und Linux KVM/Qemu, Docker Container, Podman Pods +• NextCloud, n8n + +Engineering Software: +• Vector CANalyzer, CANape, CANoe +• Ansys Electronics Desktop, HFSS, Q3D, SIwave +• Keysight ADS inkl. Momentum, SIPro/PIPro und AEL Programmierung +• CST + +Messtechnik: +• Daten-Netzwerk Performance mit Wireshark, iperf3, Vector Informatik Ethernet und CAN-Bus Testgeräten, GL Communications PacketExpert Gigabit Ethernet Tester +• S-Parameter mit Netzwerkanalysatoren bis 110 GHz, On-Wafer und Koaxial, Kalibration, De-Embedding und Mixed-Mode S Parameter +• Zeitbereichsmessungen mit Samplingoszilloskopen bis 50 GHz und Real Time Oszilloskopen bis 13 GHz + +Fremdsprachen: +• Deutsch: Muttersprache +• Englisch: Fließend in Wort und Schrift +Veröffentlichungen: + +• Dissertation, fünf Veröffentlichungen, ein Patent, eine Erfindungsmeldung diff --git a/artefakte/01-lebenslauf/output/build.log b/artefakte/01-lebenslauf/output/build.log index 2002f64..e54c543 100644 --- a/artefakte/01-lebenslauf/output/build.log +++ b/artefakte/01-lebenslauf/output/build.log @@ -1,4 +1,4 @@ -===== Build gestartet: 2026-04-27 20:20:08 ===== +===== Build gestartet: 2026-04-28 17:18:04 ===== Source: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source\cv.md Template-TEX: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\template.tex Reference: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\reference.docx @@ -6,14 +6,14 @@ Output-Dir: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslau --- Pandoc -> PDF (LuaLaTeX) --- Cmd: pandoc --from=markdown+smart --pdf-engine=lualatex --template=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\template.tex --lua-filter=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\build\header-image-wrap.lua --resource-path=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source --output=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.pdf Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source\cv.md -PDF OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.pdf (449.2 KB) +PDF OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.pdf (447.4 KB) --- Pandoc -> DOCX --- Cmd: pandoc --from=markdown+smart --reference-doc=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\reference.docx --lua-filter=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\build\header-image-wrap.lua --resource-path=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source --output=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source\cv.md -DOCX OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx (379.7 KB) +DOCX OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx (379.9 KB) --- Post-Process DOCX --- [post-process-docx] Verarbeite: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx [post-process-docx] Listen gefunden: 25 -[post-process-docx] Bullets in Listen: 174 +[post-process-docx] Bullets in Listen: 180 [post-process-docx] keepNext gesetzt: 87 [post-process-docx] Bullets in Tabellen uebersprungen: 6 [post-process-docx] H2-Headings gefunden: 6 @@ -23,4 +23,4 @@ DOCX OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\out [post-process-docx] Header-Tabelle H1 modifiziert: 1 [post-process-docx] Header-Tabelle Foto modifiziert: 1 [post-process-docx] Fertig. -===== Build beendet: 2026-04-27 20:20:13, Exit-Code 0 ===== +===== Build beendet: 2026-04-28 17:18:09, Exit-Code 0 ===== diff --git a/artefakte/01-lebenslauf/source/cv.md b/artefakte/01-lebenslauf/source/cv.md index a797d99..99b3742 100644 --- a/artefakte/01-lebenslauf/source/cv.md +++ b/artefakte/01-lebenslauf/source/cv.md @@ -64,7 +64,7 @@ ### Nov. 2020 – Mai 2024 — Consultant bei ASMPT (Industrielle Bestückungsmaschinen), System Integration Abteilung R&D 38, München: - Maßgebliche Mitwirkung bei Konzepterstellung und Einführung eines neuen Gigabit Ethernet Feldbus für performantere Steuerung von ASMPTs industriellen Bestückungsmaschinen - - Validierung von Ethernet Protokollen und Middlewares, Bereitstellung der Entscheidungsgrundlage für die Auswahl der besten Lösung (UDP, TCP inclusive Slow Start und Nagle-Algorithmus, IEEE 1722 (AVTP frames), Precision Time Protocol (PTP, gPTP), DoIP, Scalable service-Oriented MiddlewarE over IP (SOME/IP), Object Management Group (OMG) Data Distribution Service (DDS)) + - Validierung von Ethernet Protokollen und Middlewares, Bereitstellung der Entscheidungsgrundlage für die Auswahl der besten Lösung (UDP, TCP inklusive Slow Start und Nagle-Algorithmus, IEEE 1722 (AVTP frames), Precision Time Protocol (PTP, gPTP), DoIP, Scalable service-Oriented MiddlewarE over IP (SOME/IP), Object Management Group (OMG) Data Distribution Service (DDS)) - Mitarbeit bei der Entwicklung einer Domain-Specific Language (DSL) „YAP" zur Beschreibung der ASMPT Ethernet Feldbus Nachrichtenformate - Erstellung von Testumgebungen und Werkzeugen für Tests und Test-Automatisierung - Entwicklung von Testprozeduren und Key Performance Indicators (KPIs) zur Bestimmung von ASMPTs Gigabit Ethernet und CAN-Bus Netzwerkverkehr in Bestückungsmaschinen @@ -100,7 +100,7 @@ - Signal Integrity und Power Integrity Simulationen von IC Packages und PCBs - Analysen für diverse Schnittstellen inklusive LVDS, DDR3, Ethernet Interfaces, Flash Speicher Kommunikation, EBU und CAN-Bus - - Entdeckung eines HF-Design Fehlers bei einem Evaluierungsboard, Erarbeitung eines verbesserten Designs zur Korrektur: Verhinderte eine Verzögerung der IC-Evaluierung und vermied die Kosten eines Evaluierungsboard Redesigns + - Entdeckung eines HF-Design Fehlers bei einem Evaluierungsboard, Erarbeitung eines verbesserten Designs zur Korrektur: Verhinderte eine Verzögerung der IC-Evaluierung und vermied die Kosten eines Evaluierungsboard-Redesigns - Entwicklung eines speziellen, aber leicht zu implementierenden PCB Clock Distribution Netzwerks für ein IC mit extrem steilen Clock Flanken: Ermöglichte den Betrieb des ICs trotz des falsch ausgelegten Clock Drivers - Systemstudien von ADAS LVDS Übertragungsstrecken - Simulationen und Optimierungen der Chip-PCB-Übergänge von 77 GHz ADAS Radar MMICs @@ -114,8 +114,8 @@ ### Sep. 2011 – Juli 2014 — Consultant bei Alcatel-Lucent, Abteilung MS/E, Stuttgart: -- Projekt Light Radio AAA: Aktives Antennen Array für 2.5 GHz LTE - - RX Pfad (LNAs, Filter, Demodulator, Digitales Dämpfungsglied und ADC): Verifikationsmessungen; Überarbeitung des HF Frontend Empfängers führte zu 28% Flächenreduktion und besserer Performance +- Projekt Light Radio AAA: Aktives Antennen Array für 2,5 GHz LTE + - RX Pfad (LNAs, Filter, Demodulator, digitales Dämpfungsglied und ADC): Verifikationsmessungen; Überarbeitung des HF Frontend Empfängers führte zu 28% Flächenreduktion und besserer Performance - Matlab Programmierung zur Steuerung von DUTs und Messgeräten, Test Automatisierung, System Evaluierungen inklusive Entwicklung eines umfangreichen Realtime Spektrum Analysator Programms, automatisierte Blocking Tests - Entdeckung einer sporadisch auftretenden Transceiver HF Instabilität, Idee der Nutzung des DUT als HF-Netzwerkanalysator zur Ermittlung der Ursache, Erstellung des dazu nötigen Matlab Programms und Durchführung von Tests, schnelle Identifizierung der problematischen Komponente: Vermied zeitintensive, aufwändige Fehlersuche beim Transceiver in seinem normalen Betriebsmodus - Erstellung einer Kalibrationsumgebung für automatisierte Tests der HF Frontend Empfänger @@ -143,7 +143,7 @@ - Technologieauswahl von PCBs, Keramiksubstraten, HF-Filtern und Gehäusen - Kooperationen und Zusammenarbeit mit externen Partnern: - EMS Unternehmen (Design for Test, Design for Manufacturability, Fertigungs- und Zuverlässigkeitstests, Fertigungseinführung) - - Leiterplattenherstellern + - Leiterplattenhersteller - Toshiba (CMOS Chip Reviews, IC-Gehäuse Optimierung) - Ferdinand-Braun-Institut (GaAs Flip-Chip Montage auf Keramiksubstraten) - Antennenhersteller Kathrein, Andrew und Huber & Suhner @@ -152,17 +152,17 @@ ### Jan. 2003 – Juni 2006 — Entwicklungsingenieur bei Toshiba Electronics Europe, European LSI Development and Engineering Centre, Düsseldorf: - Mitarbeit in den Normierungsgremien OIF und MIPI - - Toshiba Transceiver IC für OIF CEI konforme Backplane Übertragungsstrecken bis 11 Gb/s: Systemsimulationen und Erstellung der Spezifikation, Begleitung bei Charakterisierung und OIF Interoperabilitäts-Test + - Toshiba Transceiver IC für OIF CEI konforme Backplane Übertragungsstrecken bis 11 Gb/s: Systemsimulationen, Erstellung der Spezifikation, Begleitung bei Charakterisierung und OIF Interoperabilitäts-Test - Mitgestaltung der MIPI Spezifikation D-PHY (Serielle Datenübertragung bis 1 Gb/s pro Lane in Mobiltelefonen): Kanal- und Systemsimulationen, Erstellung von Kanal-Modellen, System-Budgets und S-Parameter Masken - Berater bei HF- und Signal-Integrity Fragen für verschiedene Abteilungen - Evaluierung und Auswahl von HF Entwicklungssoftware -- Detaillierte Analysen elektrischer IC-Gehäuse (bis zu 11 Gb/s, bis zu 1444 Balls) +- Detaillierte elektrische Analysen von IC-Gehäusen (bis zu 11 Gb/s, bis zu 1444 Balls) - _(Ab April 2004: Senior Engineer)_ ### Dez. 2000 – Dez. 2002 — Entwicklungsingenieur bei Multilink Technology (Startup mit bis zu 360 Mitarbeitern weltweit, ICs und Module für faseroptische Übertragungssysteme), Berlin: - Entzerrer-ICs für Backplane-Systeme bis 12,5 Gb/s: - - Berechnung von Mixed-Mode S-Parametern und Cross Talk für Backplane Systeme + - Berechnung von Mixed-Mode-S-Parametern und Cross Talk für Backplane Systeme - Entwurf von adaptiven Entzerrern auf Systemebene (Feedforward Equalization und Decision Feedback Equalization) basierend auf dem LMS Algorithmus - 10 Gb/s und 40 Gb/s Faseroptische Systeme: - Betreuung von Kooperationen mit zwei Universitäten @@ -173,18 +173,18 @@ - Verantwortlich für ein 1,8 GHz RX Frontend Modul für GSM Mobilfunk-Basisstationen: Projektkoordination, Definition der Architektur, Systemsimulation, Schaltungsentwurf, Layout, Evaluierung von Labormustern und Prototypen, Fertigungseinführung - Qualifizierung und Fertigungseinführung eines 10 GHz VCOs -- Layout und Aufbautechnik von 40 Gb/s High Speed Digital Modulen für Faseroptische Systeme +- Layout und Aufbautechnik von 40 Gb/s High Speed Digital Modulen für faseroptische Systeme ### Okt. 1994 – Okt. 1998 — Wissenschaftlicher Mitarbeiter am Ferdinand-Braun-Institut für Höchstfrequenztechnik, Berlin: - Erzeugung elektrischer Transienten im Picosekundenbereich mit einer nichtlinearen Diodenleitung - - Auf dieser Arbeit aufbauend: Externe Promotion an der TU Berlin, berufsbegleitend abgeschlossen 2001 - - Erstellung eines präzisen Schottky-Dioden Modells für hyperabrupte Dotierungsprofile und dessen Implementierung als eigenständiges, in AEL programmiertes Bauelement in der Simulationssoftware Keysight ADS + - Auf dieser Arbeit aufbauend: Externe Promotion an der TU Berlin, berufsbegleitend, abgeschlossen 2001 + - Erstellung eines präzisen Schottky-Dioden Modells für hyperabrupte Dotierungsprofile und Implementierung als eigenständiges, in AEL programmiertes Bauelement in der Simulationssoftware Keysight ADS - Modellierung, Simulation, Layout und Messung von GaAs MMICs - Entwicklung von MMIC Sampling Schaltungen: Transienten bis 7 ps, Harmonische bis 140 GHz - Programmierung von objektorientierter C++ Software zum De-Embedding von S-Parametern - Elektromagnetische Feldsimulationen koplanarer Leitungsstrukturen bis 1 THz -- Entwicklung eines breitbandigen Low-Power Transimpedanzverstärker GaAs-MMICs für 100 MHz - 6 GHz +- Entwicklung eines breitbandigen Low-Power-Transimpedanzverstärker-GaAs-MMICs für 100 MHz – 6 GHz ### Sep. 1992 – Aug. 1993 — Studentische Hilfskraft am Ferdinand-Braun-Institut für Höchstfrequenztechnik, Berlin: @@ -192,7 +192,7 @@ ### Jan. 1990 – März 1992 — Studentische Hilfskraft am Hahn-Meitner-Institut, Berlin: -- Entwurf und Aufbau von ultra-breitbandigen Verstärkern 10 KHz – 16 GHz inklusive Entwicklung und Implementierung eines neuen Verfahrens zur Temperaturkompensation +- Entwurf und Aufbau von ultra-breitbandigen Verstärkern 10 kHz – 16 GHz inklusive Entwicklung und Implementierung eines neuen Verfahrens zur Temperaturkompensation ## Ausbildung @@ -232,25 +232,31 @@ Mai 2000 Seminar „Persönlichkeitsentwicklung im Team" - Prompt Engineering, Context Engineering - Multimodale KI (Text, Bild, Audio) - DSGVO-konforme KI-Anwendungen -- Natural Language Processing (NLP) -- Edge AI / On-Premise KI-Infrastruktur (Auswahl, Aufbau und Betrieb) -- KI Software - - Miro, Notion, Fireflies.ai, Gamma, Canva, Ollama, PyTorch, Open WebUI -- Agentic AI, Coding AI Agent Umgebungen - - Manus, Perplexity, Microsoft Visual Studio / Visual Studio Code mit Copilot, VSCodium mit Cline, Claude Code, Claude Cowork +- KI Software: Miro, Notion, Fireflies.ai, Gamma, Canva - Generative AI (GenAI) / Large Language Models (LLMs): Funktionsweise, Webinterface Chat, Chat via API, Fine-Tuning, On-Premise, LLM-Evaluierung + - Mixture of Experts (MoE), Reasoning Models, Function Calling / Tool Use - Praxis-Erfahrung mit OpenAI GPTs, Google Gemini, Anthropic Opus, Sonnet, Haiku sowie On-Premise gpt-oss-20b, Qwen3-VL-8B, Qwen3.5-9B - Supervised Fine-Tuning (SFT) eines gpt-4o-mini LLMs +- Agentic AI, Coding AI Agent Umgebungen + - Manus, Perplexity, Microsoft Visual Studio / Visual Studio Code mit Copilot, VSCodium mit Cline, Claude Code, Claude Cowork + - Model Context Protocol (MCP) +- Natural Language Processing (NLP) - Retrieval Augmented Generation (RAG) + - Chunk-Strategien - Embedding Models, Praxis-Erfahrung mit OpenAI text-embedding-3-small, On-Premise tomoro-colqwen3-embed-4b - Vektor-Datenbanken, Praxis-Erfahrung mit Pinecone, On-Premise Qdrant +- Edge AI / On-Premise KI-Infrastruktur (Auswahl, Aufbau und Betrieb) + - Consumer-GPU-Inference (NVIDIA Blackwell Architektur, RTX 50-Serie, CUDA Toolkit) + - LLM-Quantisierung: 8-bit Inference (FP8), MXFP4 Quantization + - GGUF und Safetensors Modelle + - Ollama, Hugging Face Transformers, PyTorch, llama.cpp, Open WebUI **Software Design:** -- Objekt-orientierte Programmierung, ereignis-orientierte Programmierung, prozedurale Programmierung +- Objektorientierte Programmierung, ereignisorientierte Programmierung, prozedurale Programmierung - Prozessautomatisierung (UI.Vision, PyAutoGUI, n8n, Langflow) - REST API Integration -- Python mit diversen Modulen (z.B. NumPy, Pandas und Matplotlib für Datenanalyse, PyShark zur Prozessierung von Ethernet Trace-Dateien, PyAutoGui zur Automatisierung, Tkinter für GUI-Programmierung, transformers, openai, anthropic und tiktoken für KI-Anwendungen) +- Python mit diversen Modulen (z.B. NumPy, Pandas und Matplotlib für Datenanalyse, PyShark zur Prozessierung von Ethernet Trace-Dateien, PyAutoGUI zur Automatisierung, Tkinter für GUI-Programmierung, transformers, openai, anthropic und tiktoken für KI-Anwendungen) - C++, C, CAPL - Matlab - JavaScript @@ -259,11 +265,11 @@ Mai 2000 Seminar „Persönlichkeitsentwicklung im Team" **Methodik:** - Konzepterstellung -- Spezifikationserstellung -- Systematische Fehleranalyse -- Technologie-Evaluierung und -Auswahl - Machbarkeitsstudien +- Technologie-Evaluierung und -Auswahl +- Spezifikationserstellung - Technische Dokumentation +- Systematische Fehleranalyse - Projektmanagement **IT:** @@ -284,8 +290,8 @@ Mai 2000 Seminar „Persönlichkeitsentwicklung im Team" **Messtechnik:** - Daten-Netzwerk Performance mit Wireshark, iperf3, Vector Informatik Ethernet und CAN-Bus Testgeräten, GL Communications PacketExpert Gigabit Ethernet Tester -- S-Parameter mit Netzwerkanalysatoren bis 110 GHz, On-Wafer und Koaxial, Kalibration, De-Embedding und Mixed-Mode S Parameter -- Zeitbereichsmessungen mit Samplingoszilloskopen bis 50 GHz und Real Time Oszilloskopen bis 13 GHz +- S-Parameter mit Netzwerkanalysatoren bis 110 GHz, On-Wafer und Koaxial, Kalibration, De-Embedding und Mixed-Mode-S-Parameter +- Zeitbereichsmessungen mit Samplingoszilloskopen bis 50 GHz und Realtime-Oszilloskopen bis 13 GHz **Fremdsprachen:** diff --git a/artefakte/01-lebenslauf/templates/template.tex b/artefakte/01-lebenslauf/templates/template.tex index 4fea732..fee21a1 100644 --- a/artefakte/01-lebenslauf/templates/template.tex +++ b/artefakte/01-lebenslauf/templates/template.tex @@ -121,26 +121,28 @@ %% === Abschnitte ============================================================= \usepackage{titlesec} -%% H1 (\section): gross, blau, mit Trennlinie. Im CV nur einmal (Name oben). +%% H1 (\section): gross, blau, KEINE Trennlinie (S10: analog DOCX, wo H1 +%% keine Trennlinie hat - nur H2). Im CV nur einmal (Name oben im Header). \titleformat{\section} {\Large\bfseries\color{destengsblue}} {}{0em} {} - [\vspace{-0.3em}{\color{rulegray}\titlerule[0.4pt]}] -%% H2 (\subsection): mittelgross, blau, mit Trennlinie. -%% Hauptabschnitte (Kontaktdaten, Zusammenfassung, Stationen, Ausbildung, Kenntnisse) +%% H2 (\subsection): mittelgross, blau, mit schwarzer Trennlinie 8.6 cm / 1.25 pt +%% (S10: 1:1 wie DOCX-H2-Trennlinie aus Iteration B4.4 in S08). +%% \nobreak vor der Linie haelt Heading + Linie auf gleicher Seite. \titleformat{\subsection} {\large\bfseries\color{destengsblue}} {}{0em} {} - [\vspace{-0.3em}{\color{rulegray}\titlerule[0.3pt]}] + [\nobreak\vspace{-0.3em}{\color{black}\rule[0pt]{8.6cm}{1.25pt}}] -%% H3 (\subsubsection): normal-fett, jeweils Stations-Titel. +%% H3 (\subsubsection): blau, nicht-fett (S10: analog DOCX, wo H3 in +%% destengsblue und nicht fett gerendert wird; vorher schwarz und fett). %% needspace verhindert Fast-Schusterjunge: kein Pagebreak, wenn weniger %% als 6 Zeilen Platz; nopagebreak nach: Titel und erste Liste bleiben zusammen. \titleformat{\subsubsection} - {\needspace{6\baselineskip}\normalsize\bfseries} + {\needspace{6\baselineskip}\normalsize\color{destengsblue}} {}{0em} {} [\nopagebreak] @@ -160,11 +162,14 @@ \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\headrule}{\color{rulegray}\hrule height 0.4pt} -%% Erste Seite ohne Header +%% Erste Seite ohne Header und ohne graue Header-Trennlinie. \headrule wird +%% im default fancy-Style mit harter \hrule definiert, die \headrulewidth +%% ignoriert; deshalb hier zusaetzlich \headrule auf leer setzen. \fancypagestyle{firstpage}{% \fancyhf{}% \fancyfoot[R]{\small \thepage\,/\,\pageref{LastPage}}% \renewcommand{\headrulewidth}{0pt}% + \renewcommand{\headrule}{}% } %% === Pandoc-Hilfen ========================================================== @@ -179,6 +184,11 @@ \thispagestyle{firstpage} +%% S10: Body auf Seite 1 nach oben ruecken. Geometry reserviert oben Platz +%% fuer Header (headheight 16pt + headsep 0.6cm = ca. 1.16cm), der auf +%% Seite 1 leer bleibt. \vspace*{-1.16cm} neutralisiert das. +\vspace*{-1.16cm} + $body$ \end{document} diff --git a/changelog.md b/changelog.md index a05d772..fc9ed2a 100644 --- a/changelog.md +++ b/changelog.md @@ -50,3 +50,4 @@ Chronologisches Log aller Entscheidungen und Prozessereignisse. 2026-04-27 12:34 | S09 | Teilgebiet 01 Iteration Links umgesetzt: alle URLs in cv.md auf explizite Markdown-Links migriert, damit Pandoc echte w:hyperlink-Elemente in die DOCX emittiert (vorher Plain-Text-only, Word zeigte sie nicht als Links und kein Hover funktionierte; im PDF wurden sie ueber Words eigene URL-Erkennung beim PDF-Export trotzdem klickbar, was die Inkonsistenz erklaerte). E-Mail als Pandoc-Autolink-Form mit spitzen Klammern (mailto), Telefon als tel:-Link mit Display-Spaces und URL-ohne-Spaces gem RFC 3966, Web-Links als doppelte-Bracket-Markdown-Syntax mit sichtbaren aeusseren eckigen Klammern als einheitlicher Anzeigetext-Stil. Display-Texte: Link zum Profil fuer LinkedIn und Freelance.de, destengs.de fuer Website (bewusster Wechsel von .com auf .de stimmiger zur deutschen Primaersprache), Dissertation fuer Promotion, Link zum Zertifikat funktioniert nur im Browser fuer TUEV-Zertifikat. TUEV-Link-Problem in Word diagnostiziert: certif-id.com liegt hinter Cloudflare-Bot-Schutz und blockiert Words urlmon-Pre-Flight-Anfrage mit 403; Direkt-Klick aus Word schlaegt mit Die angeforderten Informationen koennen nicht heruntergeladen werden fehl trotz funktionierender URL im Browser. Optionen A (destengs.de-Redirect), B (LinkedIn-Safety-Redirect), C (kein Link) abgewogen und verworfen, Option D gewaehlt: direkter TUEV-Link beibehalten mit erklaerendem Display-Text der den Empfaenger ueber die Word-Einschraenkung informiert. Thomas hat zusaetzlich eine kuerzere TUEV-Direkt-URL besorgt (perscert-tuv.certif-id.com/expert/public/share/7MR0WDzG106JDCqV_RW7) statt der urspruenglichen 130-Zeichen-Hash-URL. Zwischenfall: zweite Edit-Tool-Truncation in dieser Session auf cv.md beim Edit der TUEV- und Promotion-Zeile, die Schluss-Zeile Dissertation fuenf Veroeffentlichungen ein Patent eine Erfindungsmeldung wurde mitten im Wort abgeschnitten. Reparatur identisch zum S08-Pattern: git HEAD-Version als Input, alle 7 Link-Replacements in einem Python-Script atomar via os.replace zurueckgeschrieben mit count==1-Check pro Replacement. Lehre fuer kommende Sessions: Edit-Tool fuer cv.md generell nicht mehr verwenden, Python-aus-git-Pattern bevorzugen. Build und visuelle Bestaetigung durch Thomas erfolgt fuer DOCX und PDF. teilgebiete/01-lebenslauf.md um Iteration-Links-Block ergaenzt. 2026-04-27 18:51 | S09 | Teilgebiet 01 Iteration C Foto-Einbindung umgesetzt. Header als 2-Spalten-Grid-Table in cv.md mit Strich-Verhaeltnis 112:60 (= 65,1%/34,9% Spaltenbreite, ca. 10,15/5,43 cm bei 16 cm Textbreite). Foto rechts oben, 4,06x4,06 cm, beide Dimensionen explizit im Markdown um Pandocs Default-Wrapper keepaspectratio mit height=textheight zu vermeiden, der die Layout-Box auf 24cm Hoehe streckt und die Tabellen-Zeile zerschiesst. DOCX-Header-Spacing per neuer 4. Modifikation in build/post-process-docx.py (process_header_table): findet erste Tabelle, setzt Heading1-spacing-before=0 und Foto-Paragraph spacing-before=100 (=5pt) plus jc=right. PDF-Layout via neuem Pandoc-Lua-Filter build/header-image-wrap.lua: wrappt das Header-Foto im LaTeX-Output mit hfill+raisebox(-height)[0pt][0pt]{...}, hfill schiebt rechtsbuendig in raggedright-p-Spalte, raisebox setzt Bild-Top auf Cell-Top und reportet null Hoehe an die Tabellen-Zeile. Filter prueft FORMAT=latex und Image-Pfad enthaelt foto, DOCX bleibt unberuehrt. Lua-Filter-Erste-Version (Image durch RawInline ersetzt mit gebackenem Pfad) hat Pandocs Image-Resource-Resolution gebrochen und LuaLaTeX scheiterte mit File foto.jpg not found, Fix: Filter gibt Lua-Liste zurueck mit Original-img-Element zwischen RawInline-Wrappern. Template-Hotfixes fuer PDF: renewcommand-nolinkurl-zu-Plaintext (verhindert at-xverbatim-Bruch in longtable-Minipage durch URL-Display-Text-Verbatim-Mode), titlespacing-section-before=0pt fuer H1-Top-Alignment. cv.md: Pipe-Alignment in Grid Table programmatisch via Python ljust und Pipe-Position-Eindeutigkeitscheck (Pandoc 3.x ist beim Grid-Table-Pipe-Alignment streng, Sandbox-Pandoc 2.9 ist toleranter und damit irrefuehrend). build.ps1 erweitert um lua-filter-Argument in PDF und DOCX, plus Read-Host-Wait-on-Error entfernt (blockiert AI-Agents und CI), durch Start-Sleep 3s am Ende ersetzt. header-image-wrap.lua als Pflichtdatei in Test-Path-Check aufgenommen. Vier weitere Edit-Tool-Truncation-Vorfaelle in S09 (cv.md, template.tex zweimal, build.ps1), Lehre verschaerft Edit-Tool fuer jede nicht-triviale Modifikation auf NTFS-Mount-Dateien meiden. Sandbox-NTFS-Stale-Read auf DOCX-Output (DOCX-Datei als not a zip file, Workaround DOCX im Sandbox neu generieren). Sandbox-NTFS-Mount kann auch Datei-Schreiben mit open(w) verweigern obwohl os.path.exists True liefert, Workaround tmp-Datei plus os.rename. Build und visuelle Bestaetigung durch Thomas erfolgt fuer DOCX und PDF. teilgebiete/01-lebenslauf.md um Iteration-C-Block ergaenzt und Naechste-Schritte-Liste auf S10-Plan umgestellt (1 DOCX-Heading-Farben pruefen, 2 Doublecheck der generierten Texte mindestens elektrischer-Gehaeuse ist sinnverkehrt, 3 Buzzword-Kompetenzen brainstormen mindestens Umgang mit quantisierten LLMs fehlt, 4 PDF-Spacings H1/H2/Kontaktdaten und hellgraue Trennlinien korrigieren, 5 Hyphenation-Feintuning, 6 Teilgebiet abschliessen). agent-prompt.md Aktueller-Stand-Block fuer S10 fortgeschrieben. 2026-04-27 20:27 | S10 | Aufgabe 1 (DOCX-Heading-Farbe und -Bold) abgeschlossen. Farb-Audit zuerst: DesTEngS-Primaerfarbe ist 3C68AE, in 4 Dateien (agent-prompt.md, teilgebiete/01-lebenslauf.md, build/build-reference-docx.py Konstante HEADING_COLOR und Doc-Kommentar, templates/template.tex destengsblue-Definition) von 0B5394 auf 3C68AE korrigiert. changelog.md (append-only) und cv-debug.tex (generierter Output) bewusst ausgenommen. Diagnose der nicht-greifenden Heading-Farbe: Pandoc-3.x-Default-Reference enthaelt Linked Character Styles Heading1Char/2Char/3Char mit eigener color val=0F4761 themeColor=accent1 themeShade=BF (Aptos-Petrol). Char-Styles dominieren in Word ueber Para-Styles bei Run-Eigenschaften, deshalb gewann das Aptos-Theme. Pandoc 2.9 (Sandbox) hat diese Char-Styles nicht, daher konnte der Bug dort nicht reproduziert werden. Fix in build/build-reference-docx.py: HEADING_COLOR_STYLES um Heading1Char Heading2Char Heading3Char erweitert. Zusatzanforderung von Thomas: H1 und H2 fett. Neue Funktion set_heading_bold mit Konstante HEADING_BOLD_STYLES analog (Heading1+2 Para- und Char-Stil). H3 bleibt unveraendert. Docstring-Block B4 um beide Erklaerungen erweitert. Sandbox-syntaktischer Test der neuen Funktionen erfolgreich. Build und visuelle Bestaetigung durch Thomas: alle Headings im DOCX in DesTEngS-Blau 3C68AE, H1 und H2 fett, H3 normal. Aufgabe 2 Diff-Material vorbereitet: alte CV-Quelle Lebenslauf_Thomas_Langer_2025-03-21.docx aus archiv via pandoc nach markdown konvertiert und mit aktueller cv.md verglichen. Vier Output-Dateien in artefakte/01-lebenslauf/output: cv-old-plain.txt (DOCX normalisiert 305 Zeilen), cv-new-plain.txt (cv.md normalisiert 289 Zeilen), cv-diff-unified.txt (kompletter unified diff 551 Zeilen), cv-diff-report.md (sektionsweise Vergleichsbericht mit Mapping Berufstaetigkeit gleich Projekte als freiberuflicher Consultant). Sektion-Groessenvergleich zeigt erwartete Aenderungsmuster: Header kompakter, Zusammenfassung und Kenntnisse erweitert (KI-Fokus), Trainings stark gekuerzt, Veroeffentlichungen in Ausbildung integriert. Sinn-Check selbst macht Thomas in seinem Tempo, dann gemeinsames Review. +2026-04-28 17:56 | S10 | S10 abgeschlossen. Aufgabe 1 (DOCX-Heading-Farbe und H1+H2-Bold) komplett geloest: Farb-Audit 0B5394 zu 3C68AE in vier Dateien, Linked-Char-Style-Diagnose und Fix in build-reference-docx.py (HEADING_COLOR_STYLES um Heading1Char/2Char/3Char erweitert, neue set_heading_bold-Funktion). Aufgabe 2 (cv.md Sinn-Korrekturen) komplett geloest: 18 Sprach- und Stilkorrekturen plus Methodik-Umsortierung nach Projekt-Lifecycle, atomar via Python-aus-Disk umgesetzt. Aufgabe 3 (Buzzword-Erweiterung KI-Block) komplett geloest: KI-Sektion umstrukturiert nach Thomas-Layout mit Edge-AI-Stack-Buendel-Sektion am Ende inklusive Quantisierung, Modell-Formaten und Software-Stack. Aufgabe 4 (PDF-Layout) teilweise geloest mit Trade-off: H1 ohne Trennlinie, H2 schwarze 8.6 cm 1.25 pt Trennlinie analog DOCX, H3 in DesTEngS-Blau und nicht fett, erste Seite ohne graue Header-Trennlinie und Foto plus H1 nahe Top-Margin via vspace-1.16cm. Body-Spacings bleiben etwas groesser als Header (parskip-Glue-Eliminierung kostet 2-3 zusaetzliche Seiten, deshalb ruecknahme). Pagebreaks bei Trainings/Kenntnisse/Berufliche-Stationen koennen unschoen sein. Sandbox-Build-Setup mit pdflatex und lmodern in /tmp/sbxbuild eingerichtet, Page-Layout-Tendenzen 1zu1 vergleichbar zu Thomas Setup. Lessons-learned Block in agent-prompt.md und teilgebiete/01-lebenslauf.md festgehalten: Sandbox-Build vor Iterationen, Layout-Eingriffe einzeln testen, parskip-Glue ist essentiell, Pandoc 3.x emittiert minipage[t] mit parboxrestore in Tabellen-Cells, titlesec vertraegt kein par im after-code, nopagebreak in longtable ist als noalign ueberschrieben. Strategische Entscheidung mit Thomas: PDF-Pipeline wird in S12 mit professioneller CV-LaTeX-Klasse moderncv oder awesome-cv oder typst neu aufgesetzt. cv.md bleibt single source of truth, Daten-Extraktion via Custom-Pandoc-Filter oder Build-Skript-Erweiterung. S11 davor nur fuer Lebenslauf-Inhalt: Methodik-Sektion ergaenzen und inhaltliche Kleinigkeiten. DOCX-Stand ist gut und einsatzbereit. agent-prompt.md und teilgebiete/01-lebenslauf.md mit S10-Doku und S11-S12-Plan fortgeschrieben. diff --git a/teilgebiete/01-lebenslauf.md b/teilgebiete/01-lebenslauf.md index 8d91c83..c6efec1 100644 --- a/teilgebiete/01-lebenslauf.md +++ b/teilgebiete/01-lebenslauf.md @@ -287,14 +287,89 @@ Die in S04 mit docx-js erstellte Version hatte strukturelle typographische Mäng **Build und visuelle Bestätigung durch Thomas (S09):** DOCX und PDF zeigen Foto rechts oben, korrekt ausgerichtet, korrekt bemessen. Layout aus Thomas' Sicht akzeptiert. +## S10 — Heading-Farbe-Fix, Sinn-Korrekturen, Buzzword-Erweiterung, PDF-Layout (teilweise) + +**S10-A — DOCX-Heading-Farbe und H1+H2-Bold:** + +- Farb-Audit: DesTEngS-Primärfarbe ist `#3C68AE`, nicht `#0B5394`. In `agent-prompt.md`, `teilgebiete/01-lebenslauf.md`, `build/build-reference-docx.py` (Konstante `HEADING_COLOR` und Doc-Kommentar) und `templates/template.tex` (`destengsblue`-Definition) korrigiert. +- Diagnose der nicht-greifenden Heading-Farbe im DOCX: Pandoc-3.x-Default-Reference enthält Linked Character Styles `Heading1Char`/`2Char`/`3Char` mit eigener `` (Aptos-Petrol). Char-Styles haben in Word Vorrang vor Para-Styles bei Run-Eigenschaften (Schrift, Farbe). Pandoc 2.9 (Sandbox) hat diese Char-Styles nicht — daher war das Problem in der Sandbox nicht reproduzierbar. +- Fix: `HEADING_COLOR_STYLES` in `build-reference-docx.py` um `Heading1Char`/`2Char`/`3Char` erweitert. +- Zusatzanforderung Thomas: H1+H2 fett. Neue Funktion `set_heading_bold` mit Konstante `HEADING_BOLD_STYLES` (Heading1+2 Para- und Char-Stil). H3 bleibt unverändert. +- Visuell verifiziert: alle Headings im DOCX in `#3C68AE`, H1+H2 fett, H3 normal. + +**S10-B — cv.md Sinn-Korrekturen (Aufgabe 2):** + +- Diff-Vorbereitung: `output/cv-old-plain.txt` (alte DOCX 2025-03-21 normalisiert), `output/cv-new-plain.txt` (cv.md normalisiert), `output/cv-diff-unified.txt` (kompletter Unified-Diff), `output/cv-diff-report.md` (sektionsweise mit Mapping „Berufstätigkeit" ≡ „Projekte als freiberuflicher Consultant"). +- 18 Korrekturen umgesetzt (atomar via Python-aus-Disk-Pattern): + - Thomas: „Digitales"→„digitales Dämpfungsglied"; „Leiterplattenherstellern"→„Leiterplattenhersteller"; Toshiba-Spezifikation Komma; „Detaillierte Analysen elektrischer IC-Gehäuse"→„Detaillierte elektrische Analysen von IC-Gehäusen"; „Dotierungsprofile und dessen Implementierung"→„… und Implementierung". + - Agent: „inclusive"→„inklusive"; „Faseroptische"→„faseroptische"; „10 KHz"→„10 kHz"; PyAutoGui→PyAutoGUI; Halbgeviertstrich + Komposita-Fix Transimpedanzverstärker-GaAs-MMICs; „2.5 GHz"→„2,5 GHz"; „Evaluierungsboard Redesigns"→„-Redesigns"; Komma vor „abgeschlossen 2001"; Mixed-Mode-S-Parameter Bindestrich; Realtime-Oszilloskopen; Objektorientierte/ereignisorientierte ohne Bindestrich. +- Methodik-Liste umsortiert nach Projekt-Lifecycle: Konzepterstellung → Machbarkeitsstudien → Technologie-Evaluierung und -Auswahl → Spezifikationserstellung → Technische Dokumentation → Systematische Fehleranalyse → Projektmanagement. + +**S10-C — Buzzword-Erweiterung KI-Block (Aufgabe 3):** + +- KI-Sektion in `cv.md` umstrukturiert nach Thomas-Layout: + - Service-Begriffe (Potenzialanalyse, Schulung, Implementierung, Prompt Engineering, Multimodale KI, DSGVO). + - „KI Software" als kompakte Office/Marketing-Tool-Liste (Miro, Notion, Fireflies.ai, Gamma, Canva). + - „GenAI / LLMs" mit neuem Sub-Bullet „Mixture of Experts (MoE), Reasoning Models, Function Calling / Tool Use". + - „Agentic AI" mit neuem Sub-Bullet „Model Context Protocol (MCP)". + - NLP als eigener Top-Level-Punkt. + - „RAG" mit neuem Sub-Bullet „Chunk-Strategien". + - „Edge AI / On-Premise KI-Infrastruktur" am Ende als gebündeltes Stack-Kapitel: Hardware (Consumer-GPU NVIDIA Blackwell + RTX 50-Serie + CUDA Toolkit) → Quantisierung (8-bit Inference FP8, MXFP4) → Modell-Formate (GGUF, Safetensors) → Software-Stack (Ollama, Hugging Face Transformers, PyTorch, llama.cpp, Open WebUI). +- Modellname „Qwen3.5-9B" (S5-Vorschlag des Agents zur Korrektur) wurde von Thomas als korrekt bestätigt — bleibt unverändert. + +**S10-D — PDF-Layout (Aufgabe 4) — TEILWEISE GELÖST mit Trade-off:** + +- H1: keine Trennlinie mehr (analog DOCX, wo nur H2 Trennlinien hat). +- H2: schwarze Trennlinie 8,6 cm × 1,25 pt (1:1 wie DOCX-H2-Trennlinie aus B4.4 in S08). `\nobreak` vor der Linie hält Heading + Linie auf gleicher Seite. +- H3: in DesTEngS-Blau, nicht fett (analog DOCX). +- Erste Seite: graue Header-Trennlinie weg (`\renewcommand{\headrule}{}` in `firstpage`-Stil); `\vspace*{-1.16cm}` direkt nach `\thispagestyle{firstpage}` rückt H1+Foto an die Top-Margin. +- **Body-Spacings (H2↔Linie und Linie↔Bullets) bleiben etwas größer als im Header.** Versuch der Angleichung an Header-Spacings via parskip-Glue-Eliminierung + parskip-Kompensation im H2-after-code wurde nach Sandbox-Diagnose **rückgebaut**, weil das 2–3 zusätzliche PDF-Seiten produzierte. Der parskip-Glue ist essentiell für LaTeX-Pagebreak-Flexibilität. Final-Lösung der Body-Header-Konsistenz kommt mit S12 (CV-LaTeX-Klasse). +- **Pagebreaks bei Trainings/Kenntnisse/„Berufliche Stationen vor der Selbständigkeit"**: longtable-Pagebreak-Logik macht im aktuellen Setup gelegentlich unschöne Trennungen. Wird mit der CV-LaTeX-Klasse in S12 strukturell gelöst. + +**Lessons-learned aus S10:** + +- **Sandbox-Build als Pflicht für Layout-Iterationen.** Setup mit `pdflatex` + `lmodern` (statt `lualatex` + IBM Plex Sans) etabliert. Page-Counts und Pagebreak-Verhalten lassen sich dort gut beurteilen, exakte Schriftbild-Abweichungen zu IBM Plex bleiben aber. Iterations-Loop über Thomas ist nur sinnvoll, wenn jede Variante vorher selbst getestet wurde. +- **Layout-Eingriffe einzeln testen.** Mehrere Mechanismen gleichzeitig (parskip-Manipulation + needspace + penalty + bodyonlyvspace) haben Diagnose blockiert. Saubere Sandbox-Isolierung jedes Mechanismus hat den Schuldigen schnell gefunden (parskip-Glue-Eliminierung). +- **parskip-Glue ist essentiell.** `\setlength{\parskip}{0.5em plus 0.2em minus 0.1em}` (Glue) gibt LaTeX Layout-Flexibilität für Pagebreaks. Eliminierung des Glues kostet 2+ Seiten. +- **Pandoc 3.x emittiert `minipage[t]` für Tabellen-Cells**, in denen `\@parboxrestore` `parskip` auf 0pt setzt. Das erklärt unterschiedliche Spacings Body vs. Header. +- **`titlesec` verträgt kein `\par` im after-code** (`! Paragraph ended before \ttl@format@iii was complete.`). Direktes `\penalty` ist sicherer. +- **`\nopagebreak` in longtable-Kontext** ist auf `\noalign{...}`-Form überschrieben — bricht im after-code mit `! Misplaced \noalign.`. `\penalty 7500` ist longtable-sicher. + +**Strategische Entscheidung am Ende von S10 (mit Thomas):** PDF-Pipeline wird in S12 mit professioneller CV-LaTeX-Klasse neu aufgesetzt (`moderncv` / `awesome-cv` / typst — Tool-Recherche dort). `cv.md` bleibt single source of truth; Daten-Extraktion via Custom-Pandoc-Filter oder Build-Skript-Erweiterung. + ## Nächste Schritte -1. **DOCX-Mängel beheben:** Blau-Ton der Headings ist nicht DesTEngS-Blau (Soll-Wert `#3C68AE`). Heading-Stile in `build/build-reference-docx.py` prüfen, ob die `set_heading_colors`-Funktion auf dem Stil greift oder ob Word den Theme-Color trotzdem als Aptos-Default rendert. -2. **Doublecheck der neu generierten Texte:** Mindestens „elektrischer Gehäuse" ist sinnverkehrt (vermutlich aus den V9/V10-Iterationen entstanden). cv.md komplett auf Sinn- und Sprachfehler durchgehen. -3. **Buzzword-Kompetenzen-Brainstorm:** Kenntnisse-Abschnitt erweitern. Mindestens „Umgang mit quantisierten LLMs" fehlt noch. Weitere KI-relevante Begriffe für das Agentur-Keyword-Matching identifizieren. -4. **PDF-Mängel beheben:** Abstände zwischen H1, H2 „Kontaktdaten" und der Kontaktdaten-Bullet-Liste stimmen nicht (Folge der `\titlespacing*{\section}{0pt}{0pt}{0.5em}`-Änderung). Hellgraue Trennlinien (rulegray, `#BFBFBF`) sind inakzeptabel — Farbe oder Linienführung überdenken. -5. **Iteration D — Hyphenation-Feintuning für PDF:** Kurze Wortteile am Zeilenanfang mit höherer Penalty oder gezielten `\hyphenation`-Ausnahmen reduzieren. Iterativ. -6. Teilgebiet nach erfolgreichem Output und Freigabe durch Thomas abschließen (R2-OK von Thomas: Status auf „abgeschlossen" im zentral-index.md). +**S11 — nur Lebenslauf-Inhalt:** + +1. **Methodik-Sektion ergänzen.** Aktuelle 7 Einträge auf weitere relevante Methodik-Begriffe ausbauen. +2. **Inhaltliche Kleinigkeiten verbessern.** Thomas hat konkrete Detail-Verbesserungen in `cv.md` im Sinn. + +**S12 — PDF-Pipeline-Refactoring mit professioneller CV-LaTeX-Klasse:** + +1. Tool-Recherche: `moderncv` vs. `awesome-cv` vs. typst (oder andere). Vergleich nach Optik, Aufwand, MikTeX-Integration, DesTEngS-CI-Anpassbarkeit (`#3C68AE`, IBM Plex Sans). +2. `cv.md` bleibt single source of truth. +3. Daten-Extraktion aus `cv.md` für CV-Klasse-Features (`\cventry` / `\cvevent` etc.): + - Custom Pandoc-Filter (Lua oder Python) ODER + - Erweiterung von `build.ps1` mit Python-Pre-Processor, der `cv.md` → `cv.tex` transformiert. +4. Implementierung, Sandbox-Test, visuelle Verifikation durch Thomas. +5. Teilgebiet nach erfolgreichem Output und Freigabe durch Thomas abschließen (R2-OK von Thomas: Status auf „abgeschlossen" im `zentral-index.md`). + +## Nächste Schritte + +**S11 — nur Lebenslauf-Inhalt:** + +1. **Methodik-Sektion ergänzen.** Aktuelle 7 Einträge auf weitere relevante Methodik-Begriffe ausbauen. +2. **Inhaltliche Kleinigkeiten verbessern.** Thomas hat konkrete Detail-Verbesserungen in `cv.md` im Sinn. + +**S12 — PDF-Pipeline-Refactoring mit professioneller CV-LaTeX-Klasse:** + +1. Tool-Recherche: `moderncv` vs. `awesome-cv` vs. typst (oder andere). Vergleich nach Optik, Aufwand, MikTeX-Integration, DesTEngS-CI-Anpassbarkeit (`#3C68AE`, IBM Plex Sans). +2. `cv.md` bleibt single source of truth. +3. Daten-Extraktion aus `cv.md` für CV-Klasse-Features (`\cventry` / `\cvevent` etc.): + - Custom Pandoc-Filter (Lua oder Python) ODER + - Erweiterung von `build.ps1` mit Python-Pre-Processor, der `cv.md` → `cv.tex` transformiert. +4. Implementierung, Sandbox-Test, visuelle Verifikation durch Thomas. +5. Teilgebiet nach erfolgreichem Output und Freigabe durch Thomas abschließen (R2-OK von Thomas: Status auf „abgeschlossen" im `zentral-index.md`). ## Artefakte