initial slide deck for trainings
authorAaron Kaplan <aaron@lo-res.org>
Sun, 29 Mar 2015 18:58:38 +0000 (20:58 +0200)
committerAaron Kaplan <aaron@lo-res.org>
Sun, 29 Mar 2015 18:58:38 +0000 (20:58 +0200)
43 files changed:
presentations/org-training/.gitignore [new file with mode: 0644]
presentations/org-training/Makefile [new file with mode: 0644]
presentations/org-training/agenda.md [new file with mode: 0644]
presentations/org-training/attacks/LICENSE [new file with mode: 0644]
presentations/org-training/attacks/beamercolorthememodifiedsolarized.sty [new file with mode: 0644]
presentations/org-training/attacks/content.tex [new file with mode: 0644]
presentations/org-training/attacks/makefile [new file with mode: 0644]
presentations/org-training/attacks/presentation.tex [new file with mode: 0644]
presentations/org-training/common/cipherStringB.tex [new file with mode: 0644]
presentations/org-training/common/commands.tex [new file with mode: 0644]
presentations/org-training/common/style.tex [new file with mode: 0644]
presentations/org-training/common/system.tex [new file with mode: 0644]
presentations/org-training/img/confused.png [new file with mode: 0644]
presentations/org-training/img/draft.png [new file with mode: 0644]
presentations/org-training/img/enigma.jpg [new file with mode: 0644]
presentations/org-training/img/exampleApache-rewrite.png [new file with mode: 0644]
presentations/org-training/img/exampleApache.png [new file with mode: 0644]
presentations/org-training/img/keylengths.png [new file with mode: 0644]
presentations/org-training/img/logo-eps-converted-to.pdf [new file with mode: 0644]
presentations/org-training/img/logo.eps [new file with mode: 0755]
presentations/org-training/img/mary.jpg [new file with mode: 0644]
presentations/org-training/img/metalab-world-domination.jpg [new file with mode: 0644]
presentations/org-training/img/mining-ps-and-qs.png [new file with mode: 0644]
presentations/org-training/img/navajo.jpg [new file with mode: 0644]
presentations/org-training/img/neboltai.jpeg [new file with mode: 0644]
presentations/org-training/img/neboltai.png [new file with mode: 0644]
presentations/org-training/img/nsa.png [new file with mode: 0644]
presentations/org-training/img/openssl-s_client.png [new file with mode: 0644]
presentations/org-training/img/rusty_tools.jpg [new file with mode: 0644]
presentations/org-training/img/scytale.png [new file with mode: 0644]
presentations/org-training/img/ssllabs.png [new file with mode: 0644]
presentations/org-training/img/ssllabs2.png [new file with mode: 0644]
presentations/org-training/img/ssllabs3.png [new file with mode: 0644]
presentations/org-training/img/sslscan.png [new file with mode: 0644]
presentations/org-training/img/testing.jpg [new file with mode: 0644]
presentations/org-training/img/variantA.png [new file with mode: 0644]
presentations/org-training/img/variantB.png [new file with mode: 0644]
presentations/org-training/img/variantBcompatibility.png [new file with mode: 0644]
presentations/org-training/img/wrap-up.jpg [new file with mode: 0644]
presentations/org-training/img/xkcd-TLA.png [new file with mode: 0644]
presentations/org-training/neboltai.tex [new file with mode: 0644]
presentations/org-training/styleheader.tex [new file with mode: 0644]
presentations/org-training/update-metadata-for-gitinfo [new file with mode: 0755]

diff --git a/presentations/org-training/.gitignore b/presentations/org-training/.gitignore
new file mode 100644 (file)
index 0000000..0cccf6e
--- /dev/null
@@ -0,0 +1,16 @@
+.*.swp
+agenda.aux
+agenda.log
+agenda.out
+agenda.pdf
+agenda.tex
+agenda.toc
+gitHeadInfo.gin
+slides.aux
+slides.log
+slides.nav 
+slides.out 
+slides.pdf
+slides.snm
+slides.toc 
+slides.vrb
diff --git a/presentations/org-training/Makefile b/presentations/org-training/Makefile
new file mode 100644 (file)
index 0000000..69fb0e2
--- /dev/null
@@ -0,0 +1,36 @@
+#pdf1:
+#      ./update-metadata-for-gitinfo
+#      #pandoc -f markdown_github -o notes.pdf notes.md        
+
+all:   latex pdf
+
+latex: agenda.tex
+
+agenda.tex: agenda.md
+       pandoc  --listings -T "Bettercrypto workshop" -s -f markdown_github+tex_math_dollars+pandoc_title_block+raw_tex -t latex -o agenda.tex agenda.md
+
+slides.tex: agenda.md
+       pandoc --listings -T "Bettercrypto AH workshop" -s -f markdown_github+tex_math_dollars+pandoc_title_block+raw_tex -t beamer -o slides.tex agenda.md
+       #pandoc  -T "Bettercrypto AH workshop" -s -f markdown_github+pandoc_title_block+raw_tex+implicit_figures -t beamer -o slides.tex agenda.md
+
+pdf: agenda.pdf slides.pdf
+
+agenda.pdf: agenda.tex
+       # add the proper stylesheets
+       cat styleheader.tex > r
+       tail -n +2 agenda.tex  >> r
+       mv r agenda.tex
+       # compute version info
+       ./update-metadata-for-gitinfo
+       # update the toc
+       pdflatex agenda.tex
+       pdflatex agenda.tex
+
+slides.pdf: slides.tex
+       perl -p -i -e 's/\\usepackage\{amssymb,amsmath\}/\\usetheme{Berlin}\n\\usepackage{amssymb,amsmath}/g'  slides.tex 
+       pdflatex slides.tex
+
+clean:
+       rm -f agenda.pdf  agenda.tex agenda.log agenda.out agenda.aux agenda.toc slides.tex
+       rm -f slides.pdf  slides.nav slides.log slides.out slides.vrb slides.toc slides.aux slides.snm
+
diff --git a/presentations/org-training/agenda.md b/presentations/org-training/agenda.md
new file mode 100644 (file)
index 0000000..6e24121
--- /dev/null
@@ -0,0 +1,554 @@
+% Bettercrypto - Applied Crypto Hardening for Sysadmins
+% L. Aaron Kaplan <kaplan@cert.at> ; Maclemon (Zawodsky Pepi) <pepi@maclemon.at>
+% 2015/03/30
+---------------------------
+
+
+
+# Part 1:  Intro to the project
+
+
+![logo](img/logo)
+
+
+---
+# Overview 
+
+  1. **Part 1:** Intro to bettercrypto & Motivation
+  2. How we got started, how we work, what's there, what's missing, how to use the guide
+  2. Q&A round: what's needed for the organisation?
+  3. **Part 2:** Background
+  3. History of Crypto in a nutshell
+  4. Theory
+  4. 12:30 __lunch break__
+  5. Theory (cont.)
+  5. Practical settings
+  6. **Part 3:** Testing, tools, finding a process for improvement
+  7. wrap up & next steps
+    
+
+# Prerequisites
+
+  * Participants should have a basic knowledge of System administration and be familiar with configuring Apache, nginx, etc.
+  * know git/github
+  * a basic knowledge of crypto will help.
+
+# Motivation
+
+![NSA](img/nsa.png)
+
+# Motivation (2)
+
+Please note:
+
+  * the leaks also revealed to non-democratic countries precise recipies on how to do country wide or even Internet-wide surveillance, traffic inspection and -modification, etc.
+  * If politicians in other countries did not know how to do this, now they know!
+  * If criminals did not know how to do this, now they know!
+
+# The reaction
+
+\centering { \textbf{Don't give them anything for free}\par
+  It's your home, you fight! }
+
+
+# The reaction (2)
+
+  * We as humans are used to certain **modes** in communications:
+spoken words tend to:
+    * be forgotten over time ("data expires")
+    * get modified/changed whenever "copied" (repeated)
+    * get changed/modified over time  ("forgetfullness")
+    * we tend to be not so harsh about them ("forgive")
+    * have a limited geographic range ("town talk")
+    * be very decentralized ("accoustic range")
+  * digital traces/data tends to be:
+    * stored for ever. Never modified by default
+    * used against you in the future
+    * very centralized
+    * copied very easily
+    * always searchable in O(log(n)) 
+    
+  
+# The reaction (3)
+
+\centering { \textbf{Crypto is the only thing that might still help}
+\par
+a.k.a.:\par
+       ``\textit{The Bottom Line Is That Encryption Does Work}'', Edward Snowden
+}
+
+# But where?
+
+  * Ca. August 2013: Adi Kriegisch asks Aaron Kaplan where he could find good recommendations on SSL settings.
+  * Does that exist? At that time:
+    - no ssllabs cookbook
+    - only theoretical recommendations (ENISA, eCrypt II, NIST)
+    - ioerror's duraconf settings are outdated
+    - no practical copy & paste-able settings exist?
+
+
+# Project plan
+
+![Project plan](img/metalab-world-domination.jpg)
+
+
+# Project plan  (srsly)
+
+  * Do at least something against the **Cryptocalypse**
+  * Check SSL, SSH, PGP crypto SeIngs in the most common services and certificates:
+    –  Apache, Nginx, lighthNp
+       –  IMAP/POP servers (dovecot, cyrus, ...) –  openssl.conf
+       –  Etc.
+  * Write down our experinces as guide
+  * Create easy, copy & paste-able settings which are "OK" (as far as we know) for sysadmins.
+  * Keep the guide short. There are many good recommendations out there written by cryptographers for cryptographers
+  * Many eyes must check this!
+  * Make it open source
+
+  
+
+
+# Why is this relevant for you?
+
+  * You run networks and services. These are targets. If you believe it or not.
+  * You produce code. Make sure it uses good crypto coding practices
+
+  * However good crypto is hard to achieve
+  * Crypto does not solve all problems, but it helps
+
+
+# Who?
+
+Wolfgang Breyha (uni VIE), David Durvaux, Tobias Dussa (KIT-CERT), L. Aaron Kaplan (CERT.at), Christian Mock (coretec), Daniel Kovacic (A-Trust), Manuel Koschuch (FH Campus Wien), Adi Kriegisch (VRVis), Ramin Sabet (A-Trust), Aaron Zauner (azet.org), Pepi Zawodsky (maclemon.at), IAIK, A-Sit, ...  
+
+
+# Contents so far
+
+  * Intro
+  * Disclaimer 
+  * Methods 
+  * Theory
+    * Elliptic Curve Cryptography 
+    * Keylengths 
+    * Random Number Generators 
+    * Cipher suites – general overview & how to choose one
+  * Recommendations on practical settings 
+  * Tools 
+  * Links 
+  * Appendix
+
+
+# Methods and Principles
+
+C.O.S.H.E.R principle:
+  * **C**ompletely
+  * **O**pen 
+  * **S**ource
+  * **H**eaders
+  * **E**ngineering and
+  * **R**esearch
+
+Methods:
+  * Public review
+  * commits get **discussed**
+  * recommendations **need** references (like wikipedia)
+  * Every commit gets logged & we need your review!
+
+# How to commit
+
+  * https://git.bettercrypto.org (master, read-only)
+  * https://github.com/BetterCrypto/ (please clone this one & send PRs)
+
+How?
+  1. discuss the changes first on the mailinglist
+  2. clone 
+  3. follow the templates 
+  3. send pull requests
+  3. **split the commit into many smaller commits **
+  4. don't be cross if something does not get accepted. 
+  5. be ready for discussion
+
+# Feedback from professional cryptographers
+
+  * multiple times mentioned in talks by Dan J. Bernstein & Tanja Lange
+(ONE Conference, CCC, ...)
+  * good initial feedback from Vincent Rijmen (inventor of AES)
+  * got invited to the IETF STRINT workshop 2014
+
+# Part 2 
+
+\centering { \textbf{A large organisation has its own needs} }
+
+(Taking notes on infrastructure, legacy systems, inventory, etc.)
+
+# Part 3
+
+\centering { \textbf{History, Theory}}
+
+# History part
+
+Pre-history
+  * Scytale (7h century BC)
+  * Caesar 
+  * Vigenère (in a cifra del. Sig. Giovan Battista Bellaso, 1533)
+
+![Scytale](img/scytale.png)
+
+# How you can loose your head
+  * Mary Queen of Scots (1542 - 1587)
+    * Queen of Scotland until 1567
+    * Try to regain the throne 
+    * Was found guilty of plotting to assassinate Queen Elizabeth I of England
+    * Prooven after his code get broken...
+
+![Mary](img/mary.jpg)
+
+# How it can change a war
+  * II World War
+    * Enigma in use by German Army
+    * Broken by the first comuter (Alan Turing)
+    * Sign the end of U-Boat supremacy on the sea
+
+![Enigmae](img/enigma.jpg)
+
+# A sort of Steganography 
+  * Navajos Code Talkers (Pacific War - US Navy)
+
+![Navajo](img/navajo.jpg)
+
+# Nowadays
+  * Asymetric cryptography
+    * RSA (River - Shamir - Adleman) - 1977
+    * GPG (Phil Zimmerman) - 1991
+  * AES (Rijdael) - 1998
+
+# Famous names
+  * Cryptography was an hot topic for a lot of people
+    * Thomas Jefferson (1790) - ciphering cylinder (used for 150 years)
+    * Charles Babbage - break the Vigenère Cipher (1854, unknown until 20th Century)
+    * Gilbert S. Vernam (AT&T, 1917) - polyalphatic cipher with random key without repetition
+      * Only ciphersuite impossible to break both in theory and in practice!
+
+# Theory 
+
+\[
+ \hbar \frac{\partial}{\partial t}\Psi = \hat H \Psi
+\]
+
+
+# Some thoughts on ECC
+
+  * Currently this is under heavy debate
+  * Trust the Math
+    * eg. NIST P-256 (http://safecurves.cr.yp.to/rigid.html)
+    * Coefficients generated by hashing the unexplained seed c49d3608 86e70493 6a6678e1 139d26b7 819f7e90.
+  * Might have to change settings tomorrow
+  * Most Applications only work with NIST-Curves
+  * Bottom line: we leave the choice of ECC yes or no to the reader. You might have to adapt again.
+  * However, many server operators tend towards ECC  (speed)
+
+# Keylengths
+
+  * http://www.keylength.com/ 
+  * Recommended Keylengths, Hashing algorithms, etc.
+  * Currently:
+    * RSA: >= 3248 bits (Ecrypt II)    
+    * ECC: >= 256      
+    * SHA 2+ (SHA 256,…)
+    * AES 128 is good enough
+
+# AES 128? Is that enough?
+
+\centering{,,On the choice between AES256 and AES128: I would never consider using AES256, just like I don’t wear a helmet when I sit inside my car. It’s too much bother for the epsilon improvement in security.''\par
+— Vincent Rijmen in a personal mail exchange Dec 2013
+}
+  * Some theoretical attacks on AES-256
+
+
+# (Perfect) Forward Secrecy
+
+Motivation:
+
+* Three letter agency (TLA) stores all ssl traffic
+* Someday TLA gains access to ssl-private key (Brute Force, Physical Force)
+* TLA can decrypt all stored traffic
+
+Solution:
+* **Ephemeral** session keys via Diffie Hellman (**DHE**)
+
+# Review of Diffie Hellman
+
+Let g be a primitive root mod p. p is a Prime.
+
+Alice to Bob: \[ X = g^x \mod p  \]
+Bob to Alice:  \[ Y = g^y \mod p  \]
+Alice calculates: \[  k_1 = Y^x \mod p \]
+Bob calculates:   \[ k_2 = X^y \mod p .  \text{. Therefore, } k_1 = k_2 \]
+Proof: \[ k_1 = Y^x = (g^y)^x = g^{(x \times y)} = (g^x)^y = X^y = k_2  \mod p \qed \]
+
+
+# Reality 
+
+\centerline{\includegraphics[width=10cm]{img/xkcd-TLA.png}}
+
+# Well...
+
+We still recommend perfect forward secrecy.
+
+ * Ephemeral: new key for each execution of a key exchange process
+ * SSL private-Key only for authentication
+ * Alternative new ssl private key every x days months
+ * Pro:
+    - Highest Security against future attacks
+ * Contra: 
+    - Elliptic Curve
+    - Processing costs
+
+# (P)RNGs
+
+  * (P)RNGs **are** important!
+  * Nadia Heninger et al / Lenstra et al
+,,… to identify apparently vulnerable devices from 27 manufacturers.''
+![mining P's and Q's](img/mining-ps-and-qs.png)
+  * Entropy after startup: embedded devices quite bad
+
+
+# (P)RNGs - recommendations
+  * Look out for known weak RNG
+    * Dual EC_DRBG is weak (slow, used in RSA-toolkit)
+    * Intel RNG ? Recommendation: add System-Entropy (Network). Entropy only goes up.
+  * Use tools (e.g. haveged/HaveGE http://dl.acm.org/citation.cfm?id=945516)
+  * RTFM 
+    * when is the router key generated
+    * Default Keys ?
+  * Re-generate keys from time to time
+
+
+# Cipher suites
+
+  * What is a SSLCipherSuite?
+  * vs. SSLProtocol
+
+  * Example:
+
+       SSLProtocol All -SSLv2 -SSLv3
+       SSLCipherSuite 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA'
+
+# Some general thoughts on settings
+
+  * General:
+    * Disable SSL 2.0 (weak algorithms)
+    * Disable SSL 3.0 (BEAST vs IE/XP)
+    * Enable TLS 1.0 or better
+    * Disable TLS-Compression (SSL-CRIME Attack)
+    * Implement HSTS (HTTP Strict Transport Security)
+  * Variant A: fewer supported clients
+  * Variant B: more clients, weaker settings
+
+
+
+# Variant **A**
+
+    EECDH+aRSA+AES256:EDH+aRSA+AES256:!SSLv3
+
+![Variant A](img/variantA.png)
+
+Compatibility: 
+
+Only clients which support TLS1.2 are covered by these cipher suites (Chrome 30, Win 7 and Win 8.1, Opera 17, OpenSSL >= 1.0.1e, Safari 6 / iOS 6.0.1, Safari 7 / OS X 10.9) 
+
+# Variant **B**
+
+  * weaker ciphers, many clients 
+
+![Variant B](img/variantB.png)
+
+# Variant B compatibility
+
+![Compatibility](img/variantBcompatibility.png)
+
+# Choosing your own CipherSuite string
+
+  * Rolling your own cipher suite string involves a trade-off between:
+    * Compatibility (server <-> client), vs.
+    * Known weak ciphers/hashes/MACs
+    * The choice ECC or not, vs.
+    * Support by different ssl libs (gnutls, openssl,...) vs.
+    * Different versions of ssl libs
+  * In case of ssl lib version issues: do you want to re-compile the whole server for a newer version?
+  * Be aware of these issues before choosing your own cipher suite. Have test suites!
+
+
+# Choosing your own CipherSuite string (2)
+
+  * Complexity 
+  * It is a multi-dimensional optimisation problem
+  * Consider strong alternativesto de-facto standards (pros/cons - CAMELLIA vs. AES)
+  * _WISHLIST_: generator for settings? click-dropdown boxes on the webserver -> gernate config
+  * _WISHLIST_: right now we only support OpenSSL CipherSuite names/configs. What about gnutls, etc.?
+
+# Practical settings
+
+![Tools](img/rusty_tools.jpg)
+
+# What we have so far
+
+* Web server: Apache, nginx, MS IIS, lighttpd
+* Mail: Dovecot, cyrus, Postfix, Exim
+* DBs: Mysql, Oracle, Postgresql, DB2
+* VPN: OpenVPN, IPSec, Checkpoint, ...
+* Proxies: Squid, Pound
+* GnuPG
+* SSH
+* IM servers (jabber, irc)
+* _DANE_
+* _Configuration code snippets_
+
+
+# What are we missing
+
+_WISHLIST_:
+
+  * Section on generating CSRs (\texttt{-sha256} etc)
+  * Mail: Exchange, Sendmail
+  * SIP
+  * RDP
+
+  * Everything as HTML (easier to copy & paste)
+  * gnutls setttings
+  * Config generator on the website
+  * Automatic testing suite
+
+
+
+
+# Example Apache
+
+  * Selecting cipher suites:
+
+![Example Apache](img/exampleApache.png)
+
+  * Additionally mod\_rewrite:
+
+![Example Apache rewrite](img/exampleApache-rewrite.png)
+
+
+# Testing
+
+![Testing](img/testing.jpg)
+
+
+# How to test - Tools
+
+  * openssl s_client  (or gnutls-cli)
+  * **ssllabs.com**: checks for servers as well as clients
+  * xmpp.net
+  * sslscan: for internal scans
+  * SSLyze: for internal scans
+  * masscan: for internal scans
+  * zmap: for internal scans
+
+
+# Tools: openssl s_client
+
+   openssl s_client -showcerts –connect git.bettercrypto.org:443
+
+![openssl s_client](img/openssl-s_client.png)
+
+# Tools: sslscan
+
+![sslscan](img/sslscan.png)
+
+
+# Tools: ssllabs.com
+
+![ssllabs.com](img/ssllabs.png)
+
+
+# Tools: sslllabs.com (2)
+
+![ssllabs.com](img/ssllabs2.png)
+
+
+# Tools: sslllabs.com (3)
+
+![ssllabs.com](img/ssllabs3.png)
+
+
+
+
+# Wrap-up
+
+
+![Wrap-up](img/wrap-up.jpg)
+
+
+# Current state as of 2014/10/06
+
+  * OK: More or less solid basis with Variant (A) and (B)
+( Some minor modifications needed - maybe)
+  * Public draft was presented at the CCC Dec 2013. 
+Well received. Good feedback (Dan Bernstein, ...)
+
+# What's still needed?
+
+  * Need to convert to HTML/restructured text (RST) and have the whole guide on the web
+  * fix the \texttt{@@@CIPHERSTRINGB@@@} macro in the configuration/ dir
+  * re-review  the configuration/\* files. Maybe crap slipped in 
+due to large commits :(
+  * _WISHLIST_: config generator
+  * _WISHLIST_: automatic compatibility testing
+  * _WISHLIST_: automatic internet-wide measurement (massscan, zmap, ...)
+  * long term maintenance / upkeep strategy
+
+
+# How to participate?
+
+1. We need: cryptologists, sysadmins, hackers
+1. Read the document, find bugs!
+1. Master git repo (git.bettercrypto.org) is world-readable. 
+1. Subscribe to the mailing list
+1. look at the TODO.md file
+1. Understand the cipher strings Variant (A) and (B) before proposing some changes
+
+# How to participate? (2)
+1. If you add content to a subsection, make a sample config with variant (B)
+1. **use the \texttt{@@@CIPHERSTRINGB@@@} macro !** :
+  * edit config snippets in \texttt{configuration/\*}
+  * \texttt{make config} to copy over the template from \texttt{configuration/} to \texttt{stage/}
+  * \texttt{make config} basically does: \texttt{sed -i "s/@@@CIPHERSTRINGB@@@/\$cipherstringB/g"}
+1. Use the github.com repo for pull requests
+1. **important:** please do many smaller commits! It's easier to review and merge.
+
+# How to participate? (3)
+We need: 
+  * Add content to an subsection from the TODO list -> send us diffs
+  * Reviewers!
+
+Accept that  your commit might be under quite some scrutiny, that's the game.
+  * **C**ompletely
+  * **O**pen
+  * **S**ource
+  * **H**eaders
+  * **E**ngineering and
+  * **R**esearch
+
+
+
+
+# Links
+
+  * Website: www.bettercrypto.org
+  * Master (read-only) Git repo: https://git.bettercrypto.org
+  * Public github repo for PRs: https://github.com/BetterCrypto/Applied-Crypto-Hardening
+  * Mailing list: http://lists.cert.at/cgi-bin/mailman/listinfo/ach 
+  * IRC: #bettercrypto on freenode
+
+
+
+
+# Thanks
+
+\centerline{Thanks}
+
diff --git a/presentations/org-training/attacks/LICENSE b/presentations/org-training/attacks/LICENSE
new file mode 100644 (file)
index 0000000..e94a978
--- /dev/null
@@ -0,0 +1,16 @@
+Copyright: Aaron Zauner <azet@azet.org>
+
+Unless explicitly stated otherwise, all content of my talks
+is licensed under CC BY-NC-ND 4.0. LaTeX and Makefile hacks,
+as well as PanDoc integration is largely copied off the
+internet anyway. If you find something original you may use
+it with your own slides, with your own content under the
+terms of the MIT license.
+
+ - https://creativecommons.org/licenses/by-nc-nd/4.0
+ - http://opensource.org/licenses/MIT
+
+If you want to use a particular presentation for
+commercial purposes get in touch with me via e-mail.
+
+azet
diff --git a/presentations/org-training/attacks/beamercolorthememodifiedsolarized.sty b/presentations/org-training/attacks/beamercolorthememodifiedsolarized.sty
new file mode 100644 (file)
index 0000000..bb13e71
--- /dev/null
@@ -0,0 +1,165 @@
+% Beamer Color Theme using the Solarized Palette,
+% http://ethanschoonover.com/solarized.
+%
+% Copyright 2012 Jeffrey B. Arnold
+% 
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%
+% modified to be even darker/or black and white by azet@azet.org @ 24/03/2014
+%
+
+\ProvidesPackage{modifiedsolarized}[2013/10/11 1.0.1 Solarized color theme for beamer]
+\RequirePackage{etoolbox}
+\RequirePackage{kvoptions}
+
+%% This is ugly. First time using options and conditionals in LaTeX
+\SetupKeyvalOptions{
+  family=solarized,
+  prefix=solarized@,
+}
+\DeclareBoolOption[false]{dark}
+\DeclareComplementaryOption{light}{dark}
+\DeclareStringOption[yellow]{accent}[yellow]
+\ProcessKeyvalOptions*
+
+% Solarized palette
+\definecolor{solarizedBase03}{HTML}{000000}
+\definecolor{solarizedBase02}{HTML}{073642}
+\definecolor{solarizedBase01}{HTML}{586e75}
+\definecolor{solarizedBase00}{HTML}{657b83}
+\definecolor{solarizedBase0}{HTML}{FFFFFF}%{839496}
+\definecolor{solarizedBase1}{HTML}{FFFFFF}%{93a1a1}
+\definecolor{solarizedBase2}{HTML}{EEE8D5}
+\definecolor{solarizedBase3}{HTML}{FDF6E3}
+\definecolor{solarizedYellow}{HTML}{B58900}
+\definecolor{solarizedOrange}{HTML}{CB4B16}
+\definecolor{solarizedRed}{HTML}{DC322F}
+\definecolor{solarizedMagenta}{HTML}{D33682}
+\definecolor{solarizedViolet}{HTML}{6C71C4}
+\definecolor{solarizedBlue}{HTML}{268BD2}
+\definecolor{solarizedCyan}{HTML}{2AA198}
+\definecolor{solarizedGreen}{HTML}{859900}
+\definecolor{solarizedWhite}{HTML}{FFFFFF}
+
+% Set Accent color
+% Ugly. Should be done with a switch
+\ifdefstring{\solarized@accent}{yellow}{
+  \colorlet{solarizedAccent}{solarizedYellow}
+}{}
+\ifdefstring{\solarized@accent}{orange}{
+  \colorlet{solarizedAccent}{solarizedOrange}
+}{}
+\ifdefstring{\solarized@accent}{red}{
+  \colorlet{solarizedAccent}{solarizedRed}
+}{}
+\ifdefstring{\solarized@accent}{magenta}{
+  \colorlet{solarizedAccent}{solarizedMagenta}
+}{}
+\ifdefstring{\solarized@accent}{violet}{
+  \colorlet{solarizedAccent}{solarizedViolet}
+}{}
+\ifdefstring{\solarized@accent}{blue}{
+  \colorlet{solarizedAccent}{solarizedBlue}
+}{}
+\ifdefstring{\solarized@accent}{cyan}{
+  \colorlet{solarizedAccent}{solarizedCyan}
+}{}
+\ifdefstring{\solarized@accent}{green}{
+  \colorlet{solarizedAccent}{solarizedGreen}
+}{}
+\ifdefstring{\solarized@accent}{white}{
+  \colorlet{solarizedAccent}{solarizedWhite}
+}{}
+
+%% Set base colors for dark or light versions
+%% Dark
+% Switch between light and dark themes using the method in the CSS
+% stylesheet http://ethanschoonover.com/solarized
+\ifboolexpe{ bool {solarized@dark}}{
+  \colorlet{solarizedRebase03}{solarizedBase03}
+  \colorlet{solarizedRebase02}{solarizedBase02}
+  \colorlet{solarizedRebase01}{solarizedBase01}
+  \colorlet{solarizedRebase00}{solarizedBase00}
+  \colorlet{solarizedRebase0}{solarizedBase0}
+  \colorlet{solarizedRebase1}{solarizedBase1}
+  \colorlet{solarizedRebase2}{solarizedBase2}
+  \colorlet{solarizedRebase3}{solarizedBase3}
+}{
+  %% Light
+  \colorlet{solarizedRebase03}{solarizedBase3}
+  \colorlet{solarizedRebase02}{solarizedBase2}
+  \colorlet{solarizedRebase01}{solarizedBase1}
+  \colorlet{solarizedRebase00}{solarizedBase0}
+  \colorlet{solarizedRebase0}{solarizedBase00}
+  \colorlet{solarizedRebase1}{solarizedBase01}
+  \colorlet{solarizedRebase2}{solarizedBase02}
+  \colorlet{solarizedRebase3}{solarizedBase03}
+}
+
+\mode<presentation>
+
+\setbeamercolor{normal text}{fg=solarizedRebase0, bg=solarizedRebase03}
+\setbeamercolor{alerted text}{fg=solarizedAccent}
+% based css pre element 
+\setbeamercolor{example text}{fg=solarizedRebase1, bg=solarizedRebase02}
+
+% Header and footer from CSS 
+\setbeamercolor{footline}{bg=solarizedRebase02,fg=solarizedRebase01}
+\setbeamercolor{headline}{bg=solarizedRebase01,fg=solarizedRebase1}
+
+% Titles
+\setbeamercolor*{titlelike}{fg=solarizedAccent}
+\setbeamercolor*{frametitle}{fg=solarizedAccent}
+\setbeamercolor*{title}{fg=solarizedAccent}
+
+% Structure elements use css style for header 
+\setbeamercolor*{structure}{bg=solarizedRebase01, fg=solarizedRebase1}
+
+% Do not mess with subtle colors in palette. I don't like it. 
+\setbeamercolor*{palette primary}{bg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette secondary}{bg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette tertiary}{bg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette quaternary}{bg=solarizedRebase01, fg=solarizedRebase1}
+
+% Make Blocks slightly lighter/darker
+\setbeamercolor{block title}{fg=solarizedAccent, bg=solarizedRebase02}
+%\setbeamercolor{block title alerted}{}
+%\setbeamercolor{block title example}{}
+
+\setbeamercolor{block body}{parent=normal text, bg=solarizedRebase02}
+% \setbeamercolor{block body alerted}{}
+% \setbeamercolor{block body example}{}
+
+% same as footline
+% Set Sidebar and footline to use the css style for footer
+\setbeamercolor*{sidebar}{parent=headline}
+\setbeamercolor*{palette sidebar primary}{fg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette sidebar secondary}{fg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette sidebar tertiary}{fg=solarizedRebase01, fg=solarizedRebase1}
+\setbeamercolor*{palette sidebar quaternary}{fg=solarizedRebase01, fg=solarizedRebase1}
+
+% border-color for headings
+\setbeamercolor{separation line}{fg=solarizedRebase0}
+\setbeamercolor{fine separation line}{fg=solarizedRebase0}
+
+\setbeamercolor*{section in sidebar shaded}{parent=palette sidebar primary}
+% a.hover.navlink in CSS
+\setbeamercolor*{section in sidebar}{parent=palette sidebar primary, fg=solarizedRebase02}
+\setbeamercolor*{subsection in sidebar}{parent=section in sidebar}
+\setbeamercolor*{subsection in sidebar shaded}{parent=section in sidebar shaded}
+
+\mode
+<all>
+
diff --git a/presentations/org-training/attacks/content.tex b/presentations/org-training/attacks/content.tex
new file mode 100644 (file)
index 0000000..3391589
--- /dev/null
@@ -0,0 +1,509 @@
+
+\begin{frame}{Internet Dark Ages}
+
+  \begin{itemize}
+    \item SSLv1 engineered at Netscape, never released to the public
+    \item Kipp Hickman of Netscape introduces SSLv2 as an IETF draft back in 1995:
+      \newline
+      \newline
+      \texttt{The SSL Protocol is designed to provide privacy between two communicating applications (a client and a server). Second, the protocol is designed to authenticate the server, and optionally the client. [...]}
+  \end{itemize}
+  \vspace{50px}
+
+  \tiny\url{http://tools.ietf.org/html/draft-hickman-netscape-ssl-00}
+
+\end{frame}
+
+\begin{frame}{Internet Dark Ages}
+  \begin{itemize}
+    \item SSLv2 was fundamentally broken and badly designed. Basically full loss of Confidentiallity and integrity of on-wire data thus susceptible to MITM attacks, see: \url{http://osvdb.org/56387}
+    \item CipherSpec is sent in the clear
+    \item Size of Block-cipher padding is sent in the clear
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Internet Dark Ages}
+  \begin{itemize}
+    \item SSLv3 was introduced in 1996 by Paul Kocher, Phil Karlton and Alan Freier, utilizing an algoritm by Taher ElGamal, a known cryptographer and Chief Scientist at Netscape at the time: \url{https://tools.ietf.org/html/rfc6101}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Internet Dark Ages}
+  On a side note; back then the choice algorithms was limited and export ciphers (low security) common as recommended by NSA and mandated by US law. Google: ``Bernstein vs. United States''
+  \begin{itemize}
+    \item encryption algorithms (Confidentiality): NULL, FORTEZZA-CBC (NSA), IDEA-CBC, RC2-CBC-40 (40bit security), RC4-128, DES40-CBC (40bit security), DES-CBC (56bit security), Triple-DES-EDE-CBC
+    \item hash functions (integrity): NULL, MD5 and SHA
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Internet Dark Ages}
+  David Wagner and Bruce Schneier publish a paper entitled ``Analysis of the SSL 3.0 protocol'':
+  \begin{itemize}
+    \item Keyexchange algorithm rollback
+    \item Protocol fallback to SSLv2
+    \item Protocol leaks known plaintexts - may be used in cryptanalysis 
+    \item Replay attacks on Anonymous DH (don't use it anyway!)
+  \end{itemize}
+
+  \vspace{50px}
+
+  \tiny\url{https://www.schneier.com/paper-ssl.pdf}
+\end{frame}
+
+\begin{frame}{TLS appears}
+  1999. The SSL protocol is renamed to TLS (version 1) with little improvements over SSLv3. The spec. is almost identical.
+  \begin{itemize}
+    \item Diffie-Hellman, DSS and Triple-DES are now required by implementors
+    \item most SSLv3 security issues are still present in TLS 1.0
+  \end{itemize}
+  (RFC2246)
+\end{frame}
+
+\begin{frame}{TLS gets padding attacks}
+  2002. Vaudenay publishes a paper entitled ``Security Flaws Induced by CBC Padding
+Applications to SSL, IPSEC, WTLS...'' 
+  \begin{itemize}
+    \item Side-channel attack on CBC mode padding
+    \item valid/invalid padding causes different reactions
+    \item can be used to influence decryption operations
+    \item introduces ``padding oracle attacks'' in SSL
+  \end{itemize}
+
+  \vspace{50px}
+
+  \tiny\url{http://www.iacr.org/cryptodb/archive/2002/EUROCRYPT/2850/2850.pdf}
+\end{frame}
+
+\begin{frame}{TLS gets extended}
+  2003. TLS extensions get specified in RFC3546.
+  \begin{itemize}
+    \item General: Extended Handshake, ClientHello and ServerHello
+    \item Server Name Indication (SNI) for virtual hosting\\(SNI leaks metadata!)
+    \item Certificate Status Request (CSR) support via OCSP
+    \item (...)
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{TLS gets timing attacks}
+  2003. Brumley and Boneh publish a paper entitled ``Remote timing attacks are practical''.
+  \newline
+  \newline
+  Timing attack on RSA in SSL/TLS implementations (OpenSSL):
+  \begin{itemize}
+    \item Send specially crafted ClientKeyExchange message
+    \item Mesure time between ClienyKeyExchange and Alert response
+    \item do a bit of statistics
+    \item retrieve Private Key
+  \end{itemize}
+
+  \vspace{50px}
+
+  \tiny\url{http://dl.acm.org/citation.cfm?id=1251354}
+\end{frame}
+
+\begin{frame}{TLS gets padding oracle password retrieval}
+  2003. Canvel, Hiltgen, Vaudenay, Vuagnoux publish ``Password Interception in a SSL/TLS Channel''.
+  \newline
+  \newline
+  Extend earlier work of Vaudenay and successfully intercept IMAP passwords in TLS channels.
+
+  \vspace{95px}
+
+  \tiny\url{http://www.iacr.org/cryptodb/archive/2003/CRYPTO/1069/1069.pdf}
+\end{frame}
+
+\begin{frame}{TLS gets chosen plaintext attacks}
+  2004 \& 2006. Bard demonstrates Chosen-Plaintext Attacks against SSL and TLS1.0
+  \newline
+  \newline
+  Attack on CBC:
+  \begin{itemize}
+    \item CBC exchanges an Initialization Vector (IV) during Handshake
+    \item these IVs turn out to be predictable
+    \item PINs and Passwords can be decrypted
+    \item VPNs/Proxies can also be used to accomplish this task
+  \end{itemize}
+  
+  \vspace{50px}
+
+  \tiny
+  \url{https://eprint.iacr.org/2004/111}\\
+  \url{https://eprint.iacr.org/2006/136}
+\end{frame}
+
+\begin{frame}{TLS gets updated}
+  2006. A new TLS protocol version is standardized: TLS 1.1
+  \begin{itemize}
+    \item EXPORT ciphers removed
+    \item Session resumption 
+    \item Protection against the CBC attacks by Bard
+    \item IANA TLS parameters standardized
+    \item (...)
+  \end{itemize}
+   (RFC4346)
+\end{frame}
+
+\begin{frame}{TLS gets modern crypto}
+  2008. A new TLS protocol version is standardized: TLS 1.2
+  \begin{itemize}
+    \item MD5/SHA1 removed as pseudorandom function (PRF)
+    \item configurable PRFs in ciphersuites (e.g. SHA256)
+    \item Authenticated encryption: CCM, GCM
+    \item AES ciphersuites
+    \item (...)
+  \end{itemize}
+   (RFC5246)
+\end{frame}
+
+\begin{frame}{Rouge CA Certificates}
+  2008. Sotirov, Stevens, Appelbaum, Lenstra, Molnar, Osvik and de Weger present a paper based on earlier work by Lenstra et al. at 25c3 entitled ``MD5 considered harmful today''
+
+  \begin{itemize}
+    \item MD5 Hash-collision of a CA Certificate
+    \item Create colliding (rouge) CA Certificates
+    \item Generate any Certificate for MITM you want
+  \end{itemize}
+
+  \vspace{60px}
+
+  \tiny
+  \url{http://www.win.tue.nl/hashclash/rogue-ca/}\\
+  \url{https://www.youtube.com/watch?v=PQcWyDgGUVg}\\
+\end{frame}
+
+\begin{frame}{sslstrip}
+  2009. Moxie Marlinspike releases \emph{sslstrip} at BlackHat DC 2009.
+
+  \begin{itemize}
+    \item Client connects to server
+    \item Attacker intercepts session via MITM
+    \item Attacker sends HTTP 301 (moved permanently)
+    \item Attacker forwards requests to/from server via SSL/TLS
+    \item Client receives data via unencrypted channel
+    \item Attacker reads plaintext
+  \end{itemize}
+  
+  \vspace{50px}
+
+  \tiny
+  \url{http://www.thoughtcrime.org/software/sslstrip}\\
+  \url{http://vimeo.com/50018478}
+\end{frame}
+
+\begin{frame}{Null-prefix attacks against Certificates}
+  2009. Moxie Marlinspike publishes ``Null prefix Attacks against SSL/TLS Certificates''.
+
+  \begin{itemize}
+    \item Specially crafted domain strings trick CA checking
+    \item null-terminate stuff in a domain name
+    \item ex.: \texttt{www.paypal.com\textbackslash0.thoughtcrime.org} is valid
+    \item ex.: \texttt{*\textbackslash0.thoughtcrime.org} is valid
+    \item CA ignores prefix 
+    \item Client does not -> Certificate valid for prefix
+  \end{itemize}
+  Moxie updated his \emph{sslsniff} project to carry out this attack.
+  
+  \vspace{30px}
+
+  \tiny
+  \url{http://www.thoughtcrime.org/papers/null-prefix-attacks.pdf}\\
+  \url{http://thoughtcrime.org/software/sslsniff}
+\end{frame}
+
+
+\begin{frame}{SSLv2 Forbidden}
+  2011. IETF publishes and standardized a RFC to prohibit negotiation and thus compatibility of SSLv2 in TLS1.0-1.2 entirely. 
+  
+  \vspace{140px}
+
+  \tiny
+  \url{https://tools.ietf.org/html/rfc6176}
+\end{frame}
+
+\begin{frame}{Comodo}
+  2011. Comodo CA: Attacker issues 9 certificates via reseller account for popular domains (google.com, yahoo.com, live.com, skype.com [...])
+  
+  \vspace{160px}
+
+  \tiny
+  \url{https://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html}
+\end{frame}
+
+\begin{frame}{BEAST}
+  2011. Doung and Rizzo publish the BEAST attack at ekoparty and demo a live attack on PayPal. Based on Bards earlier work on predictable IVs in CBC:
+  \begin{itemize}
+    \item Phishing gets victim to visit a certain website
+    \item Script on said website makes request to genuine site
+    \item Attacker records encrypted cookie information
+    \item Tries to guess session-cookie with known CBC attack
+  \end{itemize}
+  Same Origin Policy (SOP) forbids this attack in client software. If SOP can be bypassed (as shown by the authors with Java's SOP) this attack is still practical.
+  
+  \vspace{30px}
+
+  \tiny
+  \url{http://vnhacker.blogspot.co.at/2011/09/beast.html}
+\end{frame}
+
+
+\begin{frame}{Trustwave}
+  2012. Trustwave CA: Trustwave sells subordinate CAs to big corporations to be used for Deep Packet Inspection.
+  \newline
+  \newline
+  A sub-CA can issue and fake any certificate for MITM attacks.
+
+
+  \vspace{80px}
+
+  \tiny
+  \url{http://blog.spiderlabs.com/2012/02/clarifying-the-trustwave-ca-policy-update.html}
+  \url{http://arstechnica.com/business/2012/02/critics-slam-ssl-authority-for-minting-cert-used-to-impersonate-sites/}
+\end{frame}
+
+\begin{frame}{DigiNotar}
+  2012. DigiNotar CA: Attackers compromise DigiNotar in it's entirety.
+
+  \begin{itemize}
+    \item attackers generate tons of certificates
+    \item Google Chromes certificate store detects mismatches
+    \item DigiNotar acknowledges breach
+    \item DigiNotar files for bankrupcy
+    \item FOX-IT never gets paid for the investigation
+  \end{itemize}
+
+
+  \vspace{30px}
+
+  \tiny
+  \url{https://en.wikipedia.org/wiki/DigiNotar}\\
+  \url{http://cryptome.org/0005/diginotar-insec.pdf}\\
+  \url{http://nakedsecurity.sophos.com/2011/09/05/operation-black-tulip-fox-its-report-on-the-diginotar-breach}\
+
+\end{frame}
+
+\begin{frame}{Certificate validation in non-browser software}
+  2012. Georgiev, Iyengar, Jana, Anubhai, Boneh and Shmatikov publish a paper entitled ``The most dangerous code in the world: validating SSL certificates in non-browser software''
+  \newline
+  \newline
+  Certificate validation vulnerabilities in:
+  \begin{itemize}
+    \item OpenSSL
+    \item GnuTLS
+    \item JSSE
+    \item EC2 Java libraries \& Amazon SDKs
+    \item PayPal SDKs
+    \item eCommerce/WebShop software
+    \item ..cURL, PHP, Python, tons of Java middleware
+  \end{itemize}
+
+  \tiny
+  \url{https://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-client-bugs.html}
+\end{frame}
+
+\begin{frame}{CRIME}
+  2012. Doung and Rizzo publish an attack against TLS Compression and SPDY titled CRIME.
+
+  \begin{itemize}
+    \item MITM attacker sees length of compressed ciphertext
+    \item compression has direct affect on the length
+    \item attacker makes client compress/encrypt data (or uses known data) with secret data
+    \item attacker compares
+    \item correct guesses yield shorter messages due to compression
+    \item repeat until done
+  \end{itemize}
+  This is only feasible for small amounts of data, e.g. session strings, cookies and so forth.
+  
+  \vspace{10px}
+
+  \tiny
+  \url{https://isecpartners.com/blog/2012/september/details-on-the-crime-attack.aspx}
+\end{frame}
+
+\begin{frame}{TIME}
+  2013. Be'ery and Shulman present TIME at BlackHat Europe. Extend on the CRIME Attack:
+  \begin{itemize}
+    \item Attacker generates HTTP requests (XSS, injection,..)
+    \item Attacker exploits SOP design flaw and measures RTT differences
+    \item determines correct or failed guesses by SOP timing leak
+  \end{itemize}
+  
+  \vspace{70px}
+
+  \tiny
+  \url{https://media.blackhat.com/eu-13/briefings/Beery/bh-eu-13-a-perfect-crime-beery-wp.pdf}\\
+  \url{https://www.youtube.com/watch?v=rTIpFfTp3-w}
+\end{frame}
+
+\begin{frame}{Lucky13}
+  2013. AlFardan and Paterson present a novel attack against CBC for TLS and DTLS based on timing analysis.
+  \begin{itemize}
+    \item Attacker intercepts and modifies a message including padding
+    \item Attacker tempers with the padding of the message
+    \item MAC computation takes longer during decryption process
+    \item Attacker repeats and measures
+    \item Attacker performs padding oracle attack described earlier
+    \item (Extremely latency sensitive attack)
+  \end{itemize}
+
+  \vspace{50px}
+
+  \tiny
+  \url{http://www.isg.rhul.ac.uk/tls/Lucky13.html}\\
+  \url{http://www.isg.rhul.ac.uk/tls/TLStiming.pdf}
+\end{frame}
+
+\begin{frame}{RC4 Biases}
+  2013. AlFardan, Bernstein, Paterson, Poettering and Schuldt publish a generic attack on the RC4 cipher for TLS and WPA.
+  \begin{itemize}
+    \item Statistical biases in the first 257 bytes of ciphertext
+    \item Recovery of the first 200 bytes after $2^{28}$ to $2^{32}$ encryption operations of the same plaintext
+    \item A broadcast attack: mounted on unique keys
+    \item May also be mounted with a single key with repeating target plaintexts
+    \item Only feasible for large amounts of data and very time consuming
+  \end{itemize}
+  
+  \vspace{20px}
+
+  \tiny
+  \url{http://www.isg.rhul.ac.uk/tls}\\
+  \url{http://www.isg.rhul.ac.uk/tls/RC4biases.pdf}
+\end{frame}
+
+\begin{frame}{NIST curves}
+  2013 \& 2014. Daniel J. Bernstein and Tanja Lange voice concern about the NIST Elliptic Cuves that are widely implemented and used in TLS for ECDH and ECDSA
+  \begin{itemize}
+    \item NIST curves defined on recommendations by NSA's Jerry Solinas
+    \item Unclear why these curves and their parameters were chosen
+    \item NIST cites efficiency: more efficient and secure curves available
+    \item Possible mathematical backdoor through previous analysis and carefully chosen and unexplained parameters
+    \item Start SafeCurves project (ongoing)
+  \end{itemize}
+  
+
+  \tiny
+  \url{http://www.hyperelliptic.org/tanja/vortraege/20130531.pdf}\\
+  \url{http://cr.yp.to/talks/2013.09.16/slides-djb-20130916-a4.pdf}\\
+  \url{http://safecurves.cr.yp.to}\\
+  \url{https://archive.org/details/ShmooCon2014_SafeCurves}
+\end{frame}
+
+\begin{frame}{BREACH}
+  2013. Gluck, Harris and Prado demonstrate yet another attack based on CRIME at BlackHat USA.
+  \newline
+  \newline
+  Very similar to CRIME but the attack works based on information leaks from HTTP compression instead of TLS compression.
+  
+  \vspace{80px}
+
+  \tiny
+  \url{http://breachattack.com}\\
+  \url{https://www.youtube.com/watch?v=CoNKarq1IYA}
+\end{frame}
+
+\begin{frame}{Unused Certificates in Truststores}
+  2014. Perl, Fahl, Smith publish a paper entitled ``You Won't Be Needing These Any More: On Removing Unused Certificates From Trust Stores''
+  \begin{itemize}
+    \item Compared 48 mio. HTTP certificates
+    \item 140 CA Certificates are unused in all major trust stores
+    \item Of 426 trusted root certificates only 66\% are even used
+  \end{itemize}
+
+  
+  \vspace{70px}
+
+  \tiny
+  \url{http://fc14.ifca.ai/papers/fc14_submission_100.pdf}
+\end{frame}
+
+\begin{frame}{Triple Handshakes Considered Harmful}
+  2014. Bhargavan, Delignat-Lavaud, Pironti, Langley and Ray present an attack one day before the IETF'89 meeting in London.
+  \begin{itemize}
+    \item Limited to client-certificate authentication with renegotiation
+    \item MITM attack on renegotiation with a three-way handshake
+    \item Variations of the attack also discussed on their website
+    \item Can't possibly fit this into one slide, homework: understand the attack by reading their excellent description on the website
+  \end{itemize}
+
+  
+  \vspace{50px}
+
+  \tiny
+  \url{https://secure-resumption.com}\\
+  \url{https://secure-resumption.com/IETF-triple-handshakes.pdf}
+\end{frame}
+
+\begin{frame}{Frankencerts}
+  2014. Brubaker, Jana, Ray, Khurshid and Shmatikovy publish a paper entitled ``Using Frankencerts for Automated Adversarial Testing of Certificate Validation in SSL/TLS Implementations''
+  \begin{itemize}
+    \item Fuzzing of X.509 related code in all major implementations shows serious weaknesses in certificate validation and handling
+    \item OpenSSL, NSS, GnuTLS, MatrixSSL, PolarSSL, CyaSSL, cyptlib [...]
+  \end{itemize}
+
+  
+  \vspace{50px}
+
+  \tiny
+  \url{https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf}\\
+  \url{https://github.com/sumanj/frankencert}
+\end{frame}
+
+\begin{frame}{Heartbleed}
+  2014. Heartbleed is independently discovered by Codenomicon and a Google Security engineer.
+  \newline
+  \newline
+  Faulty implementation in OpenSSL of the TLS Heartbleed extension leaks memory content over the wire. This has been all over the media and discussed in detail all over the internet. People have successfully extracted sensitive information (password files et cetera) from victim memory.
+  \newline
+  \newline
+  I wrote an nmap plugin to scan for Heartbleed: \url{https://github.com/azet/nmap-heartbleed}
+
+  \vspace{30px}
+
+  \tiny
+  \url{http://heartbleed.com}
+\end{frame}
+
+\begin{frame}{Virtual Host Confusion}
+  2014. At BlackHat Delignat-Lavaud presents an attack based on SSLv3 downgrade and sharing of session caches
+  \begin{itemize}
+    \item Attacker forces downgrade to SSLv3
+    \item For SSLv3: larger deployments share session caches
+    \item attacker exploits a server vulnerability where session caches are reused
+    \item attacker requests different subdomain with SSLv3 using the same session
+    \item vulnerable server will allow connection w/o authentication
+    \item www.company.com vs git.company.com
+  \end{itemize}
+  \tiny
+  \url{https://bh.ht.vc}
+\end{frame}
+
+\begin{frame}{POODLE}
+  2014. POODLE: Padding Oracle On Downgraded Legacy Encryption - OpenSSL/Google
+  \begin{itemize}
+    \item MITM attacker downgrades to SSLv3 (once again)
+    \item attacker does block duplication
+    \item takes on average 256 requests to decrypt 1 byte (!)
+    \item disabling SSLv3 or using the FALLBACK\_SCSV TLS extension (draft) mitigates this issue entirely
+  \end{itemize}
+  \tiny
+  \url{https://www.openssl.org/~bodo/ssl-poodle.pdf}
+\end{frame}
+
+\begin{frame}{Implementation Issues}
+  There are tons of other issues with TLS stacks and software implementations that have not been discussed.
+  \newline
+  \newline
+  OpenSSL alone published 24 security advisories in 2014 until today.
+
+  \begin{itemize}
+    \item Apple's GOTO fail
+    \item GnuTLS GOTO fail
+    \item various GnuTLS vulnerabilities
+    \item wrong use of OpenSSL API in server and client software
+  \end{itemize}
+  ...\\
+  Clearly; a lot of people current have their eyes on this very topic.
+\end{frame}
+
+\begin{frame}{Implementation Issues}
+  For this crowd: It's up to you to find them and improve existing implementations, protocols and standards.
+\end{frame}
diff --git a/presentations/org-training/attacks/makefile b/presentations/org-training/attacks/makefile
new file mode 100644 (file)
index 0000000..ac8f60b
--- /dev/null
@@ -0,0 +1,22 @@
+TALK     := presentation.pdf
+TEX_SUFS := .aux .log .nav .out .snm .toc .vrb .fdb_latexmk .fls
+
+%.pdf:%.tex
+       latexmk -pdf $<
+
+all: $(TALK)
+genocide: clean clean-pdf clean-generated
+
+markdown:
+       pandoc content.md --slide-level 2 -t beamer -o contentgenerated.tex
+
+clean:
+       $(RM) $(foreach suf, ${TEX_SUFS}, $(TALK:.pdf=${suf})) *~
+       $(RM) -r auto
+
+clean-pdf:
+       $(RM) *.pdf
+
+clean-generated:
+       $(RM) *generated*
+
diff --git a/presentations/org-training/attacks/presentation.tex b/presentations/org-training/attacks/presentation.tex
new file mode 100644 (file)
index 0000000..0bd19ad
--- /dev/null
@@ -0,0 +1,97 @@
+%% Author:  Aaron <azet@azet.org> Zauner
+%% License: https://creativecommons.org/licenses/by-nc-nd/4.0/
+
+%% theme and colorscheme
+\documentclass[hyperref={draft}]{beamer}
+\usecolortheme[dark,accent=white]{modifiedsolarized}
+\beamertemplatetransparentcovered
+\setbeamertemplate{navigation symbols}{}
+
+%% packages
+\usepackage[light,math]{iwona}
+\usepackage[T1]{fontenc}
+\usepackage{textpos}
+\usepackage{tikz}
+\usepackage{mathtools}
+\usepackage{appendixnumberbeamer}
+
+%% footer
+\setbeamertemplate{footline}[text line]{%
+  \parbox{\linewidth}{\vspace*{-15pt}
+          \insertdate \hfill \inserttitle \newline
+          \insertshortauthor \hfill \insertframenumber/\inserttotalframenumber
+         }}
+\setbeamertemplate{navigation symbols}{}
+
+%% title
+\title{Bettercrypto - Applied Crypto Hardening for Sysadmins}
+\subtitle{Attacks}
+
+%% author and affilliation
+\author[Aaron Zauner]{Aaron Zauner\\
+        \textit{azet@azet.org}}
+\institute{BetterCrypto.org}
+
+%% venue and date
+\date{Hack.lu - 21/10/2014}
+
+
+%% main
+\begin{document}
+
+% enables straight single quote
+\makeatletter
+\let \@sverbatim \@verbatim
+\def \@verbatim {\@sverbatim \verbatimplus}
+{\catcode`'=13 \gdef \verbatimplus{\catcode`'=13 \chardef '=13 }} 
+\makeatother
+
+% enables backticks in verbatim
+\makeatletter
+{\catcode`\`=13
+\xdef\@verbatim{\unexpanded\expandafter{\@verbatim}\chardef\noexpand`=18 }
+}
+\makeatother
+
+{
+\setbeamertemplate{footline}{}
+
+\begin{frame}
+  \titlepage
+\end{frame}
+
+}
+\addtocounter{framenumber}{-1}
+
+{
+\setbeamertemplate{footline}{}
+
+\begin{frame}
+  \tableofcontents
+\end{frame}
+
+}
+\addtocounter{framenumber}{-1}
+
+
+%\addtobeamertemplate{frametitle}{}{%
+%  \begin{tikzpicture}[remember picture,overlay]
+%    \node[anchor=north east,yshift=1pt] at (current page.north east) {
+%      \includegraphics[height=30px]{lambda}
+%    };
+%  \end{tikzpicture}
+%}
+
+
+\IfFileExists{contentgenerated.tex}{\input{"contentgenerated.tex"}}{\input{"content.tex"}}
+
+
+%% appendix
+%\appendix
+%\begin{frame}{Bonus Slides}
+%blablabla
+%\end{frame}
+
+
+\end{document}
+
diff --git a/presentations/org-training/common/cipherStringB.tex b/presentations/org-training/common/cipherStringB.tex
new file mode 100644 (file)
index 0000000..eb5e55f
--- /dev/null
@@ -0,0 +1 @@
+\seqsplit{EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA}
diff --git a/presentations/org-training/common/commands.tex b/presentations/org-training/common/commands.tex
new file mode 100644 (file)
index 0000000..95ef7d3
--- /dev/null
@@ -0,0 +1,27 @@
+%%%
+%%% commands.tex
+%%% Document-specific commands
+%%%
+
+% Outputs red TODOs in the document. Requires \usepackage{color}.
+%
+% Usage: \todo{Document the TODO command.}
+%
+% Comment out second line to disable.
+\AtBeginDocument{\providecommand{\todo}[1]{}}
+\newcommand*{\todo}[1]{{\color{Red} TODO: {#1}}}
+
+% Creating a horizontal rule
+\newcommand*{\HorRule}{%
+  \color{darkblue}%
+  \rule{\linewidth}{1pt}%
+}
+
+%%% CIPHERSTRING
+\usepackage{seqsplit} % Use Sequence split. Basically it inserts between every character pair a box with zero width to allow linebreaks everywhere. Better solution wanted, but is there any better?
+\CatchFileDef{\cipherStringB}{common/cipherStringB.tex}{\endlinechar=-1 }%
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "../applied-crypto-hardening"
+%%% End: 
diff --git a/presentations/org-training/common/style.tex b/presentations/org-training/common/style.tex
new file mode 100644 (file)
index 0000000..c821c8e
--- /dev/null
@@ -0,0 +1,164 @@
+%%%
+%%% style.tex
+%%% Stylistic configuration
+%%%
+
+% Colors
+\definecolor{green}{RGB}{32,113,10}
+\definecolor{orange}{RGB}{251,111,16}
+\definecolor{red}{RGB}{247,56,0}
+\definecolor{blue}{RGB}{0,28,128}
+\definecolor{lightgreen}{RGB}{187,218,216}
+\definecolor{intersectgreen}{RGB}{103,133,155}
+\definecolor{darkblue}{RGB}{76,87,117}
+\definecolor{Brown}{cmyk}{0,0.81,1,0.60}
+\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
+\definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
+\definecolor{lightlightgray}{gray}{0.9}
+
+% Draft stuff
+\ifdraft{
+  % Ensure that everything is neatly set up for us
+  \AtBeginDocument{
+    \def\draftInfo{%
+      Draft revision\gitVtags: \gitAbbrevHash{} %
+      (\gitCommitterIsoDate) \gitCommitterName}
+    \sbox{\draftWatermark}{%
+      \includegraphics[width=\paperwidth]{img/draft}}
+    \sbox{\draftPageLine}{%
+      \colorbox{black!10}{%
+        % enlarge box vertically by 2/3 lines
+        \raisebox{0pt}%
+        [\dimexpr .33\baselineskip + \height]%
+        [\dimexpr .33\baselineskip + \depth]{%
+          \makebox[\paperwidth]{\color{black!50}\draftInfo}}}}
+  }
+}{}
+
+
+%%% Fonts
+% Fonts are loaded, now is the right time for mictorype.
+\microtypesetup{stretch=9,shrink=15,step=3,tracking=smallcaps,letterspace=75}
+% makes default font sans-serif
+ \renewcommand{\familydefault}{\sfdefault}
+
+% Captions
+\setcapindent{1em}
+\addtokomafont{caption}{\small\itshape}
+\addtokomafont{captionlabel}{\bfseries}
+
+% Section headers
+\addtokomafont{disposition}{\color{darkblue}\bfseries}
+
+% Page foot
+\setkomafont{pagefoot}{\normalfont\sffamily\footnotesize}
+\ifoot%
+[Applied Crypto Hardening\ifdraft{ % Space!
+  \textbullet{} \draftInfo}{}]%
+{Applied Crypto Hardening \ifdraft{ % Space!
+    \textbullet{} \draftInfo}{}}
+\cfoot[]{}
+\ofoot%
+[page \thepage\ of \pageref{LastPage}]%
+{page \thepage\ of \pageref{LastPage}}
+
+% Epigraph / dictum
+\newcommand*{\epigraph}[3][]{\dictum[#3]{#2}\bigskip}
+\renewcommand*{\dictumrule}{}
+\renewcommand*{\dictumauthorformat}[1]{--- #1}
+\addtokomafont{dictumtext}{\itshape}
+\setkomafont{dictumauthor}{\normalfont}
+\renewcommand{\dictumwidth}{8cm}
+
+% Graphics
+%tell TeX where to look for graphics/logos
+\graphicspath{ {/img/} }
+
+% This block is for listings
+\usepackage[framemethod=TikZ]{mdframed} % mdframed is used to draw a grey box
+\mdfdefinestyle{listingstyle}{
+  backgroundcolor=black!10,outerlinewidth=0,outerlinecolor=black,
+  innerleftmargin=9pt,innerrightmargin=0,innertopmargin=9pt,innerbottommargin=2pt
+}
+%\usepackage{amssymb}% for \curvearrowright
+% Insert a grey box behind the listing for uniform background color (The \cipherstring would the listing and the background would turn white)
+\BeforeBeginEnvironment{lstlisting}{\vspace{0.2cm}\begin{mdframed}[style=listingstyle]}
+\AfterEndEnvironment{lstlisting}{\end{mdframed}}
+% Listings
+\lstset{
+  basicstyle=\ttfamily,
+  keywordstyle=\color{OliveGreen},
+  commentstyle=\color{gray},
+  backgroundcolor=\color{lightlightgray},
+  upquote=true,
+  showstringspaces=false,
+  tabsize=2,
+  captionpos=b,
+  breaklines=true,
+  breakatwhitespace=false,
+  inputencoding=utf8,
+  breakatwhitespace=false,
+  showspaces=false,
+  columns=fullflexible,                   % Column format: no spaces are inserted for monospaced appearance
+  breakindent=10pt,
+  morekeywords={__global__, __device__},% 
+  escapechar=\`,
+  escapeinside={\%*}{*)},                 % Escape TeX commands inside %* and *)
+%  prebreak=\mbox{$\curvearrowright$},     % Disply curved arrow before linebreak
+  prebreak=\small\symbol{'134},
+}
+
+% red warning box (for SSH section)
+\mdfdefinestyle{warningboxstyle}{
+  backgroundcolor=pink!20,
+  innerleftmargin=9pt,innerrightmargin=9pt,innertopmargin=9pt,innerbottommargin=9pt
+}
+
+% Hyperref styles
+%\hypersetup{%
+%  breaklinks,%
+%  colorlinks,%
+%  linkcolor=darkblue,citecolor=blue,urlcolor=blue,%
+%  breaklinks=true,%
+%  unicode,%
+%  pdfnewwindow=true,%
+%  final
+%}
+%\urlstyle{same}
+
+% Bibliography
+\bibliographystyle{alphalink}
+
+% Disable single lines at the start of a paragraph (Schusterjungen)
+\clubpenalty = 10000
+% Disable single lines at the end of a paragraph (Hurenkinder)
+\widowpenalty = 10000 
+\displaywidowpenalty = 10000 % formulas
+\setlength{\textfloatsep}{\baselineskip}
+\setlength{\floatsep}{\baselineskip}
+
+\frenchspacing
+\raggedbottom
+
+% customized spaces between text and footnotes
+\setlength{\skip\footins}{2\baselineskip}
+
+% Better float parameters: (from the TeX FAQ)
+\renewcommand{\topfraction}{.85}
+\renewcommand{\bottomfraction}{.7}
+\renewcommand{\textfraction}{.15}
+\renewcommand{\floatpagefraction}{.66}
+\renewcommand{\dbltopfraction}{.66}
+\renewcommand{\dblfloatpagefraction}{.66}
+\setcounter{topnumber}{9}
+\setcounter{bottomnumber}{9}
+\setcounter{totalnumber}{20}
+\setcounter{dbltopnumber}{9}
+
+% Starred lists (\begin{itemize*}) for less space between items
+\usepackage{mdwlist}
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "../applied-crypto-hardening"
+%%% End: 
diff --git a/presentations/org-training/common/system.tex b/presentations/org-training/common/system.tex
new file mode 100644 (file)
index 0000000..3528098
--- /dev/null
@@ -0,0 +1,101 @@
+%%%
+%%% system.tex
+%%% Necessary packages and sytem changes
+%%%
+% Document Encoding. important.
+\usepackage[utf8]{inputenc}
+
+% maths
+\usepackage{amsmath}
+
+% changes font encoding to T1
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+
+% For searchable pdfs
+\input glyphtounicode
+\pdfgentounicode=1
+
+\usepackage{fixltx2e}
+
+% Setup KOMA script
+\usepackage{scrhack}
+\KOMAoptions{paper=a4%
+  ,fontsize=10pt%
+  ,DIV=12%
+  ,parskip=true%
+}
+
+% Language
+\usepackage[english]{babel}
+
+% Color
+\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
+\usepackage{color}
+
+% Packages for fonts
+\usepackage{lmodern}
+\usepackage[defaultsans]{opensans}
+\usepackage[final,babel=true]{microtype}[2011/08/18]
+
+\usepackage{pifont}
+\newcommand{\yes}{\textcolor{green}{\ding{51}}}
+\newcommand{\no}{\textcolor{red}{\ding{55}}}
+
+% Figures and graphics
+\usepackage[final]{graphicx}
+\usepackage{epstopdf}
+\usepackage{float}
+\usepackage{subfig}
+\usepackage{placeins}
+\usepackage{wrapfig}
+\usepackage{tikz}
+\usetikzlibrary{shapes,arrows}
+
+% Tables
+\usepackage{longtable}
+\usepackage{booktabs}
+\renewcommand{\arraystretch}{1.25}
+\usepackage{multicol}
+
+% Verbatims and listings
+\usepackage{fancyvrb}
+\usepackage[final]{listings}
+
+% The page
+\usepackage[footsepline]{scrpage2}
+\usepackage{lastpage}
+
+% Misc
+\usepackage{gitinfo}
+\usepackage{catchfile}
+%\usepackage{hyperref}
+
+% for development
+\usepackage{ifdraft}
+\ifdraft{%
+  %% Heavy debugging
+  %\usepackage{showframe}
+  \usepackage{blindtext}
+  \usepackage{eso-pic}
+  \newsavebox{\draftPageLine}
+  \newsavebox{\draftWatermark}
+  \AddToShipoutPicture{%
+    \AtPageLowerLeft{\usebox{\draftWatermark}}
+    \AtPageUpperLeft{%
+      \raisebox{-\height}[\height][0pt]{\usebox{\draftPageLine}}}%
+    \AtPageLowerLeft{%
+      \raisebox{\depth}[\height][0pt]{\usebox{\draftPageLine}}}%
+  }
+  % \AtEndDocument{\listoftodos}
+}{
+  \let\blindtext\relax
+  \let\Blindtext\relax
+  \let\blinddocument\relax
+  \let\Blinddocument\relax
+}
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "../applied-crypto-hardening"
+%%% End: 
diff --git a/presentations/org-training/img/confused.png b/presentations/org-training/img/confused.png
new file mode 100644 (file)
index 0000000..b8b7de5
Binary files /dev/null and b/presentations/org-training/img/confused.png differ
diff --git a/presentations/org-training/img/draft.png b/presentations/org-training/img/draft.png
new file mode 100644 (file)
index 0000000..3c3ea61
Binary files /dev/null and b/presentations/org-training/img/draft.png differ
diff --git a/presentations/org-training/img/enigma.jpg b/presentations/org-training/img/enigma.jpg
new file mode 100644 (file)
index 0000000..0c226cf
Binary files /dev/null and b/presentations/org-training/img/enigma.jpg differ
diff --git a/presentations/org-training/img/exampleApache-rewrite.png b/presentations/org-training/img/exampleApache-rewrite.png
new file mode 100644 (file)
index 0000000..a143e9b
Binary files /dev/null and b/presentations/org-training/img/exampleApache-rewrite.png differ
diff --git a/presentations/org-training/img/exampleApache.png b/presentations/org-training/img/exampleApache.png
new file mode 100644 (file)
index 0000000..e6aa58c
Binary files /dev/null and b/presentations/org-training/img/exampleApache.png differ
diff --git a/presentations/org-training/img/keylengths.png b/presentations/org-training/img/keylengths.png
new file mode 100644 (file)
index 0000000..698be44
Binary files /dev/null and b/presentations/org-training/img/keylengths.png differ
diff --git a/presentations/org-training/img/logo-eps-converted-to.pdf b/presentations/org-training/img/logo-eps-converted-to.pdf
new file mode 100644 (file)
index 0000000..7515f16
Binary files /dev/null and b/presentations/org-training/img/logo-eps-converted-to.pdf differ
diff --git a/presentations/org-training/img/logo.eps b/presentations/org-training/img/logo.eps
new file mode 100755 (executable)
index 0000000..d1a0501
--- /dev/null
@@ -0,0 +1,1631 @@
+%!PS-Adobe-3.0 EPSF-3.0\r
+%%BoundingBox: 167 332 676 420 \r
+%%LanguageLevel: 3\r
+%%Creator: CorelDRAW\r
+%%Title: logo_final-1.eps\r
+%%CreationDate: Sun Dec 08 22:32:39 2013\r
+%%DocumentProcessColors: Cyan Magenta Yellow Black \r
+%%DocumentSuppliedResources: (atend)\r
+%%EndComments\r
+%%BeginProlog\r
+/AutoFlatness false def\r
+/AutoSteps 2 def\r
+/CMYKMarks true def\r
+/UseLevel 3 def\r
+%Build: CorelDRAW Version 14.0.0.567\r
+%Color profile:  Generic offset separations profile\r
+/CorelIsEPS true def\r
+%%BeginResource: procset wCorel14Dict 14.0 0\r
+/wCorel14Dict 300 dict def wCorel14Dict begin
+% Copyright (c)1992-2007 Corel Corporation\r
+% All rights reserved.     v14 r0.0\r
+/bd{bind def}bind def/ld{load def}bd/xd{exch def}bd/_ null def/rp{{pop}repeat}\r
+bd/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld/@np/newpath ld/Tl/translate ld\r
+/$sv 0 def/@sv{/$sv save def}bd/@rs{$sv restore}bd/spg/showpage ld/showpage{}\r
+bd currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF\r
+false def/$Scra 0 def/SetScr/setscreen ld/@ss{2 index 0 eq{$dsf 3 1 roll 4 -1\r
+roll pop}if exch $Scra add exch load SetScr}bd/SepMode_5 where{pop}{/SepMode_5\r
+0 def}ifelse/CorelIsSeps where{pop}{/CorelIsSeps false def}ifelse\r
+/CorelIsInRIPSeps where{pop}{/CorelIsInRIPSeps false def}ifelse/CorelIsEPS\r
+where{pop}{/CorelIsEPS false def}ifelse/CurrentInkName_5 where{pop}\r
+{/CurrentInkName_5(Composite)def}ifelse/$ink_5 where{pop}{/$ink_5 -1 def}\r
+ifelse/fill_color 6 array def/num_fill_inks 1 def/$o 0 def/$fil 0 def\r
+/outl_color 6 array def/num_outl_inks 1 def/$O 0 def/$PF false def/$bkg false\r
+def/$op false def matrix currentmatrix/$ctm xd/$ptm matrix def/$ttm matrix def\r
+/$stm matrix def/$ffpnt true def/CorelDrawReencodeVect[16#0/grave 16#5/breve\r
+16#6/dotaccent 16#8/ring 16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi\r
+16#27/quotesingle 16#60/grave 16#7C/bar 16#80/Euro\r
+16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl\r
+16#88/circumflex/perthousand/Scaron/guilsinglleft/OE\r
+16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash\r
+16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis\r
+16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section\r
+16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron\r
+16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered\r
+16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown\r
+16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla\r
+16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis\r
+16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply\r
+16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls\r
+16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla\r
+16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis\r
+16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide\r
+16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def\r
+/get_ps_level/languagelevel where{pop systemdict/languagelevel get exec}{1\r
+}ifelse def/level2 get_ps_level 2 ge def/level3 get_ps_level 3 ge def\r
+/is_distilling{/product where{pop systemdict/setdistillerparams known product\r
+(Adobe PostScript Parser)ne and}{false}ifelse}bd/is_rip_separation{\r
+is_distilling{false}{level2{currentpagedevice/Separations 2 copy known{get}{\r
+pop pop false}ifelse}{false}ifelse}ifelse}bd/is_current_sep_color{\r
+is_separation{gsave false setoverprint 1 1 1 1 5 -1 roll findcmykcustomcolor 1\r
+setcustomcolor currentgray 0 eq grestore}{pop false}ifelse}bd\r
+/get_sep_color_index{dup length 1 sub 0 1 3 -1 roll{dup 3 -1 roll dup 3 -1 roll\r
+get is_current_sep_color{exit}{exch pop}ifelse}for pop -1}bd/is_separation{\r
+/LumSepsDict where{pop false}{/AldusSepsDict where{pop false}{\r
+is_rip_separation{true}{1 0 0 0 gsave setcmykcolor currentcmykcolor grestore\r
+add add add 0 ne 0 1 0 0 gsave setcmykcolor currentcmykcolor grestore add add\r
+add 0 ne 0 0 1 0 gsave setcmykcolor currentcmykcolor grestore add add add 0 ne\r
+0 0 0 1 gsave setcmykcolor currentcmykcolor grestore add add add 0 ne and and\r
+and not}ifelse}ifelse}ifelse}bind def/is_composite{is_separation not\r
+is_distilling or}bd/is_sim_devicen{level2 level3 not and{is_distilling\r
+is_rip_separation or}{false}ifelse}bd/@PL{/LV where{pop LV 2 ge level2 not and\r
+{@np/Courier findfont 12 scalefont setfont 72 144 m\r
+(The PostScript level set in the Corel application is higher than)show 72 132 m\r
+(the PostScript level of this device. Change the PS Level in the Corel)show 72\r
+120 m(application to Level 1 by selecting the PostScript tab in the print)show\r
+72 108 m(dialog, and selecting Level 1 from the Compatibility drop down list.)\r
+show flush spg quit}if}if}bd/@BeginSysCorelDict{systemdict/Corel30Dict known\r
+{systemdict/Corel30Dict get exec}if systemdict/CorelLexDict known{1 systemdict\r
+/CorelLexDict get exec}if}bd/@EndSysCorelDict{systemdict/Corel30Dict known\r
+{end}if/EndCorelLexDict where{pop EndCorelLexDict}if}bd AutoFlatness{/@ifl{dup\r
+currentflat exch sub 10 gt{\r
+([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush\r
+@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{\r
+{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill\r
+{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip\r
+/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat}\r
+bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse}\r
+bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped\r
+{@ifl}{exit}ifelse}bind loop setflat}bd}if level2{/@ssa{true setstrokeadjust}\r
+bd}{/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M\r
+/setmiterlimit ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c\r
+/curveto ld/C/c ld/l/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N\r
+/newpath ld/P{11 rp}bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}\r
+bd/@J{@rs}bd/g{1 exch sub 0 0 0 1 null 1 set_fill_color/$fil 0 def}bd/G{1 sub\r
+neg 0 0 0 1 null 1 set_outline_color}bd/set_fill_color{/fill_color exch def\r
+/num_fill_inks fill_color length 6 idiv def/bFillDeviceN num_fill_inks 1 gt def\r
+/$fil 0 def}bd/set_outline_color{/outl_color exch def/num_outl_inks outl_color\r
+length 6 idiv def/bOutlDeviceN num_outl_inks 1 gt def}bd\r
+/get_devicen_color_names{dup length 6 idiv dup 5 mul exch getinterval}bd\r
+/create_colorarray_from_devicen_params{/ink_names_temp exch def\r
+/tint_params_temp exch def/ink_values_temp exch def[ink_values_temp aload pop\r
+tint_params_temp aload pop ink_names_temp aload pop]}bd\r
+/get_devicen_color_specs{dup length 6 idiv dup 4 mul getinterval}bd\r
+/get_devicen_color{dup length 6 idiv 0 exch getinterval}bd/mult_devicen_color{\r
+/colorarray exch def/mult_vals exch def 0 1 mult_vals length 1 sub{colorarray\r
+exch dup mult_vals exch get exch dup colorarray exch get 3 -1 roll mul put}for\r
+colorarray}bd/combine_devicen_colors{/colorarray2 exch def/colorarray1 exch def\r
+/num_inks1 colorarray1 length 6 idiv def/num_inks2 colorarray2 length 6 idiv\r
+def/num3 0 def/colorarray3[num_inks1 num_inks2 add 6 mul{0}repeat]def 0 1\r
+num_inks1 1 sub{colorarray1 exch get colorarray3 num3 3 -1 roll put/num3 num3 1\r
+add def}for 0 1 num_inks2 1 sub{colorarray2 exch get colorarray3 num3 3 -1 roll\r
+put/num3 num3 1 add def}for colorarray1 num_inks1 dup 4 mul getinterval\r
+colorarray3 num3 3 -1 roll putinterval/num3 num3 num_inks1 4 mul add def\r
+colorarray2 num_inks2 dup 4 mul getinterval colorarray3 num3 3 -1 roll\r
+putinterval/num3 num3 num_inks2 4 mul add def colorarray1 num_inks1 dup 5 mul\r
+exch getinterval colorarray3 num3 3 -1 roll putinterval/num3 num3 num_inks1 add\r
+def colorarray2 num_inks2 dup 5 mul exch getinterval colorarray3 num3 3 -1 roll\r
+putinterval/num3 num3 num_inks2 add def colorarray3}bd/get_devicen_color_spec{\r
+/colorant_index exch def/colorarray exch def/ncolorants colorarray length 6\r
+idiv def[colorarray colorant_index get colorarray ncolorants colorant_index 4\r
+mul add 4 getinterval aload pop colorarray ncolorants 5 mul colorant_index add\r
+get]}bd/set_devicen_color{level3{/colorarray exch def/numcolorants colorarray\r
+length 6 idiv def colorarray get_devicen_color_specs/tint_params exch def[\r
+/DeviceN colorarray get_devicen_color_names/DeviceCMYK{tint_params\r
+CorelTintTransformFunction}]setcolorspace colorarray get_devicen_color aload\r
+pop setcolor}{/DeviceCMYK setcolorspace devicen_to_cmyk aload pop pop @tc_5\r
+setprocesscolor_5}ifelse}bd/sf{/bmp_fill_fg_color xd}bd/i{dup 0 ne{setflat}\r
+{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2 copy c}bd/Y/y ld\r
+/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix/$ptm xd 1 eq{$ptm\r
+exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd{/$scp xd/$sca xd\r
+/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd}if}bd/@D{2 index 0\r
+eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch load SetScr/$dsp\r
+xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA}{$dsa}ifelse $SCP @ss\r
+}if}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}\r
+ifelse}bd/InRange{3 -1 roll @MN @MX}bd/@sqr{dup 0 rl dup 0 exch rl neg 0 rl @cp\r
+}bd/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch\r
+dup mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch\r
+dup mul add sqrt}bd/@unscale{}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}\r
+bd/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd\r
+/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd\r
+/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg\r
+exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add\r
+4 1 roll pop pop pop}bd/devicen_to_cmyk{/convertcolor exch def convertcolor\r
+get_devicen_color aload pop convertcolor get_devicen_color_specs\r
+CorelTintTransformFunction}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld\r
+/GetRgb/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2\r
+systemdict/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def\r
+/SetHsb systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get\r
+def/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb\r
+GetRgb2}bd/setcmykcolor where{pop/LumSepsDict where{pop/SetCmyk_5{LumSepsDict\r
+/setcmykcolor get exec}def}{/AldusSepsDict where{pop/SetCmyk_5{AldusSepsDict\r
+/setcmykcolor get exec}def}{/SetCmyk_5/setcmykcolor ld}ifelse}ifelse}{\r
+/SetCmyk_5{cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk\r
+/currentcmykcolor ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where\r
+{pop}{/setoverprint{/$op xd}bd}ifelse/currentoverprint where{pop}{\r
+/currentoverprint{$op}bd}ifelse/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll\r
+mul exch}repeat pop}ifelse}bd/@trp{exch pop 5 1 roll @tc_5}bd\r
+/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{SepsColor not{4 1 roll pop pop pop\r
+1 exch sub SetGry}{SetCmyk_5}ifelse}ifelse}bd/findcmykcustomcolor where{pop}{\r
+/findcmykcustomcolor{5 array astore}bd}ifelse/Corelsetcustomcolor_exists false\r
+def/setcustomcolor where{pop/Corelsetcustomcolor_exists true def}if CorelIsSeps\r
+true eq CorelIsInRIPSeps false eq and{/Corelsetcustomcolor_exists false def}if\r
+Corelsetcustomcolor_exists false eq{/setcustomcolor{exch aload pop SepMode_5 0\r
+eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}ifelse 6 1 roll\r
+5 rp 1 sub neg SetGry}ifelse}bd}if/@scc_5{dup type/booleantype eq{dup\r
+currentoverprint ne{setoverprint}{pop}ifelse}{1 eq setoverprint}ifelse dup _ eq\r
+{pop setprocesscolor_5 pop}{dup(CorelRegistrationColor)eq{5 rp 1 exch sub\r
+setregcolor}{findcmykcustomcolor exch setcustomcolor}ifelse}ifelse SepMode_5 0\r
+eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop\r
+/ColorImage{colorimage}def}{/ColorImage{/ncolors xd/$multi xd $multi true eq{\r
+ncolors 3 eq{/daqB xd/daqG xd/daqR xd pop pop exch pop abs{daqR pop daqG pop\r
+daqB pop}repeat}{/daqK xd/daqY xd/daqM xd/daqC xd pop pop exch pop abs{daqC pop\r
+daqM pop daqY pop daqK pop}repeat}ifelse}{/dataaq xd{dataaq ncolors dup 3 eq{\r
+/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index get 255 div $dat 2\r
+index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g 255 mul cvi exch\r
+pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv getinterval pop}{4 eq{\r
+/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1 index get 255 div $dat 2\r
+index 1 add get 255 div $dat 3 index 2 add get 255 div $dat 4 index 3 add get\r
+255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat\r
+length ncolors idiv getinterval}if}ifelse}image}ifelse}bd}ifelse/setcmykcolor{\r
+1 5 1 roll null 6 array astore currentoverprint set_current_color/$ffpnt xd}bd\r
+/currentcmykcolor{GetCmyk}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd\r
+/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor}\r
+bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd\r
+/currentgray{currentrgbcolor rgb2g}bd/InsideDCS false def/IMAGE/image ld/image\r
+{InsideDCS{IMAGE}{/EPSDict where{pop SepMode_5 0 eq{IMAGE}{dup type/dicttype eq\r
+{dup/ImageType get 1 ne{IMAGE}{dup dup/BitsPerComponent get 8 eq exch\r
+/BitsPerComponent get 1 eq or currentcolorspace 0 get/DeviceGray eq and{\r
+CurrentInkName_5(Black)eq{IMAGE}{dup/DataSource get/TCC xd/Height get abs{TCC\r
+pop}repeat}ifelse}{IMAGE}ifelse}ifelse}{2 index 1 ne{CurrentInkName_5(Black)eq\r
+{IMAGE}{/TCC xd pop pop exch pop abs{TCC pop}repeat}ifelse}{IMAGE}ifelse}\r
+ifelse}ifelse}{IMAGE}ifelse}ifelse}bd}ifelse/WaldoColor_5 true def\r
+/WaldoColor_13 where{pop}{/separate_color{SepMode_5 0 ne{[exch/colorarray_sep\r
+exch def/ink_num -1 def colorarray_sep length 6 idiv 1 gt{colorarray_sep\r
+get_devicen_color_names dup length 1 sub 0 1 3 -1 roll{exch dup 3 -1 roll dup 3\r
+1 roll get CurrentInkName_5 eq{/ink_num exch def}{pop}ifelse}for pop ink_num -1\r
+ne{colorarray_sep ink_num get_devicen_color_spec aload pop pop SepsColor not{\r
+pop pop pop pop 1 0 0 0 5 -1 roll}if null}{0 0 0 0 0 null}ifelse}{\r
+colorarray_sep 5 get $ink_5 4 eq{CurrentInkName_5 eq{colorarray_sep aload pop\r
+pop SepsColor not{pop pop pop pop 0 0 0 1}if null}{0 0 0 0 0 null}ifelse}{\r
+colorarray_sep 0 get colorarray_sep $ink_5 1 add get 3 -1 roll null eq{0 0 0 4\r
+-1 roll SepsColor{4 $ink_5 1 add roll}if null}{pop pop 0 0 0 0 0 null}ifelse\r
+}ifelse}ifelse]}if}bd/separate_cmyk_color{$ink_5 -1 ne{[exch aload pop 3 $ink5\r
+sub index/colorarray_sep exch def/ink_num -1 def colorarray_sep\r
+get_devicen_color_names dup length 1 sub 0 1 3 -1 roll{exch dup 3 -1 roll dup 3\r
+1 roll get CurrentInkName_5 eq{/ink_num exch def}{pop}ifelse}for pop ink_num -1\r
+ne{[colorarray_sep ink_num get_devicen_color_spec aload pop]}{[0 0 0 0 0 null]\r
+}ifelse}if}bd/set_current_color{dup type/booleantype eq{dup currentoverprint ne\r
+{setoverprint}{pop}ifelse}{1 eq setoverprint}ifelse/cur_color exch def\r
+/nNumColors cur_color length 6 idiv def nNumColors 1 eq{cur_color 5 get\r
+(CorelRegistrationColor)eq{cur_color aload pop 5 rp 1 exch sub setregcolor}{\r
+SepMode_5 0 eq{cur_color aload pop dup null eq{pop @tc_5 setprocesscolor_5}{\r
+findcmykcustomcolor exch setcustomcolor}ifelse}{cur_color separate_color aload\r
+pop pop @tc_5 setprocesscolor_5}ifelse}ifelse}{SepMode_5 0 eq{is_distilling\r
+is_rip_separation or{cur_color set_devicen_color}{cur_color devicen_to_cmyk\r
+setprocesscolor_5}ifelse}{cur_color separate_color aload pop pop @tc_5\r
+setprocesscolor_5}ifelse}ifelse SepMode_5 0 eq{true}{GetGry 1 eq\r
+currentoverprint and not}ifelse}bd}ifelse/WaldoColor_13 true def/$fm 0 def\r
+/wfill{1 $fm eq{fill}{eofill}ifelse}bd/@Pf{@sv SepMode_5 0 eq $Psc 0 ne or\r
+$ink_5 3 eq or{0 J 0 j[]0 d fill_color $o set_current_color pop $ctm setmatrix\r
+72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform\r
+ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform\r
+floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec}{1 SetGry\r
+wfill}ifelse @rs @np}bd/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if $fil\r
+1 eq{CorelPtrnDoFill}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{level3{fill_color $o\r
+set_current_color{wfill}{@np}ifelse}{/overprint_flag $o def is_distilling\r
+is_rip_separation or{0 1 num_fill_inks 1 sub{dup 0 gt{/overprint_flag true def\r
+}if fill_color exch get_devicen_color_spec overprint_flag set_current_color{\r
+@gs wfill @gr}{@np exit}ifelse}for}{fill_color overprint_flag set_current_color\r
+{@gs wfill @gr}{@np}ifelse}ifelse}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa\r
+$dsp @ss}if setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix $ctm setmatrix $SDF\r
+{$SCF $SCA $SCP @ss}if level3{outl_color $O set_current_color{matrix\r
+currentmatrix $ptm concat stroke setmatrix}{@np}ifelse}{/overprint_flag $O def\r
+is_distilling is_rip_separation or{0 1 num_outl_inks 1 sub{dup 0 gt{\r
+/overprint_flag true def}if outl_color exch get_devicen_color_spec\r
+overprint_flag set_current_color{matrix currentmatrix $ptm concat @gs stroke\r
+@gr setmatrix}{@np exit}ifelse}for}{outl_color overprint_flag set_current_color\r
+{matrix currentmatrix $ptm concat @gs stroke @gr setmatrix}{@np}ifelse}ifelse\r
+}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{\r
+@cp B}bd/_E{5 array astore exch cvlit xd}bd/@cc{currentfile $dat readhexstring\r
+pop}bd/@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd/Bblly xd\r
+/Bbllx xd}bd/@c{@cp}bd/@P{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd}bd\r
+/tcc{@cc}def/@B{@gs S @gr F}bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq\r
+{/$ink_5 -1 def}{CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5\r
+(Magenta)eq{/$ink_5 1 def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{\r
+CurrentInkName_5(Black)eq{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse}\r
+ifelse}ifelse}bd/@whi{@gs -72000 dup m -72000 72000 l 72000 dup l 72000 -72000\r
+l @cp 1 SetGry fill @gr}bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec\r
+cvx]cvx settransfer @whi}bd/deflevel 0 def/@sax{/deflevel deflevel 1 add def}\r
+bd/@eax{/deflevel deflevel dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax}\r
+ifelse}bd/eax{{exec}forall}bd/@rax{deflevel 0 eq{@rs @sv}if}bd systemdict\r
+/pdfmark known not{/pdfmark/cleartomark ld}if/wclip{1 $fm eq{clip}{eoclip}\r
+ifelse}bd level2{/setregcolor{/neg_flag exch def[/Separation/All/DeviceCMYK{\r
+dup dup dup}]setcolorspace 1.0 neg_flag sub setcolor}bd}{/setregcolor{1 exch\r
+sub dup dup dup setcmykcolor}bd}ifelse/CorelTintTransformFunction{\r
+/colorantSpecArray exch def/nColorants colorantSpecArray length 4 idiv def\r
+/inColor nColorants 1 add 1 roll nColorants array astore def/outColor 4 array\r
+def 0 1 3{/nOutInk exch def 1 0 1 nColorants 1 sub{dup inColor exch get exch 4\r
+mul nOutInk add colorantSpecArray exch get mul 1 exch sub mul}for 1 exch sub\r
+outColor nOutInk 3 -1 roll put}for outColor aload pop}bind def\r
+% Copyright (c)1992-2007 Corel Corporation\r
+% All rights reserved.     v14 r0.0\r
+/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3\r
+index 3 index l clip pop pop pop pop}bd/@i{@sm @gs @ii 6 index 1 ne{/$frg true\r
+def pop pop}{1 eq{bmp_fill_fg_color $O set_current_color/$frg xd}{/$frg false\r
+def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np/$ury xd/$urx xd/$lly xd\r
+/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string\r
+def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl $urx $llx sub $ury\r
+$lly sub scale $bkg{fill_color set_current_color pop}if $wid $hei abs $bts 1 eq\r
+{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/tcc load $bts\r
+1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{tcc pop}\r
+repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd\r
+/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd $ngx $llx $lly Tl $urx $llx sub $ury\r
+$lly sub scale $wid $hei abs $bts[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse\r
+]/$dat $wid $bts mul $ncl mul 8 div ceiling cvi string def $msimage false eq\r
+$ncl 1 eq or{/@cc load false $ncl ColorImage}{$wid $bts mul 8 div ceiling cvi\r
+$ncl 3 eq{dup dup/$dat1 exch string def/$dat2 exch string def/$dat3 exch string\r
+def/@cc1 load/@cc2 load/@cc3 load}{dup dup dup/$dat1 exch string def/$dat2 exch\r
+string def/$dat3 exch string def/$dat4 exch string def/@cc1 load/@cc2 load\r
+/@cc3 load/@cc4 load}ifelse true $ncl ColorImage}ifelse $SDF{$dsf $dsa $dsp\r
+@ss}if @gr $ctm setmatrix}bd/@cc1{currentfile $dat1 readhexstring pop}bd/@cc2{\r
+currentfile $dat2 readhexstring pop}bd/@cc3{currentfile $dat3 readhexstring pop\r
+}bd/@cc4{currentfile $dat4 readhexstring pop}bd/$msimage false def/COMP 0 def\r
+/MaskedImage false def/bImgDeviceN false def/nNumInksDeviceN 0 def\r
+/sNamesDeviceN[]def/tint_params[]def level2{/@I_2{@sm @gs @ii @np/$ury xd/$urx\r
+xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul\r
+8 div ceiling cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}\r
+{/DeviceCMYK}ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly\r
+sub scale 8 dict begin/ImageType 1 def/Width $wid def/Height $hei abs def\r
+/BitsPerComponent $bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0\r
+1 0 1 0 1 0 1]}ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt\r
+{$hei}{0}ifelse]def/DataSource currentfile/ASCII85Decode filter COMP 1 eq\r
+{/DCTDecode filter}{COMP 2 eq{/RunLengthDecode filter}{COMP 3 eq{/LZWDecode\r
+filter}if}ifelse}ifelse def currentdict end image $SDF{$dsf $dsa $dsp @ss}if\r
+@gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse level2{/@I_2D{@sm @gs @ii @np/$ury xd\r
+/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd $ngx/scanline $wid\r
+$bts mul $ncl mul 8 div ceiling cvi string def/readscanline{currentfile\r
+scanline readhexstring pop}bind def level3{[/DeviceN sNamesDeviceN/DeviceCMYK{\r
+tint_params CorelTintTransformFunction}]setcolorspace $llx $lly Tl $urx $llx\r
+sub $ury $lly sub scale 8 dict begin/ImageType 1 def/Width $wid def/Height $hei\r
+abs def/BitsPerComponent $bts def/Decode[nNumInksDeviceN{0 1}repeat]def\r
+/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def/DataSource{\r
+readscanline}def currentdict end image}{/scanline_height $lly $ury sub 1 sub\r
+$hei div def/plate_scanline $wid string def/cmyk_scanline $wid 4 mul string def\r
+is_distilling is_rip_separation or{/bSimDeviceN true def}{/bSimDeviceN false\r
+def}ifelse/scanline_img_dict 8 dict begin/ImageType 1 def/Width $wid def\r
+/Height 1 def/BitsPerComponent $bts def/Decode bSimDeviceN{[0 1]}{[0 1 0 1 0 1\r
+0 1]}ifelse def/ImageMatrix[$wid 0 0 1 neg 0 1]def/DataSource bSimDeviceN{\r
+plate_scanline}{cmyk_scanline}ifelse def currentdict end def 0 1 $hei 1 sub{\r
+@gs/nScanIndex exch def readscanline pop/$t_lly $ury $lly scanline_height\r
+nScanIndex mul sub sub ceiling cvi def/$t_ury $t_lly scanline_height sub\r
+ceiling cvi def bSimDeviceN{0 1 $ncl 1 sub{@gs/nInkIndex exch def 0 1\r
+plate_scanline length 1 sub{dup $ncl mul nInkIndex add scanline exch get\r
+plate_scanline 3 1 roll put}for[0 1 $ncl 1 sub{nInkIndex eq{1.0}{0.0}ifelse\r
+}for]/sepTintTransformParams exch def[/Separation sNamesDeviceN nInkIndex get\r
+/DeviceCMYK{sepTintTransformParams aload pop tint_params\r
+CorelTintTransformFunction @tc_5}]setcolorspace $llx $t_lly Tl $urx $llx sub\r
+$t_ury $t_lly sub scale nInkIndex 0 eq currentoverprint not and{false\r
+setoverprint}{true setoverprint}ifelse scanline_img_dict image @gr}for}{0 1\r
+$wid 1 sub{dup $ncl mul scanline exch $ncl getinterval 0 1 $ncl 1 sub{2 copy\r
+get 255 div 3 1 roll pop}for pop tint_params CorelTintTransformFunction 5 -1\r
+roll cmyk_scanline exch 0 1 3{3 1 roll 2 copy 5 -1 roll dup 8 exch sub index\r
+255 mul cvi 3 1 roll exch 4 mul add exch put}for 6 rp}for/DeviceCMYK\r
+setcolorspace $llx $t_lly Tl $urx $llx sub $t_ury $t_lly sub scale\r
+scanline_img_dict image}ifelse @gr}for}ifelse $SDF{$dsf $dsa $dsp @ss}if @gr\r
+$ctm setmatrix}bd}{/@I_2D{}bd}ifelse/@I_3{@sm @gs @ii @np/$ury xd/$urx xd/$lly\r
+xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div\r
+ceiling cvi string def $ngx bImgDeviceN{[/DeviceN sNamesDeviceN/DeviceCMYK{\r
+tint_params CorelTintTransformFunction}]}{$ncl 1 eq{/DeviceGray}{$ncl 3 eq\r
+{/DeviceRGB}{/DeviceCMYK}ifelse}ifelse}ifelse setcolorspace $llx $lly Tl $urx\r
+$llx sub $ury $lly sub scale/ImageDataDict 8 dict def ImageDataDict begin\r
+/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent $bts def\r
+/Decode[$ncl{0 1}repeat]def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}\r
+ifelse]def/DataSource currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode\r
+filter}{COMP 2 eq{/RunLengthDecode filter}{COMP 3 eq{/LZWDecode filter}if}\r
+ifelse}ifelse def end/MaskedImageDict 7 dict def MaskedImageDict begin\r
+/ImageType 3 def/InterleaveType 3 def/MaskDict ImageMaskDict def/DataDict\r
+ImageDataDict def end MaskedImageDict image $SDF{$dsf $dsa $dsp @ss}if @gr $ctm\r
+setmatrix}bd/@SetMask{/$mbts xd/$mhei xd/$mwid xd/ImageMaskDict 8 dict def\r
+ImageMaskDict begin/ImageType 1 def/Width $mwid def/Height $mhei abs def\r
+/BitsPerComponent $mbts def/DataSource maskstream def/ImageMatrix[$mwid 0 0\r
+$mhei neg 0 $mhei 0 gt{$mhei}{0}ifelse]def/Decode[1 0]def end}bd/@daq{dup type\r
+/arraytype eq{{}forall}if}bd/@BMP{/@cc xd UseLevel 3 eq MaskedImage true eq and\r
+{7 -2 roll pop pop @I_3}{12 index 1 gt UseLevel 2 eq UseLevel 3 eq or and{7 -2\r
+roll pop pop bImgDeviceN{@I_2D}{@I_2}ifelse}{11 index 1 eq{12 -1 roll pop @i}{\r
+7 -2 roll pop pop @I}ifelse}ifelse}ifelse}bd/disable_raster_output{/@BMP load\r
+/old_raster_func exch bind def/@BMP{8 rp/$ury xd/$urx xd/$lly xd/$llx xd/$ncl\r
+xd/$bts xd/$hei xd/$wid xd/scanline $wid $bts mul $ncl mul 8 div ceiling cvi\r
+string def 0 1 $hei 1 sub{currentfile scanline readhexstring pop pop pop}for\r
+}def}bd/enable_raster_output{/old_raster_func where{pop/old_raster_func load\r
+/@BMP exch bd}if}bd\r
+end
+%%EndResource\r
+%%EndProlog\r
+%%BeginSetup\r
+wCorel14Dict begin\r
+@BeginSysCorelDict\r
+@ssa\r
+1.00 setflat\r
+/$fst 128 def\r
+%%EndSetup\r
+\r
+%%Page: 1 1\r
+%%ViewingOrientation: 0 1 1 0\r
+%LogicalPage: 1\r
+%%BeginPageSetup\r
+@sv\r
+@sm\r
+@sv\r
+%%EndPageSetup\r
+@rax %Note: Object\r
+286.56283 354.06822 311.25033 396.34696 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+286.56283 396.34696 m\r
+291.33326 396.34696 L\r
+291.33326 381.49852 L\r
+291.57194 381.49852 L\r
+292.48611 382.65165 293.64888 383.54598 295.05997 384.18208 c\r
+296.47162 384.81846 298.01169 385.13622 299.68157 385.13622 c\r
+303.53783 385.13622 306.42973 383.90400 308.35786 381.43928 c\r
+310.28627 378.97455 311.25033 375.15770 311.25033 369.98986 c\r
+311.25033 364.78176 309.97814 360.82630 307.43376 358.12318 c\r
+304.88939 355.41978 301.31178 354.06822 296.70009 354.06822 c\r
+294.47405 354.06822 292.45635 354.30690 290.64728 354.78397 c\r
+288.83849 355.26076 287.47701 355.77780 286.56283 356.33395 C\r
+286.56283 396.34696 L\r
+@c\r
+298.84706 380.96220 m\r
+296.85912 380.96220 295.24904 380.40576 294.01682 379.29231 c\r
+292.78431 378.17915 291.88970 376.60876 291.33326 374.58142 C\r
+291.33326 359.55439 L\r
+292.08841 359.11701 293.00315 358.78904 294.07606 358.57020 c\r
+295.14954 358.35165 296.26271 358.24252 297.41584 358.24252 c\r
+300.11896 358.24252 302.27584 359.19666 303.88592 361.10466 c\r
+305.49572 363.01294 306.30104 365.99443 306.30104 370.04967 c\r
+306.30104 371.59994 306.16157 373.05099 305.88321 374.40255 c\r
+305.60513 375.75411 305.16775 376.90724 304.57134 377.86139 c\r
+303.97493 378.81524 303.20986 379.57039 302.27584 380.12712 c\r
+301.34154 380.68384 300.19861 380.96220 298.84706 380.96220 c\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+316.05449 353.88907 340.50331 385.13622 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+339.48992 356.98989 m\r
+338.29710 356.03603 336.79644 355.28088 334.98765 354.72416 c\r
+333.17858 354.16743 331.26066 353.88907 329.23304 353.88907 c\r
+326.96731 353.88907 324.99921 354.25701 323.32961 354.99231 c\r
+321.66000 355.72791 320.28831 356.78154 319.21512 358.15294 c\r
+318.14164 359.52435 317.34624 361.16447 316.82948 363.07247 c\r
+316.31301 364.98076 316.05449 367.12772 316.05449 369.51279 c\r
+316.05449 374.60126 317.18750 378.47764 319.45351 381.14079 c\r
+321.71981 383.80450 324.95953 385.13622 329.17323 385.13622 c\r
+330.52535 385.13622 331.87691 384.98712 333.22847 384.68920 c\r
+334.58003 384.39099 335.79269 383.82463 336.86617 382.98926 c\r
+337.93965 382.15474 338.81414 380.97184 339.48992 379.44170 c\r
+340.16570 377.91099 340.50331 375.89357 340.50331 373.38888 c\r
+340.50331 372.07701 340.38454 370.62567 340.14557 369.03572 C\r
+321.00406 369.03572 L\r
+321.00406 367.28646 321.18293 365.73591 321.54066 364.38435 c\r
+321.89839 363.03279 322.45483 361.88986 323.21055 360.95556 c\r
+323.96570 360.02126 324.94961 359.30551 326.16227 358.80860 c\r
+327.37465 358.31169 328.85546 358.06337 330.60472 358.06337 c\r
+331.95628 358.06337 333.30784 358.30176 334.65940 358.77912 c\r
+336.01153 359.25619 337.02520 359.81263 337.70069 360.44872 C\r
+339.48992 356.98989 L\r
+@c\r
+329.23304 380.96220 m\r
+326.88765 380.96220 325.00913 380.34595 323.59805 379.11345 c\r
+322.18668 377.88123 321.34167 375.77395 321.06359 372.79247 C\r
+335.85222 372.79247 L\r
+335.85222 375.81392 335.27594 377.93083 334.12280 379.14321 c\r
+332.97024 380.35587 331.34003 380.96220 329.23304 380.96220 c\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+343.38869 353.88907 362.29153 391.69587 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+343.38869 384.42047 m\r
+348.03978 384.42047 L\r
+348.03978 390.32447 L\r
+352.81049 391.69587 L\r
+352.81049 384.42047 L\r
+360.92013 384.42047 L\r
+360.92013 380.24646 L\r
+352.81049 380.24646 L\r
+352.81049 363.72841 l\r
+352.81049 361.66139 353.06872 360.20041 353.58548 359.34548 c\r
+354.10224 358.49083 354.97672 358.06337 356.20951 358.06337 c\r
+357.24302 358.06337 358.11751 358.17279 358.83298 358.39134 c\r
+359.54872 358.61017 360.34356 358.89817 361.21833 359.25619 C\r
+362.29153 355.61849 L\r
+361.21833 355.10173 360.04564 354.68447 358.77317 354.36614 c\r
+357.50126 354.04809 356.12986 353.88907 354.65896 353.88907 c\r
+352.23392 353.88907 350.52435 354.57506 349.53052 355.94646 c\r
+348.53669 357.31786 348.03978 359.61392 348.03978 362.83380 c\r
+348.03978 380.24646 L\r
+343.38869 380.24646 L\r
+343.38869 384.42047 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+364.97764 353.88907 383.88047 391.69587 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+364.97764 384.42047 m\r
+369.62872 384.42047 L\r
+369.62872 390.32447 L\r
+374.39943 391.69587 L\r
+374.39943 384.42047 L\r
+382.50907 384.42047 L\r
+382.50907 380.24646 L\r
+374.39943 380.24646 L\r
+374.39943 363.72841 l\r
+374.39943 361.66139 374.65767 360.20041 375.17443 359.34548 c\r
+375.69118 358.49083 376.56567 358.06337 377.79846 358.06337 c\r
+378.83197 358.06337 379.70646 358.17279 380.42192 358.39134 c\r
+381.13767 358.61017 381.93250 358.89817 382.80699 359.25619 C\r
+383.88047 355.61849 L\r
+382.80699 355.10173 381.63458 354.68447 380.36211 354.36614 c\r
+379.09020 354.04809 377.71880 353.88907 376.24791 353.88907 c\r
+373.82287 353.88907 372.11329 354.57506 371.11946 355.94646 c\r
+370.12564 357.31786 369.62872 359.61392 369.62872 362.83380 c\r
+369.62872 380.24646 L\r
+364.97764 380.24646 L\r
+364.97764 384.42047 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+386.22076 353.88907 410.66957 385.13622 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+409.65619 356.98989 m\r
+408.46337 356.03603 406.96271 355.28088 405.15392 354.72416 c\r
+403.34485 354.16743 401.42665 353.88907 399.39931 353.88907 c\r
+397.13329 353.88907 395.16548 354.25701 393.49559 354.99231 c\r
+391.82627 355.72791 390.45430 356.78154 389.38139 358.15294 c\r
+388.30791 359.52435 387.51250 361.16447 386.99575 363.07247 c\r
+386.47928 364.98076 386.22076 367.12772 386.22076 369.51279 c\r
+386.22076 374.60126 387.35376 378.47764 389.61950 381.14079 c\r
+391.88580 383.80450 395.12580 385.13622 399.33950 385.13622 c\r
+400.69134 385.13622 402.04290 384.98712 403.39446 384.68920 c\r
+404.74602 384.39099 405.95868 383.82463 407.03216 382.98926 c\r
+408.10564 382.15474 408.98013 380.97184 409.65619 379.44170 c\r
+410.33169 377.91099 410.66957 375.89357 410.66957 373.38888 c\r
+410.66957 372.07701 410.55052 370.62567 410.31184 369.03572 C\r
+391.17005 369.03572 L\r
+391.17005 367.28646 391.34920 365.73591 391.70693 364.38435 c\r
+392.06438 363.03279 392.62110 361.88986 393.37654 360.95556 c\r
+394.13169 360.02126 395.11587 359.30551 396.32854 358.80860 c\r
+397.54063 358.31169 399.02173 358.06337 400.77099 358.06337 c\r
+402.12255 358.06337 403.47411 358.30176 404.82567 358.77912 c\r
+406.17751 359.25619 407.19146 359.81263 407.86696 360.44872 C\r
+409.65619 356.98989 L\r
+@c\r
+399.39931 380.96220 m\r
+397.05364 380.96220 395.17540 380.34595 393.76431 379.11345 c\r
+392.35294 377.88123 391.50794 375.77395 391.22986 372.79247 C\r
+406.01849 372.79247 L\r
+406.01849 375.81392 405.44192 377.93083 404.28907 379.14321 c\r
+403.13622 380.35587 401.50630 380.96220 399.39931 380.96220 c\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+416.79723 354.60482 431.88406 385.01688 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+430.87011 379.82920 m\r
+429.67786 380.22661 428.54457 380.42561 427.47109 380.42561 c\r
+425.76151 380.42561 424.40995 379.95846 423.41613 379.02387 c\r
+422.42230 378.08957 421.80633 376.90724 421.56765 375.47603 c\r
+421.56765 354.60482 L\r
+416.79723 354.60482 L\r
+416.79723 384.42047 L\r
+420.13644 384.42047 L\r
+421.03106 380.78334 L\r
+421.26973 380.78334 L\r
+422.02488 382.13490 422.92913 383.17833 423.98277 383.91392 c\r
+425.03641 384.64923 426.37776 385.01688 428.00797 385.01688 c\r
+429.16082 385.01688 430.45285 384.81846 431.88406 384.42047 C\r
+430.87011 379.82920 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+434.01600 353.88907 456.01994 385.13622 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+456.01994 356.57263 m\r
+454.82740 355.69814 453.41631 355.03200 451.78611 354.57506 c\r
+450.15619 354.11783 448.44690 353.88907 446.65767 353.88907 c\r
+444.35197 353.88907 442.40400 354.25701 440.81376 354.99231 c\r
+439.22409 355.72791 437.92186 356.78154 436.90791 358.15294 c\r
+435.89424 359.52435 435.15893 361.17439 434.70170 363.10252 c\r
+434.24476 365.03036 434.01600 367.16740 434.01600 369.51279 c\r
+434.01600 374.56186 435.12917 378.42775 437.35521 381.11102 c\r
+439.58154 383.79458 442.78157 385.13622 446.95616 385.13622 c\r
+448.86416 385.13622 450.48444 384.98712 451.81616 384.68920 c\r
+453.14759 384.39099 454.35033 383.96324 455.42381 383.40709 C\r
+454.05213 379.29231 L\r
+453.13767 379.80935 452.12400 380.21669 451.01112 380.51461 c\r
+449.89795 380.81310 448.70513 380.96220 447.43323 380.96220 c\r
+441.78775 380.96220 438.96529 377.14564 438.96529 369.51279 c\r
+438.96529 368.00220 439.11468 366.56107 439.41260 365.18967 c\r
+439.71109 363.81770 440.20800 362.60561 440.90334 361.55197 c\r
+441.59924 360.49833 442.51342 359.65361 443.64671 359.01751 c\r
+444.77943 358.38142 446.18060 358.06337 447.85049 358.06337 c\r
+449.28170 358.06337 450.56353 358.28220 451.69682 358.71959 c\r
+452.82983 359.15669 453.75420 359.65361 454.46995 360.21033 C\r
+456.01994 356.57263 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+461.31704 354.60482 476.40387 385.01688 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+475.38992 379.82920 m\r
+474.19767 380.22661 473.06466 380.42561 471.99118 380.42561 c\r
+470.28132 380.42561 468.92976 379.95846 467.93594 379.02387 c\r
+466.94211 378.08957 466.32614 376.90724 466.08746 375.47603 c\r
+466.08746 354.60482 L\r
+461.31704 354.60482 L\r
+461.31704 384.42047 L\r
+464.65654 384.42047 L\r
+465.55087 380.78334 L\r
+465.78954 380.78334 L\r
+466.54469 382.13490 467.44894 383.17833 468.50258 383.91392 c\r
+469.55622 384.64923 470.89786 385.01688 472.52778 385.01688 c\r
+473.68091 385.01688 474.97266 384.81846 476.40387 384.42047 C\r
+475.38992 379.82920 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+478.34306 342.38041 504.87902 384.42047 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+490.98472 365.10009 m\r
+492.65461 359.37524 L\r
+492.95254 359.37524 L\r
+494.26441 365.15991 L\r
+500.04907 384.42047 L\r
+504.87902 384.42047 L\r
+496.05364 357.64611 l\r
+495.37757 355.69814 494.71172 353.80998 494.05578 351.98079 c\r
+493.39984 350.15216 492.67417 348.52224 491.87906 347.09102 c\r
+491.08422 345.66009 490.18989 344.51688 489.19606 343.66224 c\r
+488.20224 342.80759 487.04910 342.38041 485.73723 342.38041 c\r
+484.30573 342.38041 483.13332 342.57883 482.21887 342.97682 C\r
+483.05367 347.09102 L\r
+483.57043 346.89260 484.06762 346.79310 484.54441 346.79310 c\r
+485.65786 346.79310 486.73106 347.37959 487.76457 348.55200 c\r
+488.79808 349.72498 489.65301 351.74268 490.32879 354.60482 C\r
+478.34306 384.42047 L\r
+483.82866 384.42047 L\r
+490.98472 365.10009 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+508.82627 342.67833 533.57301 385.13622 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+508.82627 384.42047 m\r
+512.10595 384.42047 L\r
+513.00028 380.84287 L\r
+513.23896 380.84287 L\r
+514.15342 382.23411 515.33575 383.29767 516.78709 384.03298 c\r
+518.23814 384.76857 519.89754 385.13622 521.76614 385.13622 c\r
+525.74145 385.13622 528.70337 383.96324 530.65134 381.61786 c\r
+532.59931 379.27247 533.57301 375.43635 533.57301 370.10920 c\r
+533.57301 367.60479 533.24532 365.34841 532.58910 363.34063 c\r
+531.93345 361.33313 531.00935 359.63376 529.81654 358.24252 c\r
+528.62400 356.85071 527.18258 355.77780 525.49313 355.02208 c\r
+523.80340 354.26693 521.92517 353.88907 519.85786 353.88907 c\r
+518.38696 353.88907 517.22447 353.97865 516.36954 354.15751 c\r
+515.51490 354.33666 514.59052 354.64450 513.59669 355.08189 C\r
+513.59669 342.67833 L\r
+508.82627 342.67833 L\r
+508.82627 384.42047 L\r
+@c\r
+520.87153 380.96220 m\r
+518.84419 380.96220 517.24431 380.43553 516.07134 379.38189 c\r
+514.89836 378.32825 514.07376 376.72809 513.59669 374.58142 c\r
+513.59669 359.79250 L\r
+514.31244 359.23635 515.12712 358.80860 516.04157 358.51068 c\r
+516.95575 358.21276 518.16841 358.06337 519.67928 358.06337 c\r
+522.42208 358.06337 524.59880 359.08724 526.20860 361.13471 c\r
+527.81868 363.18189 528.62400 366.19313 528.62400 370.16844 c\r
+528.62400 371.79865 528.48482 373.27946 528.20646 374.61118 c\r
+527.92809 375.94318 527.48107 377.07591 526.86482 378.01049 c\r
+526.24828 378.94479 525.45345 379.66989 524.47946 380.18693 c\r
+523.50548 380.70369 522.30274 380.96220 520.87153 380.96220 c\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+536.34728 353.88907 555.25039 391.69587 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+536.34728 384.42047 m\r
+540.99836 384.42047 L\r
+540.99836 390.32447 L\r
+545.76935 391.69587 L\r
+545.76935 384.42047 L\r
+553.87899 384.42047 L\r
+553.87899 380.24646 L\r
+545.76935 380.24646 L\r
+545.76935 363.72841 l\r
+545.76935 361.66139 546.02759 360.20041 546.54435 359.34548 c\r
+547.06110 358.49083 547.93559 358.06337 549.16838 358.06337 c\r
+550.20189 358.06337 551.07638 358.17279 551.79184 358.39134 c\r
+552.50759 358.61017 553.30243 358.89817 554.17691 359.25619 C\r
+555.25039 355.61849 L\r
+554.17691 355.10173 553.00450 354.68447 551.73203 354.36614 c\r
+550.46013 354.04809 549.08872 353.88907 547.61783 353.88907 c\r
+545.19279 353.88907 543.48321 354.57506 542.48939 355.94646 c\r
+541.49528 357.31786 540.99836 359.61392 540.99836 362.83380 c\r
+540.99836 380.24646 L\r
+536.34728 380.24646 L\r
+536.34728 384.42047 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+557.59039 353.88907 583.70939 385.13622 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+557.59039 369.51279 m\r
+557.59039 374.56186 558.71376 378.42775 560.95965 381.11102 c\r
+563.20611 383.79458 566.43591 385.13622 570.65017 385.13622 c\r
+572.87622 385.13622 574.81427 384.76857 576.46403 384.03298 c\r
+578.11380 383.29767 579.47556 382.24431 580.54847 380.87263 c\r
+581.62195 379.50094 582.41735 377.85146 582.93411 375.92334 c\r
+583.45115 373.99521 583.70939 371.85817 583.70939 369.51279 c\r
+583.70939 364.46400 582.58602 360.59783 580.34013 357.91427 c\r
+578.09367 355.23099 574.86387 353.88907 570.65017 353.88907 c\r
+568.42356 353.88907 566.48551 354.25701 564.83575 354.99231 c\r
+563.18598 355.72791 561.82422 356.78154 560.75131 358.15294 c\r
+559.67783 359.52435 558.88243 361.17439 558.36567 363.10252 c\r
+557.84920 365.03036 557.59039 367.16740 557.59039 369.51279 c\r
+@c\r
+562.53997 369.51279 m\r
+562.53997 368.00220 562.68907 366.55115 562.98728 365.15991 c\r
+563.28548 363.76809 563.75263 362.55572 564.38844 361.52220 c\r
+565.02454 360.48841 565.85934 359.65361 566.89313 359.01751 c\r
+567.92665 358.38142 569.17928 358.06337 570.65017 358.06337 c\r
+576.05669 358.02369 578.75981 361.83997 578.75981 369.51279 c\r
+578.75981 371.06334 578.61071 372.53424 578.31250 373.92548 c\r
+578.01458 375.31701 577.54743 376.52967 576.91134 377.56290 c\r
+576.27524 378.59669 575.44044 379.42186 574.40665 380.03754 c\r
+573.37313 380.65380 572.12107 380.96220 570.65017 380.96220 c\r
+565.24337 381.00161 562.53997 377.18532 562.53997 369.51279 c\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+591.05934 365.83767 597.97644 372.75506 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.30 0.00 0.10 0.00 null ] set_fill_color\r
+591.05934 369.29622 m\r
+591.05934 370.36970 591.36718 371.21471 591.98343 371.83068 c\r
+592.59969 372.44693 593.42457 372.75506 594.45808 372.75506 c\r
+595.53156 372.75506 596.38620 372.44693 597.02258 371.83068 c\r
+597.65868 371.21471 597.97644 370.36970 597.97644 369.29622 c\r
+597.97644 368.26299 597.65868 367.42791 597.02258 366.79209 c\r
+596.38620 366.15600 595.53156 365.83767 594.45808 365.83767 c\r
+593.42457 365.83767 592.59969 366.15600 591.98343 366.79209 c\r
+591.36718 367.42791 591.05934 368.26299 591.05934 369.29622 c\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+604.36120 353.67250 630.48019 384.91965 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.30 0.00 0.10 0.00 null ] set_fill_color\r
+604.36120 369.29622 m\r
+604.36120 374.34529 605.48457 378.21146 607.73046 380.89446 c\r
+609.97691 383.57802 613.20671 384.91965 617.42098 384.91965 c\r
+619.64702 384.91965 621.58507 384.55200 623.23483 383.81641 c\r
+624.88460 383.08110 626.24636 382.02775 627.31928 380.65635 c\r
+628.39276 379.28438 629.18816 377.63490 629.70491 375.70677 c\r
+630.22195 373.77865 630.48019 371.64189 630.48019 369.29622 c\r
+630.48019 364.24743 629.35682 360.38126 627.11093 357.69770 c\r
+624.86447 355.01443 621.63468 353.67250 617.42098 353.67250 c\r
+615.19436 353.67250 613.25631 354.04044 611.60655 354.77575 c\r
+609.95679 355.51134 608.59502 356.56498 607.52183 357.93638 c\r
+606.44863 359.30778 605.65323 360.95783 605.13647 362.88595 c\r
+604.62000 364.81408 604.36120 366.95083 604.36120 369.29622 c\r
+@c\r
+609.31077 369.29622 m\r
+609.31077 367.78564 609.45987 366.33458 609.75808 364.94334 c\r
+610.05628 363.55153 610.52343 362.33915 611.15924 361.30564 c\r
+611.79534 360.27184 612.63014 359.43732 613.66394 358.80094 c\r
+614.69745 358.16485 615.95008 357.84680 617.42098 357.84680 c\r
+622.82750 357.80712 625.53061 361.62340 625.53061 369.29622 c\r
+625.53061 370.84677 625.38151 372.31767 625.08331 373.70920 c\r
+624.78539 375.10044 624.31824 376.31310 623.68214 377.34633 c\r
+623.04605 378.38013 622.21124 379.20529 621.17745 379.82098 c\r
+620.14394 380.43751 618.89187 380.74564 617.42098 380.74564 c\r
+612.01417 380.78504 609.31077 376.96876 609.31077 369.29622 c\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+635.56753 354.38825 650.65436 384.80031 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.30 0.00 0.10 0.00 null ] set_fill_color\r
+649.64069 379.61263 m\r
+648.44816 380.01005 647.31515 380.20904 646.24167 380.20904 c\r
+644.53209 380.20904 643.18054 379.74189 642.18643 378.80731 c\r
+641.19260 377.87301 640.57663 376.69068 640.33795 375.25946 c\r
+640.33795 354.38825 L\r
+635.56753 354.38825 L\r
+635.56753 384.20391 L\r
+638.90702 384.20391 L\r
+639.80135 380.56677 L\r
+640.04003 380.56677 L\r
+640.79518 381.91833 641.69943 382.96176 642.75307 383.69764 c\r
+643.80671 384.43266 645.14835 384.80031 646.77827 384.80031 c\r
+647.93140 384.80031 649.22315 384.60189 650.65436 384.20391 C\r
+649.64069 379.61263 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+650.92167 341.74658 675.43030 384.74079 @E\r
+/$fm 1 def\r
+ 0 O 0 @g\r
+[ 1.00 0.30 0.00 0.10 0.00 null ] set_fill_color\r
+675.43030 353.01685 m\r
+675.43030 349.16060 674.40671 346.31802 672.35953 344.48939 c\r
+670.31206 342.66076 667.28069 341.74658 663.26542 341.74658 c\r
+660.88035 341.74658 658.96214 341.89540 657.51109 342.19361 c\r
+656.06003 342.49181 654.81761 342.87931 653.78409 343.35638 C\r
+655.03644 347.41134 L\r
+655.95061 347.05361 656.96457 346.71572 658.07773 346.39767 c\r
+659.19061 346.07962 660.64167 345.92060 662.43090 345.92060 c\r
+664.10022 345.92060 665.46227 346.06970 666.51534 346.36762 c\r
+667.56898 346.66611 668.41398 347.16302 669.04980 347.85865 c\r
+669.68589 348.55427 670.12328 349.44888 670.36195 350.54220 c\r
+670.60006 351.63553 670.71969 352.93720 670.71969 354.44806 c\r
+670.71969 357.31020 L\r
+670.48072 357.31020 L\r
+669.68589 356.15707 668.67222 355.27266 667.44000 354.65641 c\r
+666.20721 354.04044 664.59713 353.73231 662.60948 353.73231 c\r
+658.59449 353.73231 655.64249 354.98466 653.75405 357.48935 c\r
+651.86589 359.99376 650.92167 363.88970 650.92167 369.17688 c\r
+650.92167 374.26564 652.13433 378.13181 654.55937 380.77512 c\r
+656.98441 383.41899 660.56230 384.74079 665.29304 384.74079 c\r
+667.55877 384.74079 669.49682 384.56220 671.10718 384.20391 c\r
+672.71726 383.84617 674.15839 383.42891 675.43030 382.95184 C\r
+675.43030 353.01685 l\r
+@c\r
+663.44457 357.90661 m\r
+665.47219 357.90661 667.06186 358.41345 668.21499 359.42712 c\r
+669.36813 360.44107 670.18280 362.02139 670.65987 364.16778 c\r
+670.65987 379.43348 L\r
+669.06964 380.18920 667.04202 380.56677 664.57729 380.56677 c\r
+661.87417 380.56677 659.74706 379.65231 658.19679 377.82340 c\r
+656.64624 375.99477 655.87124 373.13263 655.87124 369.23669 c\r
+655.87124 367.56680 656.01043 366.03609 656.28850 364.64485 c\r
+656.56715 363.25361 657.00425 362.06079 657.60066 361.06696 c\r
+658.19679 360.07313 658.97206 359.29786 659.92620 358.74142 c\r
+660.88035 358.18469 662.05276 357.90661 663.44457 357.90661 c\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+192.75052 348.74532 244.67187 405.83282 @E\r
+/$fm 0 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.20 0.10 0.20 null ] set_fill_color\r
+205.53194 405.83282 m\r
+244.67187 405.83282 L\r
+244.67187 369.76989 l\r
+244.67187 362.74054 238.92038 356.98847 231.89102 356.98847 c\r
+208.02926 356.98847 L\r
+206.64369 356.98847 206.50280 356.84220 205.70230 355.77411 C\r
+203.69083 353.10359 201.02882 350.72391 197.87159 348.74532 C\r
+194.76737 351.08249 192.75052 354.79587 192.75052 358.95883 c\r
+192.75052 393.05197 l\r
+192.75052 400.08246 198.50145 405.83282 205.53194 405.83282 c\r
+@c\r
+214.33975 386.03027 m\r
+224.89398 386.03027 L\r
+224.89398 386.09660 L\r
+224.88633 386.09660 L\r
+224.88633 387.64290 224.28765 389.03811 223.32047 390.04129 C\r
+222.37313 391.02435 221.06239 391.63380 219.61672 391.63380 C\r
+218.17106 391.63380 216.86031 391.02435 215.91298 390.04129 C\r
+214.94580 389.03811 214.34712 387.64290 214.34712 386.09660 C\r
+214.33975 386.09660 L\r
+214.33975 386.03027 L\r
+@c\r
+228.61049 385.88145 m\r
+229.25820 385.60082 229.71430 384.95622 229.71430 384.20872 c\r
+229.71430 371.50271 l\r
+229.71430 370.50094 228.89395 369.68145 227.89276 369.68145 c\r
+211.34069 369.68145 l\r
+210.33921 369.68145 209.51972 370.50094 209.51972 371.50271 c\r
+209.51972 384.20872 l\r
+209.51972 384.95679 209.97524 385.60252 210.62324 385.88202 C\r
+210.62381 386.09660 L\r
+210.61644 386.09660 L\r
+210.61644 388.63644 211.61679 390.94469 213.23169 392.62025 C\r
+214.86501 394.31537 217.12394 395.36447 219.61672 395.36447 C\r
+222.11008 395.36447 224.36844 394.31537 226.00205 392.62025 C\r
+227.61666 390.94469 228.61701 388.63644 228.61701 386.09660 C\r
+228.60964 386.09660 L\r
+228.61049 385.88145 L\r
+@c\r
+220.55443 376.61301 m\r
+220.55443 376.61244 L\r
+220.57002 376.59997 L\r
+220.57002 376.59940 L\r
+220.58504 376.58636 L\r
+220.60035 376.57304 L\r
+220.60035 376.57276 L\r
+220.61480 376.55972 L\r
+220.61480 376.55887 L\r
+220.62983 376.54526 L\r
+220.64400 376.53165 L\r
+220.64400 376.53109 L\r
+220.65846 376.51720 L\r
+220.65846 376.51691 L\r
+220.67263 376.50246 L\r
+220.68624 376.48828 L\r
+220.68624 376.48743 L\r
+220.70013 376.47326 L\r
+220.70013 376.47241 L\r
+220.71317 376.45824 L\r
+220.71317 376.45767 L\r
+220.72649 376.44265 L\r
+220.73981 376.42762 L\r
+220.73981 376.42734 L\r
+220.75228 376.41175 L\r
+220.76476 376.39587 L\r
+220.77694 376.38000 L\r
+220.78970 376.36413 L\r
+220.78970 376.36384 L\r
+220.80104 376.34740 L\r
+220.81294 376.33124 L\r
+220.82457 376.31452 L\r
+220.83562 376.29751 L\r
+220.84668 376.28107 L\r
+220.85773 376.26350 L\r
+220.86850 376.24677 L\r
+220.86850 376.24649 L\r
+220.87843 376.22948 L\r
+220.87843 376.22891 L\r
+220.88835 376.21162 L\r
+220.89827 376.19405 L\r
+220.89827 376.19320 L\r
+220.90819 376.17591 L\r
+220.91754 376.15805 L\r
+220.92690 376.13991 L\r
+220.93569 376.12120 L\r
+220.94419 376.10334 L\r
+220.94419 376.10249 L\r
+220.95213 376.08463 L\r
+220.95213 376.08378 L\r
+220.96063 376.06592 L\r
+220.96063 376.06535 L\r
+220.96857 376.04665 L\r
+220.97594 376.02794 L\r
+220.97594 376.02709 L\r
+220.98359 376.00894 L\r
+220.99096 375.98939 L\r
+220.99776 375.97011 L\r
+220.99776 375.96954 L\r
+221.00400 375.95027 L\r
+221.01024 375.93071 L\r
+221.01024 375.93043 L\r
+221.01647 375.91087 L\r
+221.02186 375.89102 L\r
+221.02753 375.87118 L\r
+221.03263 375.85134 L\r
+221.03263 375.85077 L\r
+221.03745 375.83093 L\r
+221.04255 375.81109 L\r
+221.04255 375.81024 L\r
+221.04680 375.79039 L\r
+221.04680 375.78954 L\r
+221.05049 375.76970 L\r
+221.05049 375.76942 L\r
+221.05446 375.74957 L\r
+221.05446 375.74872 L\r
+221.05814 375.72831 L\r
+221.06126 375.70762 L\r
+221.06126 375.70706 L\r
+221.06438 375.68665 L\r
+221.06438 375.68608 L\r
+221.06665 375.66539 L\r
+221.06920 375.64413 L\r
+221.07118 375.62315 L\r
+221.07317 375.60217 L\r
+221.07317 375.60132 L\r
+221.07430 375.58063 L\r
+221.07430 375.58035 L\r
+221.07543 375.55880 L\r
+221.07543 375.55852 L\r
+221.07628 375.53783 L\r
+221.07628 375.53754 L\r
+221.07657 375.51600 L\r
+221.07657 375.51572 L\r
+221.07657 375.49417 L\r
+221.07657 375.49389 L\r
+221.07628 375.45647 L\r
+221.07628 375.45591 L\r
+221.07515 375.41934 L\r
+221.07515 375.41849 L\r
+221.07231 375.38192 L\r
+221.07231 375.38135 L\r
+221.06920 375.34507 L\r
+221.06920 375.34479 L\r
+221.06494 375.30850 L\r
+221.06494 375.30794 L\r
+221.06013 375.27194 L\r
+221.05361 375.23565 L\r
+221.04680 375.20050 L\r
+221.04680 375.19965 L\r
+221.03943 375.16479 L\r
+221.03943 375.16422 L\r
+221.03065 375.12935 L\r
+221.02157 375.09449 L\r
+221.01080 375.06047 L\r
+221.01080 375.05962 L\r
+221.00031 375.02646 L\r
+221.00031 375.02561 L\r
+220.98869 374.99272 L\r
+220.98869 374.99187 L\r
+220.97565 374.95899 L\r
+220.96205 374.92611 L\r
+220.94816 374.89380 L\r
+220.94816 374.89323 L\r
+220.93313 374.86148 L\r
+220.91698 374.82973 L\r
+220.90110 374.79883 L\r
+220.90110 374.79798 L\r
+220.88324 374.76737 L\r
+220.86539 374.73732 L\r
+220.84668 374.70728 L\r
+220.82740 374.67780 L\r
+220.80756 374.64973 L\r
+220.80756 374.64888 L\r
+220.78687 374.62082 L\r
+220.76504 374.59304 L\r
+220.74350 374.56554 L\r
+220.72110 374.53861 L\r
+220.69757 374.51254 L\r
+220.67376 374.48702 L\r
+220.64882 374.46208 L\r
+220.62387 374.43742 L\r
+220.59865 374.41389 L\r
+220.57228 374.39036 L\r
+220.54564 374.36769 L\r
+220.51843 374.34586 L\r
+220.49036 374.32403 L\r
+220.46173 374.30391 L\r
+220.43310 374.28378 L\r
+220.40391 374.26450 L\r
+220.37414 374.24608 L\r
+220.34353 374.22794 L\r
+220.31263 374.21036 L\r
+220.28173 374.19449 L\r
+220.24998 374.17833 L\r
+220.21739 374.16331 L\r
+220.18507 374.14885 L\r
+220.15219 374.13581 L\r
+220.11874 374.12277 L\r
+220.08501 374.11087 L\r
+220.05099 374.10038 L\r
+220.01641 374.08989 L\r
+219.98183 374.08025 L\r
+219.94639 374.07203 L\r
+219.91096 374.06438 L\r
+219.87524 374.05729 L\r
+219.83924 374.05134 L\r
+219.80268 374.04624 L\r
+219.76583 374.04227 L\r
+219.72926 374.03858 L\r
+219.69213 374.03631 L\r
+219.65471 374.03518 L\r
+219.61672 374.03461 L\r
+219.57874 374.03518 L\r
+219.54132 374.03631 L\r
+219.50419 374.03858 L\r
+219.46762 374.04227 L\r
+219.43077 374.04624 L\r
+219.39477 374.05134 L\r
+219.35877 374.05729 L\r
+219.32249 374.06438 L\r
+219.28734 374.07203 L\r
+219.25247 374.08025 L\r
+219.25191 374.08025 L\r
+219.21761 374.08989 L\r
+219.21704 374.08989 L\r
+219.18302 374.10038 L\r
+219.14844 374.11087 L\r
+219.11471 374.12277 L\r
+219.08183 374.13581 L\r
+219.08154 374.13581 L\r
+219.04894 374.14885 L\r
+219.04866 374.14885 L\r
+219.01606 374.16331 L\r
+218.98431 374.17833 L\r
+218.98375 374.17833 L\r
+218.95257 374.19449 L\r
+218.95228 374.19449 L\r
+218.92082 374.21036 L\r
+218.89077 374.22794 L\r
+218.86016 374.24608 L\r
+218.83011 374.26450 L\r
+218.80120 374.28378 L\r
+218.77172 374.30391 L\r
+218.74365 374.32403 L\r
+218.74309 374.32403 L\r
+218.71587 374.34586 L\r
+218.68838 374.36769 L\r
+218.66202 374.39036 L\r
+218.63537 374.41389 L\r
+218.61014 374.43742 L\r
+218.60957 374.43742 L\r
+218.58548 374.46208 L\r
+218.58463 374.46208 L\r
+218.56054 374.48702 L\r
+218.53672 374.51254 L\r
+218.53616 374.51254 L\r
+218.51320 374.53861 L\r
+218.49080 374.56554 L\r
+218.49024 374.56554 L\r
+218.46898 374.59304 L\r
+218.46841 374.59304 L\r
+218.44715 374.62082 L\r
+218.42674 374.64888 L\r
+218.42617 374.64973 L\r
+218.40661 374.67780 L\r
+218.40633 374.67780 L\r
+218.38762 374.70728 L\r
+218.38677 374.70728 L\r
+218.36891 374.73732 L\r
+218.36806 374.73732 L\r
+218.35077 374.76737 L\r
+218.35020 374.76737 L\r
+218.33320 374.79798 L\r
+218.33320 374.79883 L\r
+218.31732 374.82973 L\r
+218.31647 374.82973 L\r
+218.30117 374.86148 L\r
+218.28614 374.89323 L\r
+218.28614 374.89380 L\r
+218.27169 374.92611 L\r
+218.25865 374.95899 L\r
+218.25836 374.95899 L\r
+218.24561 374.99187 L\r
+218.24561 374.99272 L\r
+218.23370 375.02561 L\r
+218.23342 375.02646 L\r
+218.22350 375.05962 L\r
+218.22265 375.06047 L\r
+218.21272 375.09449 L\r
+218.21187 375.09449 L\r
+218.20365 375.12935 L\r
+218.20280 375.12935 L\r
+218.19487 375.16422 L\r
+218.19402 375.16479 L\r
+218.18721 375.19965 L\r
+218.18665 375.20050 L\r
+218.18013 375.23565 L\r
+218.17984 375.23565 L\r
+218.17417 375.27194 L\r
+218.17389 375.27194 L\r
+218.16907 375.30794 L\r
+218.16879 375.30850 L\r
+218.16482 375.34479 L\r
+218.16425 375.34507 L\r
+218.16198 375.38135 L\r
+218.16113 375.38192 L\r
+218.15915 375.41849 L\r
+218.15887 375.41934 L\r
+218.15802 375.45591 L\r
+218.15717 375.45647 L\r
+218.15717 375.49389 L\r
+218.15688 375.49417 L\r
+218.15688 375.53783 218.15887 375.58063 218.16227 375.62315 C\r
+218.16312 375.62315 L\r
+218.16425 375.64413 L\r
+218.16482 375.64413 L\r
+218.16680 375.66539 L\r
+218.16737 375.66539 L\r
+218.17531 375.72831 L\r
+218.17616 375.72831 L\r
+218.19600 375.83093 L\r
+218.19657 375.83093 L\r
+218.20592 375.87118 L\r
+218.20677 375.87118 L\r
+218.21159 375.89102 L\r
+218.21187 375.89102 L\r
+218.21698 375.91087 L\r
+218.21783 375.91087 L\r
+218.22973 375.95027 L\r
+218.23030 375.95027 L\r
+218.23654 375.96954 L\r
+218.23654 375.97011 L\r
+218.24334 375.98939 L\r
+218.25014 376.00894 L\r
+218.25071 376.00894 L\r
+218.26517 376.04665 L\r
+218.26545 376.04665 L\r
+218.29011 376.10249 L\r
+218.29011 376.10334 L\r
+218.29805 376.12120 L\r
+218.29833 376.12120 L\r
+218.30740 376.13991 L\r
+218.31619 376.15805 L\r
+218.31647 376.15805 L\r
+218.32611 376.17591 L\r
+218.33518 376.19320 L\r
+218.33518 376.19405 L\r
+218.34510 376.21162 L\r
+218.36580 376.24649 L\r
+218.36580 376.24677 L\r
+218.37600 376.26350 L\r
+218.38677 376.28107 L\r
+218.38762 376.28107 L\r
+218.39783 376.29751 L\r
+218.40945 376.31452 L\r
+218.42135 376.33124 L\r
+218.43241 376.34740 L\r
+218.43269 376.34740 L\r
+218.44460 376.36384 L\r
+218.44460 376.36413 L\r
+218.45650 376.38000 L\r
+218.46898 376.39587 L\r
+218.48145 376.41175 L\r
+218.49420 376.42734 L\r
+218.49420 376.42762 L\r
+218.50724 376.44265 L\r
+218.52085 376.45767 L\r
+218.52085 376.45824 L\r
+218.53417 376.47241 L\r
+218.53417 376.47326 L\r
+218.54778 376.48743 L\r
+218.54778 376.48828 L\r
+218.56167 376.50246 L\r
+218.57556 376.51691 L\r
+218.57556 376.51720 L\r
+218.58945 376.53109 L\r
+218.58945 376.53165 L\r
+218.60362 376.54526 L\r
+218.61865 376.55887 L\r
+218.61865 376.55972 L\r
+218.63367 376.57276 L\r
+218.63367 376.57304 L\r
+218.64841 376.58636 L\r
+218.66343 376.59940 L\r
+218.66343 376.59997 L\r
+218.67902 376.61244 L\r
+218.67902 376.61301 L\r
+218.69490 376.62633 L\r
+218.77172 376.68784 218.72494 377.15953 218.61865 377.21735 C\r
+218.61836 377.21735 L\r
+218.58775 377.23493 L\r
+218.58690 377.23493 L\r
+218.55600 377.25279 L\r
+218.52567 377.27093 L\r
+218.52482 377.27093 L\r
+218.49506 377.29049 L\r
+218.49420 377.29049 L\r
+218.46444 377.30948 L\r
+218.43553 377.32932 L\r
+218.43468 377.32932 L\r
+218.40548 377.35002 L\r
+218.37685 377.37099 L\r
+218.37600 377.37099 L\r
+218.34822 377.39225 L\r
+218.34794 377.39225 L\r
+218.31987 377.41465 L\r
+218.29153 377.43676 L\r
+218.26431 377.45943 L\r
+218.23682 377.48268 L\r
+218.21074 377.50649 L\r
+218.21046 377.50649 L\r
+218.18409 377.53087 L\r
+218.15887 377.55581 L\r
+218.15802 377.55581 L\r
+218.13307 377.58076 L\r
+218.13250 377.58076 L\r
+218.10841 377.60598 L\r
+218.10756 377.60598 L\r
+218.08346 377.63206 L\r
+218.05937 377.65843 L\r
+218.03556 377.68507 L\r
+218.01260 377.71228 L\r
+218.01203 377.71228 L\r
+217.98935 377.73978 L\r
+217.96724 377.76784 L\r
+217.94542 377.79562 L\r
+217.92444 377.82482 L\r
+217.92359 377.82482 L\r
+217.90318 377.85345 L\r
+217.88277 377.88321 L\r
+217.86265 377.91326 L\r
+217.84365 377.94302 L\r
+217.82494 377.97364 L\r
+217.82409 377.97364 L\r
+217.80624 378.00454 L\r
+217.78809 378.03572 L\r
+217.77052 378.06746 L\r
+217.75380 378.09921 L\r
+217.73764 378.13153 L\r
+217.72233 378.16384 L\r
+217.70674 378.19672 L\r
+217.69257 378.22961 L\r
+217.67783 378.26334 L\r
+217.66422 378.29679 L\r
+217.65118 378.33052 L\r
+217.63899 378.36454 L\r
+217.62709 378.39940 L\r
+217.61603 378.43427 L\r
+217.60526 378.46913 L\r
+217.59534 378.50457 L\r
+217.58627 378.54028 L\r
+217.57748 378.57600 L\r
+217.56926 378.61200 L\r
+217.56132 378.64800 L\r
+217.55452 378.68485 L\r
+217.54800 378.72142 L\r
+217.54261 378.75827 L\r
+217.53751 378.79569 L\r
+217.53298 378.83282 L\r
+217.52957 378.87080 L\r
+217.52646 378.90822 L\r
+217.52391 378.94592 L\r
+217.52192 378.98476 L\r
+217.52164 379.02246 L\r
+217.52079 379.06129 L\r
+217.52164 379.11515 L\r
+217.52306 379.16872 L\r
+217.52674 379.22230 L\r
+217.53156 379.27531 L\r
+217.53751 379.32775 L\r
+217.54488 379.37991 L\r
+217.55367 379.43235 L\r
+217.56274 379.48309 L\r
+217.56359 379.48309 L\r
+217.57436 379.53439 L\r
+217.58655 379.58457 L\r
+217.60044 379.63502 L\r
+217.61518 379.68406 L\r
+217.63077 379.73339 L\r
+217.64806 379.78157 L\r
+217.66620 379.82976 L\r
+217.68548 379.87682 L\r
+217.70589 379.92359 L\r
+217.72743 379.96951 L\r
+217.72772 379.96951 L\r
+217.75039 380.01487 L\r
+217.77364 380.05965 L\r
+217.79887 380.10444 L\r
+217.82409 380.14809 L\r
+217.85074 380.19090 L\r
+217.87880 380.23257 L\r
+217.90743 380.27424 L\r
+217.93720 380.31534 L\r
+217.96781 380.35502 L\r
+217.99956 380.39414 L\r
+218.03187 380.43269 L\r
+218.06561 380.47011 L\r
+218.09962 380.50696 L\r
+218.13449 380.54296 L\r
+218.13506 380.54296 L\r
+218.17020 380.57839 L\r
+218.17106 380.57839 L\r
+218.20706 380.61241 L\r
+218.20791 380.61241 L\r
+218.24532 380.64614 L\r
+218.28359 380.67817 L\r
+218.32299 380.70992 L\r
+218.36268 380.74054 L\r
+218.40293 380.77058 L\r
+218.40378 380.77058 L\r
+218.44460 380.79921 L\r
+218.44545 380.79921 L\r
+218.48712 380.82699 L\r
+218.52992 380.85392 L\r
+218.57357 380.87915 L\r
+218.61751 380.90409 L\r
+218.61836 380.90409 L\r
+218.66230 380.92762 L\r
+218.66315 380.92762 L\r
+218.70794 380.95030 L\r
+218.70822 380.95030 L\r
+218.75443 380.97156 L\r
+218.80120 380.99225 L\r
+218.84825 381.01153 L\r
+218.89587 381.02995 L\r
+218.94463 381.04696 L\r
+218.99310 381.06283 L\r
+218.99367 381.06283 L\r
+219.04299 381.07757 L\r
+219.09260 381.09090 L\r
+219.09345 381.09090 L\r
+219.14362 381.10365 L\r
+219.19436 381.11443 L\r
+219.24567 381.12435 L\r
+219.29783 381.13285 L\r
+219.34998 381.14050 L\r
+219.40214 381.14646 L\r
+219.45572 381.15099 L\r
+219.50929 381.15439 L\r
+219.56287 381.15638 L\r
+219.61672 381.15723 L\r
+219.67115 381.15638 L\r
+219.72416 381.15439 L\r
+219.77773 381.15099 L\r
+219.83131 381.14646 L\r
+219.88346 381.14050 L\r
+219.93591 381.13285 L\r
+219.98778 381.12435 L\r
+220.03909 381.11443 L\r
+220.08983 381.10365 L\r
+220.14057 381.09090 L\r
+220.14085 381.09090 L\r
+220.19046 381.07757 L\r
+220.23978 381.06283 L\r
+220.24035 381.06283 L\r
+220.28882 381.04696 L\r
+220.33757 381.02995 L\r
+220.38520 381.01153 L\r
+220.43282 380.99225 L\r
+220.47931 380.97156 L\r
+220.52523 380.95030 L\r
+220.52580 380.95030 L\r
+220.57058 380.92762 L\r
+220.57115 380.92762 L\r
+220.61509 380.90409 L\r
+220.61594 380.90409 L\r
+220.65987 380.87915 L\r
+220.70353 380.85392 L\r
+220.74633 380.82699 L\r
+220.78800 380.79921 L\r
+220.78885 380.79921 L\r
+220.82995 380.77058 L\r
+220.83052 380.77058 L\r
+220.87077 380.74054 L\r
+220.91102 380.70992 L\r
+220.94986 380.67817 L\r
+220.98869 380.64614 L\r
+221.02554 380.61241 L\r
+221.02639 380.61241 L\r
+221.06239 380.57839 L\r
+221.06324 380.57839 L\r
+221.09839 380.54296 L\r
+221.09924 380.54296 L\r
+221.13383 380.50696 L\r
+221.16813 380.47011 L\r
+221.20157 380.43269 L\r
+221.23417 380.39414 L\r
+221.26592 380.35502 L\r
+221.29625 380.31534 L\r
+221.32602 380.27424 L\r
+221.35465 380.23257 L\r
+221.38271 380.19090 L\r
+221.40935 380.14809 L\r
+221.43515 380.10444 L\r
+221.45981 380.05965 L\r
+221.48334 380.01487 L\r
+221.50573 379.96951 L\r
+221.50658 379.96951 L\r
+221.52756 379.92359 L\r
+221.54825 379.87682 L\r
+221.56724 379.82976 L\r
+221.58539 379.78157 L\r
+221.60296 379.73339 L\r
+221.61827 379.68406 L\r
+221.63329 379.63502 L\r
+221.64690 379.58457 L\r
+221.65909 379.53439 L\r
+221.66986 379.48309 L\r
+221.67071 379.48309 L\r
+221.67978 379.43235 L\r
+221.68857 379.37991 L\r
+221.69594 379.32775 L\r
+221.70246 379.27531 L\r
+221.70671 379.22230 L\r
+221.71039 379.16872 L\r
+221.71238 379.11515 L\r
+221.71266 379.06129 L\r
+221.71238 379.02246 L\r
+221.71153 378.98476 L\r
+221.70954 378.94592 L\r
+221.70728 378.90822 L\r
+221.70444 378.87080 L\r
+221.70047 378.83282 L\r
+221.69594 378.79569 L\r
+221.69083 378.75912 L\r
+221.68545 378.72142 L\r
+221.67921 378.68485 L\r
+221.67269 378.64885 L\r
+221.66504 378.61200 L\r
+221.66419 378.61200 L\r
+221.65625 378.57600 L\r
+221.64775 378.54057 L\r
+221.63811 378.50542 L\r
+221.62819 378.46970 L\r
+221.61798 378.43483 L\r
+221.61798 378.43427 L\r
+221.60636 378.40025 L\r
+221.60636 378.39940 L\r
+221.59446 378.36539 L\r
+221.58227 378.33080 L\r
+221.56923 378.29679 L\r
+221.55562 378.26334 L\r
+221.54173 378.23017 L\r
+221.54145 378.22961 L\r
+221.52671 378.19672 L\r
+221.51197 378.16441 L\r
+221.51140 378.16384 L\r
+221.49581 378.13153 L\r
+221.47965 378.09978 L\r
+221.47965 378.09921 L\r
+221.46293 378.06746 L\r
+221.44535 378.03628 L\r
+221.44535 378.03572 L\r
+221.42750 378.00539 L\r
+221.42750 378.00454 L\r
+221.40935 377.97392 L\r
+221.39065 377.94387 L\r
+221.39036 377.94387 L\r
+221.37080 377.91383 L\r
+221.37080 377.91326 L\r
+221.35096 377.88406 L\r
+221.35096 377.88321 L\r
+221.33055 377.85430 L\r
+221.30986 377.82567 L\r
+221.30986 377.82482 L\r
+221.28888 377.79647 L\r
+221.28803 377.79647 L\r
+221.26620 377.76813 L\r
+221.26620 377.76784 L\r
+221.24438 377.74035 L\r
+221.24409 377.73978 L\r
+221.22142 377.71313 L\r
+221.22142 377.71228 L\r
+221.19846 377.68564 L\r
+221.19789 377.68564 L\r
+221.17493 377.65871 L\r
+221.17436 377.65871 L\r
+221.15083 377.63263 L\r
+221.14998 377.63206 L\r
+221.12589 377.60683 L\r
+221.10094 377.58104 L\r
+221.07543 377.55638 L\r
+221.07543 377.55581 L\r
+221.05020 377.53143 L\r
+221.04935 377.53143 L\r
+221.02328 377.50734 L\r
+220.99663 377.48353 L\r
+220.99663 377.48268 L\r
+220.96970 377.45972 L\r
+220.96913 377.45972 L\r
+220.94220 377.43761 L\r
+220.94192 377.43676 L\r
+220.91443 377.41521 L\r
+220.91386 377.41465 L\r
+220.88608 377.39282 L\r
+220.85745 377.37156 L\r
+220.82854 377.35030 L\r
+220.82797 377.35030 L\r
+220.79877 377.33017 L\r
+220.76986 377.31033 L\r
+220.76901 377.31033 L\r
+220.73924 377.29077 L\r
+220.70863 377.27150 L\r
+220.67830 377.25364 L\r
+220.67745 377.25279 L\r
+220.64655 377.23578 L\r
+220.64655 377.23493 L\r
+220.61509 377.21820 L\r
+220.61509 377.21735 L\r
+220.49745 377.15528 220.47591 376.67594 220.55443 376.61301 C\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+197.87159 332.56743 269.43449 405.83282 @E\r
+/$fm 0 def\r
+ 0 O 0 @g\r
+[ 1.00 0.60 0.40 0.00 0.40 null ] set_fill_color\r
+244.67187 405.83282 m\r
+256.65364 405.83282 l\r
+263.68413 405.83282 269.43449 400.07906 269.43449 393.05197 c\r
+269.43449 381.19918 269.43449 372.80381 269.43449 358.95883 c\r
+269.43449 351.93175 263.68072 346.17742 256.65364 346.17742 c\r
+251.39367 346.17742 L\r
+250.52854 346.17742 249.89584 346.04901 250.74454 344.98318 c\r
+254.30769 340.50869 259.25443 336.68362 265.40787 334.57039 c\r
+266.47370 334.20359 266.05474 332.64992 265.00847 332.60882 c\r
+264.34630 332.58217 263.67959 332.56743 263.00778 332.56743 c\r
+250.03757 332.56743 238.71827 337.66866 232.68926 345.24142 C\r
+231.84028 346.30526 231.80343 346.17742 230.40992 346.17742 c\r
+205.53194 346.17742 l\r
+202.66498 346.17742 200.01033 347.13468 197.87159 348.74532 C\r
+201.02882 350.72391 203.69083 353.10359 205.70230 355.77411 C\r
+206.50280 356.84220 206.64369 356.98847 208.02926 356.98847 C\r
+231.89102 356.98847 l\r
+238.92038 356.98847 244.67187 362.74054 244.67187 369.76989 c\r
+244.67187 405.83282 L\r
+@c\r
+F\r
+\r
+@rax %Note: Object\r
+167.98819 342.57288 244.67216 419.84731 @E\r
+/$fm 0 def\r
+ 0 O 0 @g\r
+[ 1.00 0.30 0.00 0.10 0.00 null ] set_fill_color\r
+180.76932 419.84731 m\r
+231.89131 419.84731 l\r
+238.92123 419.84731 244.67216 414.09524 244.67216 407.06589 c\r
+244.67216 405.83282 L\r
+205.53222 405.83282 l\r
+198.50173 405.83282 192.75080 400.08246 192.75080 393.05197 c\r
+192.75080 358.95883 l\r
+192.75080 354.79644 194.76794 351.08277 197.87187 348.74532 C\r
+193.87389 346.24035 189.08107 344.37912 183.80438 343.38784 c\r
+180.86230 342.83594 177.85644 342.56835 174.85625 342.57288 c\r
+173.24249 342.57487 172.82239 344.54324 174.05631 345.06142 c\r
+176.66702 346.15786 179.82652 347.92526 182.05682 349.67083 c\r
+184.17231 351.32797 186.00293 353.23087 187.47383 355.31688 C\r
+188.57565 356.88699 187.89279 356.98847 186.53074 356.98847 c\r
+180.76932 356.98847 l\r
+173.73997 356.98847 167.98819 362.73912 167.98819 369.76989 c\r
+167.98819 383.64066 167.98819 393.90491 167.98819 407.06589 c\r
+167.98819 414.09638 173.73912 419.84731 180.76932 419.84731 c\r
+@c\r
+F\r
+\r
+%%PageTrailer\r
+@rs\r
+@rs\r
+%%Trailer\r
+@EndSysCorelDict\r
+end\r
+%%DocumentSuppliedResources: procset wCorel14Dict 14.0 0\r
+%%EOF\r
diff --git a/presentations/org-training/img/mary.jpg b/presentations/org-training/img/mary.jpg
new file mode 100644 (file)
index 0000000..c2774f9
Binary files /dev/null and b/presentations/org-training/img/mary.jpg differ
diff --git a/presentations/org-training/img/metalab-world-domination.jpg b/presentations/org-training/img/metalab-world-domination.jpg
new file mode 100644 (file)
index 0000000..e9291f9
Binary files /dev/null and b/presentations/org-training/img/metalab-world-domination.jpg differ
diff --git a/presentations/org-training/img/mining-ps-and-qs.png b/presentations/org-training/img/mining-ps-and-qs.png
new file mode 100644 (file)
index 0000000..8f5a3b8
Binary files /dev/null and b/presentations/org-training/img/mining-ps-and-qs.png differ
diff --git a/presentations/org-training/img/navajo.jpg b/presentations/org-training/img/navajo.jpg
new file mode 100644 (file)
index 0000000..b6a848d
Binary files /dev/null and b/presentations/org-training/img/navajo.jpg differ
diff --git a/presentations/org-training/img/neboltai.jpeg b/presentations/org-training/img/neboltai.jpeg
new file mode 100644 (file)
index 0000000..0bde889
Binary files /dev/null and b/presentations/org-training/img/neboltai.jpeg differ
diff --git a/presentations/org-training/img/neboltai.png b/presentations/org-training/img/neboltai.png
new file mode 100644 (file)
index 0000000..83d1172
Binary files /dev/null and b/presentations/org-training/img/neboltai.png differ
diff --git a/presentations/org-training/img/nsa.png b/presentations/org-training/img/nsa.png
new file mode 100644 (file)
index 0000000..4c229ec
Binary files /dev/null and b/presentations/org-training/img/nsa.png differ
diff --git a/presentations/org-training/img/openssl-s_client.png b/presentations/org-training/img/openssl-s_client.png
new file mode 100644 (file)
index 0000000..bbdb6db
Binary files /dev/null and b/presentations/org-training/img/openssl-s_client.png differ
diff --git a/presentations/org-training/img/rusty_tools.jpg b/presentations/org-training/img/rusty_tools.jpg
new file mode 100644 (file)
index 0000000..48c5f34
Binary files /dev/null and b/presentations/org-training/img/rusty_tools.jpg differ
diff --git a/presentations/org-training/img/scytale.png b/presentations/org-training/img/scytale.png
new file mode 100644 (file)
index 0000000..dac7074
Binary files /dev/null and b/presentations/org-training/img/scytale.png differ
diff --git a/presentations/org-training/img/ssllabs.png b/presentations/org-training/img/ssllabs.png
new file mode 100644 (file)
index 0000000..8167d98
Binary files /dev/null and b/presentations/org-training/img/ssllabs.png differ
diff --git a/presentations/org-training/img/ssllabs2.png b/presentations/org-training/img/ssllabs2.png
new file mode 100644 (file)
index 0000000..88efd82
Binary files /dev/null and b/presentations/org-training/img/ssllabs2.png differ
diff --git a/presentations/org-training/img/ssllabs3.png b/presentations/org-training/img/ssllabs3.png
new file mode 100644 (file)
index 0000000..4558a90
Binary files /dev/null and b/presentations/org-training/img/ssllabs3.png differ
diff --git a/presentations/org-training/img/sslscan.png b/presentations/org-training/img/sslscan.png
new file mode 100644 (file)
index 0000000..fe4f995
Binary files /dev/null and b/presentations/org-training/img/sslscan.png differ
diff --git a/presentations/org-training/img/testing.jpg b/presentations/org-training/img/testing.jpg
new file mode 100644 (file)
index 0000000..9453366
Binary files /dev/null and b/presentations/org-training/img/testing.jpg differ
diff --git a/presentations/org-training/img/variantA.png b/presentations/org-training/img/variantA.png
new file mode 100644 (file)
index 0000000..f75e279
Binary files /dev/null and b/presentations/org-training/img/variantA.png differ
diff --git a/presentations/org-training/img/variantB.png b/presentations/org-training/img/variantB.png
new file mode 100644 (file)
index 0000000..36d059b
Binary files /dev/null and b/presentations/org-training/img/variantB.png differ
diff --git a/presentations/org-training/img/variantBcompatibility.png b/presentations/org-training/img/variantBcompatibility.png
new file mode 100644 (file)
index 0000000..44c0b11
Binary files /dev/null and b/presentations/org-training/img/variantBcompatibility.png differ
diff --git a/presentations/org-training/img/wrap-up.jpg b/presentations/org-training/img/wrap-up.jpg
new file mode 100644 (file)
index 0000000..44ac531
Binary files /dev/null and b/presentations/org-training/img/wrap-up.jpg differ
diff --git a/presentations/org-training/img/xkcd-TLA.png b/presentations/org-training/img/xkcd-TLA.png
new file mode 100644 (file)
index 0000000..59f8d66
Binary files /dev/null and b/presentations/org-training/img/xkcd-TLA.png differ
diff --git a/presentations/org-training/neboltai.tex b/presentations/org-training/neboltai.tex
new file mode 100644 (file)
index 0000000..ce222f6
--- /dev/null
@@ -0,0 +1,11 @@
+% move this epigraph to a fitting place. I don't see why it fits here inside of the begin figure env. ~~ AK
+%\epigraph{``[...] be conservative in what you do, be liberal in what
+%you accept from others.''}{The robustness priciple or ``Postel's Law''~\cite{rfc761}}
+{\centering
+  \includegraphics[width=.9\textwidth]{neboltai.jpg}\par
+  \vbox{\emph{Do not talk unencrypted}}
+}
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "applied-crypto-hardening"
+%%% End: 
diff --git a/presentations/org-training/styleheader.tex b/presentations/org-training/styleheader.tex
new file mode 100644 (file)
index 0000000..7477229
--- /dev/null
@@ -0,0 +1,10 @@
+%%%
+%%% Bettercrypto presentation for hack.lu 2014
+%%% 
+%%%
+\RequirePackage{fix-cm}
+%\documentclass[draft]{scrartcl}
+\documentclass{scrreprt}   % uncomment this if you want to make a final version (and remove the DRAFT watermark)
+\input{common/system}
+\input{common/style}
+\input{common/commands}
diff --git a/presentations/org-training/update-metadata-for-gitinfo b/presentations/org-training/update-metadata-for-gitinfo
new file mode 100755 (executable)
index 0000000..6260a54
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+GITINFO_INDEX_FILENAME="gitHeadInfo.gin"
+GITINFO_GIT_LOG_PRETTY_FORMAT=$(cat <<'__EOS__'
+\usepackage[%
+        shash={%h},
+        lhash={%H},
+        authname={%an},
+        authemail={%ae},
+        authsdate={%ad},
+        authidate={%ai},
+        authudate={%at},
+        commname={%an},
+        commemail={%ae},
+        commsdate={%ad},
+        commidate={%ai},
+        commudate={%at},
+        refnames={%d}
+]{gitsetinfo}
+__EOS__
+)
+git log -1 --date=short \
+               --pretty=format:"${GITINFO_GIT_LOG_PRETTY_FORMAT}" \
+               HEAD  > ./${GITINFO_INDEX_FILENAME}
+
+