✨
This commit is contained in:
Binary file not shown.
@ -1,6 +1,5 @@
|
||||
\documentclass[a4paper,11pt]{article}
|
||||
\usepackage[margin=1.3in]{geometry}
|
||||
\usepackage[most]{tcolorbox}
|
||||
\usepackage[margin=3.3cm, top=2.8cm]{geometry}
|
||||
\usepackage{xcolor}
|
||||
\usepackage{tikz}
|
||||
\usepackage{fancyhdr} % for headers
|
||||
@ -10,6 +9,7 @@
|
||||
\usepackage{fontspec}
|
||||
\usepackage{enumitem}
|
||||
\usepackage{array}
|
||||
\usepackage[en,science]{ku-frontpage/ku-frontpage}
|
||||
|
||||
\usetikzlibrary{arrows.meta, positioning, calc, quotes}
|
||||
|
||||
@ -29,13 +29,17 @@
|
||||
|
||||
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
|
||||
|
||||
\title{Adding Network Event Triggers to an Event-based Workflow Scheduler}
|
||||
\assignment{Bachelor's project}
|
||||
\title{Network Event Triggers in an Event-based Workflow Scheduler}
|
||||
\subtitle{}
|
||||
\author{Nikolaj Ingemann Gade (\texttt{qhp695})}
|
||||
\advisor{Advisor: David Marchant}
|
||||
\date{June 2023}
|
||||
|
||||
\begin{document}
|
||||
\maketitle{}
|
||||
|
||||
\setcounter{page}{1}
|
||||
\section{Abstract}
|
||||
This paper introduces a network event monitor to the Managing Event Oriented Workflows (MEOW) system, enabling it to respond to data transmitted over a network connection. The Python-based implementation uses the socket library, incorporates a new pattern type for network events, and reuses existing infrastructure for file events. Performance tests reveal robust handling of events with multiple listeners, demonstrating the viability of this enhancement. The design fosters future extensions, marking an essential step in advancing the capabilities of scientific workflow management systems to meet the dynamic demands of data-intensive fields
|
||||
|
||||
@ -239,6 +243,7 @@
|
||||
\item \texttt{sendall()}: Sends data to a socket.
|
||||
\end{itemize}
|
||||
|
||||
\newpage
|
||||
\section{Method}
|
||||
\textit{Code available here: \autocite{Implementation}}
|
||||
|
||||
@ -269,9 +274,11 @@
|
||||
\subsection{Data Type Agnosticism}
|
||||
An important aspect to consider in the functioning of the network monitor is its data type agnosticism: the \texttt{NetworkMonitor} does not impose restrictions or perform checks on the type of incoming data. While this approach enhances the speed and simplicity of the implementation, it also places a certain level of responsibility on the recipes that work with the incoming data. The recipes, being responsible for defining the actions taken upon execution of a job, must be designed with a full understanding of this versatility. They should incorporate necessary checks and handle potential inconsistencies or anomalies that might arise from diverse types of incoming data.
|
||||
|
||||
\begin{tcolorbox}[colback=lightgray!30!white]
|
||||
Justify. The file events don't check for errors. The system is resistant, so errors don't really matter. Protocol specific monitors could check better.
|
||||
\end{tcolorbox}
|
||||
It's worth noting that this agnostic approach is not exclusive to the network event monitor, but is also characteristic of the file event monitor within MEOW. The underlying philosophy here is to maintain a certain level of simplicity and versatility in the monitors, while entrusting the recipes with the task of handling and interpreting the data. This design choice avoids adding undue complexity to the monitor itself and aligns with the overall modularity of the system.
|
||||
|
||||
Furthermore, MEOW is a fault-tolerant system. This means that if a job encounters an error due to incompatible or unexpected data types, it doesn't halt the entire workflow but instead allows other jobs to continue executing. This resilience reduces the potential disruption caused by unforeseen data types or unexpected data errors.
|
||||
|
||||
However, in a possible future iteration of the system, particularly for workflows that require protocol-specific monitors like HTTP or FTP, the monitors might be designed to perform more sophisticated checks on the incoming data. This could involve validating the format or content of incoming data, or handling certain protocol-specific error conditions. Incorporating such checks would add a layer of robustness to the system, and enhance its reliability when dealing with more stringent or regulated data requirements.
|
||||
|
||||
\subsection{Testing}
|
||||
The unit tests for the network event monitor were inspired by the already existing tests for the file event monitor. Since the aim of the monitor was to emulate the behavior of the file event monitor as closely as possible, using the already existing tests with minimal changes proved an effective way of staying close to that goal. The tests verify the following behavior:
|
||||
@ -305,6 +312,7 @@
|
||||
|
||||
The tests are done in isolation, without a runner. The events are verified by pulling them from the monitor-to-runner pipeline directly. The timing starts after all monitors have been started, but immediately before sending the messages, and ends when all of the events have been received in the runner pipeline.
|
||||
|
||||
\newpage
|
||||
\subsubsection{Single Listener}
|
||||
To assess how a single listener handles many events at once, I implemented a procedure where a single listener in the monitor was subjected to a varying number of events, ranging from 1 to 1,000. For each quantity of events, I sent n network events to the monitor and recorded the response time. To ensure reliability of the results and mitigate the effect of any outliers, each test was repeated 50 times.
|
||||
|
||||
@ -320,14 +328,14 @@
|
||||
\textbf{count} & Total & Per event & Total & Per event & Total & Per event & \textbf{deviation}\\ \hline\hline
|
||||
\multicolumn{8}{|c|}{\textbf{Laptop}} \\ \hline
|
||||
1 & 0.62ms & 0.62ms & 33ms & 33ms & 2.5ms & 2.5ms & 4.6ms \\\hline
|
||||
10 & 5.5ms & 0.55ms & 2036ms & 203ms & 218ms & 21ms & 495ms \\\hline
|
||||
100 & 51ms & 0.52ms & 4267ms & 42ms & 1372ms & 13ms & 1273ms \\\hline
|
||||
1000 & 462ms & 0.46ms & 20500ms & 20ms & 8165ms & 8.2ms & 5034ms \\\hline\hline
|
||||
10 & 5.5ms & 0.55ms & 2,036ms & 203ms & 218ms & 21ms & 495ms \\\hline
|
||||
100 & 51ms & 0.52ms & 4,267ms & 42ms & 1,372ms & 13ms & 1,273ms \\\hline
|
||||
1000 & 462ms & 0.46ms & 20,500ms & 20ms & 8,165ms & 8.2ms & 5,034ms \\\hline\hline
|
||||
\multicolumn{8}{|c|}{\textbf{Desktop}} \\ \hline
|
||||
1 & & & & & & & \\\hline
|
||||
10 & & & & & & & \\\hline
|
||||
100 & & & & & & & \\\hline
|
||||
1000 & & & & & & & \\\hline
|
||||
1 & 0.42ms & 0.42ms & 5.3ms & 5.3ms & 1.2ms & 1.2ms & 0.75ms \\\hline
|
||||
10 & 3.0ms & 0.30ms & 2,033ms & 203ms & 153ms & 15ms & 405ms \\\hline
|
||||
100 & 27ms & 0.27ms & 6,221ms & 62ms & 1,394ms & 13ms & 1,516ms \\\hline
|
||||
1000 & 297ms & 0.30ms & 16,848ms & 16ms & 4,011ms & 4.0ms & 3,011ms \\\hline
|
||||
\end{tabular}
|
||||
}
|
||||
\caption{The results of the Single Listener performance tests.}
|
||||
@ -345,14 +353,14 @@
|
||||
\textbf{count} & Total & Per event & Total & Per event & Total & Per event & \textbf{deviation}\\ \hline\hline
|
||||
\multicolumn{8}{|c|}{\textbf{Laptop}} \\ \hline
|
||||
1 & 0.61ms & 0.61ms & 16ms & 16ms & 2.2ms & 2.2ms & 0.8ms \\\hline
|
||||
10 & 4.8ms & 0.48ms & 3053ms & 305ms & 135ms & 14ms & 330ms \\\hline
|
||||
100 & 46ms & 0.46ms & 7233ms & 72ms & 1230ms & 12ms & 1225ms \\\hline
|
||||
10 & 4.8ms & 0.48ms & 3,053ms & 305ms & 135ms & 14ms & 330ms \\\hline
|
||||
100 & 46ms & 0.46ms & 7,233ms & 72ms & 1,230ms & 12ms & 1,225ms \\\hline
|
||||
1000 & 422ms & 0.42ms & 37,598ms & 37ms & 8,853ms & 8.9ms & 6,543ms \\\hline\hline
|
||||
\multicolumn{8}{|c|}{\textbf{Desktop}} \\ \hline
|
||||
1 & & & & & & & \\\hline
|
||||
10 & & & & & & & \\\hline
|
||||
100 & & & & & & & \\\hline
|
||||
1000 & & & & & & & \\\hline
|
||||
1 & 0.40ms & 0.40ms & 3.5ms & 3.5ms & 1.5ms & 1.5ms & 0.56ms \\\hline
|
||||
10 & 2.9ms & 0.29ms & 2,036ms & 203ms & 149ms & 14ms & 364ms \\\hline
|
||||
100 & 27ms & 0.27ms & 6,223ms & 62ms & 683ms & 6.8ms & 970ms \\\hline
|
||||
1000 & 272ms & 0.27ms & 26,828ms & 26ms & 5,437ms & 5.4ms & 4,798ms \\\hline
|
||||
\end{tabular}
|
||||
}
|
||||
\caption{The results of the second suite of Single Listener performance tests.}
|
||||
@ -399,14 +407,14 @@
|
||||
500 & 663ms & 3,321ms & 928ms & 412ms \\\hline
|
||||
1000 & 893ms & 3,592ms & 1,163ms & 380ms \\\hline\hline
|
||||
\multicolumn{5}{|c|}{\textbf{Desktop}} \\ \hline
|
||||
1 & & & & \\\hline
|
||||
10 & & & & \\\hline
|
||||
100 & & & & \\\hline
|
||||
250 & & & & \\\hline
|
||||
500 & & & & \\\hline
|
||||
1000 & & & & \\\hline
|
||||
1 & 269ms & 24,828ms & 8,090ms & 6,177ms \\\hline
|
||||
10 & 283ms & 19,655ms & 5,193ms & 4,253ms \\\hline
|
||||
100 & 289ms & 7,911ms & 2,114ms & 2,026ms \\\hline
|
||||
250 & 321ms & 5,890ms & 1,002ms & 1,085ms \\\hline
|
||||
500 & 361ms & 475ms & 386ms & 26ms \\\hline
|
||||
1000 & 441ms & 613ms & 462ms & 27ms \\\hline
|
||||
\end{tabular}
|
||||
\caption{The results of the Multiple Listeners performance tests with 2 significant digits.}
|
||||
\caption{The results of the Multiple Listeners performance tests.}
|
||||
\end{table}
|
||||
|
||||
\begin{figure}[H]
|
||||
@ -432,7 +440,7 @@
|
||||
|
||||
In such cases, understanding the impact on system performance becomes crucial. This test helps evaluate how well the system handles the extra load and whether there are any unforeseen issues or bottlenecks when multiple monitors are active concurrently. This knowledge would be invaluable for any future improvements or enhancements in MEOW's design and implementation.
|
||||
|
||||
The test works similarly to the previous one, in that I will maintain 1000 events spread across a number of monitors. Each monitor will have 1 listener associated.
|
||||
The test works similarly to the previous one, in that I will maintain 1000 events spread across a number of monitors. Each monitor will have 1 listener associated. The tests will be repeated 100 times.
|
||||
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
@ -447,14 +455,14 @@
|
||||
500 & 508ms & 2,282ms & 867ms & 391ms \\\hline
|
||||
1000 & 601ms & 2,893ms & 1,197ms & 661ms \\\hline\hline
|
||||
\multicolumn{5}{|c|}{\textbf{Desktop}} \\ \hline
|
||||
1 & & & & \\\hline
|
||||
10 & & & & \\\hline
|
||||
100 & & & & \\\hline
|
||||
250 & & & & \\\hline
|
||||
500 & & & & \\\hline
|
||||
1000 & & & & \\\hline
|
||||
1 & 288ms & 13,259ms & 5,370ms & 3,338ms \\\hline
|
||||
10 & 289ms & 9,542ms & 2,615ms & 2,059ms \\\hline
|
||||
100 & 292ms & 7,703ms & 1,833ms & 1,485ms \\\hline
|
||||
250 & 297ms & 5,563ms & 1,037ms & 1,210ms \\\hline
|
||||
500 & 314ms & 424ms & 328ms & 19ms \\\hline
|
||||
1000 & 342ms & 466ms & 357ms & 19ms \\\hline
|
||||
\end{tabular}
|
||||
\caption{The results of the Multiple Listeners performance tests with 2 significant digits.}
|
||||
\caption{The results of the Multiple Listeners performance tests.}
|
||||
\end{table}
|
||||
|
||||
\begin{figure}[H]
|
||||
|
6
ku-frontpage/.gitignore
vendored
Executable file
6
ku-frontpage/.gitignore
vendored
Executable file
@ -0,0 +1,6 @@
|
||||
.DS_Store
|
||||
*.out
|
||||
*.log
|
||||
*.aux
|
||||
*.toc
|
||||
/*.pdf
|
104
ku-frontpage/README.md
Executable file
104
ku-frontpage/README.md
Executable file
@ -0,0 +1,104 @@
|
||||
# ku-frontpage
|
||||
|
||||
A LaTeX package for use at University of Copenhagen.
|
||||
|
||||
Intended to create a titlepage that resembles as closely as possible the official design for Master projects and PhD theses.
|
||||
The Microsoft Word templates can be found at https://designguide.ku.dk/.
|
||||
|
||||
## Installation
|
||||
|
||||
Just copy the `ku-frontpage.sty` and the `logos` folder into your current working directory.
|
||||
You can then include the package with for example:
|
||||
|
||||
```latex
|
||||
\usepackage[english, science]{ku-frontpage}
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
##### Options when including the package
|
||||
|
||||
Name | Available options | Default | Notes
|
||||
--- | --- | --- | ---
|
||||
Language | `english`, `danish` | `english` |
|
||||
Faculty | `science`, `sund`, `samf`, `ku` | `science` | Will change the logo and text at the top of the page accordingly.
|
||||
Hyperref? | `hyperref` | | Enables the hyperref package and sets default.
|
||||
Drop caps? | `dropcaps` | | Will allow you to include drop caps with `\lettrine{D}{rop caps}`.
|
||||
Submission statement? | `submissionstatement` | | Adds the mandatory statment "This thesis has been submitted [...]" for PhD theses
|
||||
|
||||
##### Commands for changing the text
|
||||
|
||||
Name | Function | Example
|
||||
--- | --- | ---
|
||||
`\author{...}` | Sets the author. | `\author{Mads Ohm Larsen}`
|
||||
`\title{...}` | Sets the title of the document. | `\title{Quasicrystal Simulation}`
|
||||
`\subtitle{...}` | Sets the subtitle of the document. | `\subtitle{An investigation}`
|
||||
`\date{...}` | Sets the date of the document. | `\date{Handed in: \today}`
|
||||
`\frontpageauthor{...}` | Sets the author for the frontpage, only needed as a workaround, see known issues below. | `\frontpageauthor{Mads Ohm Larsen}`
|
||||
`\frontpagetitle{...}` | Sets the title for the frontpage, only needed as a workaround, see known issues below. | `\frontpagetitle{Quasicrystal Simulation}`
|
||||
`\frontpagesubtitle{...}` | Sets the subtitle for the frontpage, only needed as a workaround, see known issues below. | `\frontpagesubtitle{An investigation}`
|
||||
`\frontpagedate{...}` | Sets the date for the frontpage, only needed as a workaround, see known issues below. | `\frontpagedate{Handed in: \today}`
|
||||
`\assignment{...}` | Sets the assignment type. | `\assignment{PhD thesis}`
|
||||
`\advisor{...}` | Sets the advisor. | `\advisor{Advisor: Anders Andersen}`
|
||||
`\frontpageimage{...}` | Sets the image for the titlepage | `\frontpageimage{example.png}`
|
||||
`\kupdfsetup{...}{...}{...}` | Sets various information in the result PDF. Requires the `hyperref` option. | `\kupdfsetup{My title}{My subject}{My name}`
|
||||
`\submissionstatement{}` | Sets custom text to be used at the bottom of the titlepage | `\submissionstatement{This thesis has been submitted elsewhere}`
|
||||
|
||||
You can disable a command, by setting it to nothing, for example if you do not want a subtitle, you can use `\subtitle{}`.
|
||||
|
||||
For SUND and SCIENCE the submission statements required as of 2021-04 are
|
||||
automatically set, but you can still override them with `\submissionstatement{}`.
|
||||
|
||||
Three colors are also defined as well as a setting for current color.
|
||||
These are `KU`, `KUsund`, and `KUscience`.
|
||||
Using `\KUCOLOR` will give you the KU color.
|
||||
|
||||
## Known issues
|
||||
|
||||
`ku-frontpage` patches commands such as `\author` to extract the information
|
||||
needed for the frontpage. This fails for some combinations of LaTeX
|
||||
distributions and document classes (for example the `memoir` class). If
|
||||
patching fails, a warning message in the compilation log will point this out as
|
||||
well as what to do; An alternative command to set e.g. the author for the
|
||||
frontpage will be provided, prefixed with `frontpage`, so for example
|
||||
`\frontpageauthor`. You will still need to use the usual `\author` command
|
||||
provided by the document class.
|
||||
|
||||
## Fonts
|
||||
|
||||
You may want to use a different font for the titlepage. In this case, you can
|
||||
use something like in the following example:
|
||||
```
|
||||
\begingroup
|
||||
\fontencoding{T1}\fontfamily{LinuxLibertineT-OsF}\selectfont
|
||||
\maketitle
|
||||
\endgroup
|
||||
```
|
||||
Replace `LinuxLibertineT-OsF` by the font of your choice.
|
||||
|
||||
## Examples
|
||||
|
||||
The file `example.tex` contains an example.
|
||||
|
||||
## Legal
|
||||
|
||||
The UCPH logo is protected by a European patent.
|
||||
The files in the logos folder can be freely distributed and used as part of the ku-frontpage project by current/former students at UCPH in connection with UCPH projects.
|
||||
|
||||
For more information go to [the official design guide](http://designguide.ku.dk/om_design/varemaerkebeskyttelse/).
|
||||
|
||||
---
|
||||
|
||||
Copyright 2021 Mads Ohm Larsen
|
||||
|
||||
Copyright 2021 Malte Leip <malte@leip.net>
|
||||
|
||||
The package is distributed under the terms of the MIT License:
|
||||
|
||||
---
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
BIN
ku-frontpage/example.png
Executable file
BIN
ku-frontpage/example.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 328 KiB |
59
ku-frontpage/example.tex
Executable file
59
ku-frontpage/example.tex
Executable file
@ -0,0 +1,59 @@
|
||||
\documentclass[11pt, a4paper]{memoir}
|
||||
\usepackage[english, science, dropcaps, hyperref, submissionstatement]{ku-frontpage}
|
||||
\usepackage[utf8]{inputenc}
|
||||
|
||||
\setlength\arraycolsep{2 pt}
|
||||
\setcounter{tocdepth}{2}
|
||||
\setcounter{secnumdepth}{0}
|
||||
|
||||
\assignment{PhD thesis}
|
||||
\author{Alex Author}
|
||||
|
||||
% The following are only needed if the \author, \title, \subtitle, and \date
|
||||
% commands are not patchable. See the readme for more information.
|
||||
% \frontpageauthor{Alex Author}
|
||||
% \frontpagetitle{A concise but nevertheless\\precise and interesting title}
|
||||
% \frontpagesubtitle{An intruiging subtitle}
|
||||
% \frontpagedate{Submitted: \today}
|
||||
|
||||
\title{A concise but nevertheless\\precise and interesting title}
|
||||
\subtitle{An intruiging subtitle}
|
||||
\date{Submitted: \today}
|
||||
\advisor{Advisor: Alice Advisor}
|
||||
\frontpageimage{example.png}
|
||||
|
||||
\kupdfsetup{A concise but nevertheless precise and interesting title - An intruiging subtitle}{}{Alex Author}
|
||||
|
||||
\begin{document}
|
||||
\begingroup
|
||||
\fontencoding{T1}\fontfamily{LinuxLibertineT-OsF}\selectfont
|
||||
\maketitle
|
||||
\endgroup
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\section{Pellentesque tincidunt}
|
||||
\lettrine{L}{orem} ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vitae erat rhoncus, tempus massa ac, tempus massa. Nam libero ante, varius eu porttitor id, iaculis ac ante. Nullam eu luctus lectus, nec sodales lorem. Nam vitae tempor lectus. Fusce nec risus lacus. Ut et odio sit amet lacus mollis tempor. Fusce euismod enim sit amet tortor malesuada, a tincidunt sapien commodo. Integer placerat consectetur nulla et laoreet. Nullam pretium eget metus non sollicitudin. Nam et quam quis velit semper vehicula in non nibh. Phasellus rutrum nisi quis nisl pharetra semper. Vivamus vitae metus nibh.
|
||||
|
||||
\subsection{Nunc nec laoreet ipsum}
|
||||
Donec eu orci consectetur, dignissim massa sed, mattis neque. Morbi sit amet leo dolor. Proin vestibulum, turpis sit amet dapibus gravida, erat magna lobortis dui, vitae elementum sapien erat non libero. Curabitur sed hendrerit metus, id lacinia mi. Pellentesque iaculis mollis tellus at egestas. Nullam condimentum arcu ante, eu pharetra enim convallis suscipit. Nullam in erat nec lacus ornare tincidunt eu ac arcu. Sed metus mauris, placerat sed tincidunt et, dignissim vitae nibh. Quisque aliquam sodales odio, vitae eleifend turpis. In molestie accumsan justo sit amet iaculis. In hac habitasse platea dictumst. Aenean purus orci, fringilla vel pulvinar vel, tempus vel massa. Praesent aliquam nibh id tellus mattis posuere.
|
||||
|
||||
\subsubsection{Vestibulum maximus}
|
||||
Vivamus finibus velit eget nibh egestas sodales. Suspendisse semper tempus felis ac egestas. Nam aliquet, velit vitae lacinia congue, quam ante tempus ex, non euismod nibh quam a augue. Etiam neque felis, scelerisque malesuada sapien vel, placerat posuere odio. Aenean vestibulum vulputate velit, sed efficitur dui molestie ac. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam enim odio, iaculis id rutrum vitae, imperdiet vitae neque. Suspendisse potenti. Vivamus at elit vel erat volutpat placerat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed pellentesque magna risus, vitae ullamcorper odio auctor at. Suspendisse volutpat, nisl et maximus elementum, massa metus fringilla diam, eget tempus ex turpis in lacus. Nunc laoreet erat erat, sit amet posuere neque aliquet eu. Ut quis bibendum nisi. In ut felis eget urna molestie suscipit.
|
||||
|
||||
\paragraph{Vivamus finibus}
|
||||
Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam at posuere eros. Donec in semper neque. Donec id urna sit amet quam vehicula porta ut ac massa. Maecenas consequat lacinia mi. Etiam elementum vel arcu vitae tincidunt. Praesent sodales tellus sollicitudin, semper arcu nec, placerat felis. In hac habitasse platea dictumst.
|
||||
|
||||
\subparagraph{Class aptent}
|
||||
Vestibulum maximus diam quam, non pulvinar nisl pharetra rutrum. Suspendisse molestie metus mollis, vulputate magna nec, rutrum massa. Vestibulum a lectus eu quam eleifend feugiat. Sed nec aliquam orci. Nulla scelerisque aliquam nibh, sit amet feugiat mauris sollicitudin sit amet. Maecenas dapibus vehicula sem, in rutrum nunc. Ut commodo venenatis hendrerit. Sed iaculis feugiat sagittis.
|
||||
|
||||
\subsection{Aliquam eleifend}
|
||||
Aliquam laoreet id lacus sit amet sagittis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris condimentum, leo at aliquam faucibus, neque elit congue metus, ac mollis enim ante eget elit. Vivamus dapibus malesuada felis, non sollicitudin sapien ultricies quis. Suspendisse magna orci, blandit eu tellus nec, viverra euismod felis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris blandit nisl sed tortor egestas, et dignissim elit ultricies.
|
||||
|
||||
\subsection{Morbi gravida metus id}
|
||||
Nulla nec sapien eu urna dapibus auctor. Nulla at laoreet velit, ut mattis ligula. Aenean accumsan rutrum lacus eu interdum. In ac sagittis magna. Quisque eu convallis enim. Pellentesque egestas in turpis sed mattis. Integer ac elit sit amet massa laoreet tempor a vitae leo. Nulla tincidunt dignissim orci sit amet bibendum. Fusce pretium risus eget tellus congue interdum.
|
||||
|
||||
\section{Cras quis auctor tellus}
|
||||
\lettrine{P}{ellentesque} tincidunt sodales risus, vulputate iaculis odio dictum vitae. Ut ligula tortor, porta a consequat ac, commodo non risus. Nullam sagittis luctus pretium. Integer vel nibh at justo convallis imperdiet sit amet ut lorem. Sed in gravida turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed in massa vitae ligula pellentesque feugiat vitae in risus. Cras iaculis tempus mi, sit amet viverra nulla viverra pellentesque.
|
||||
|
||||
\end{document}
|
259
ku-frontpage/ku-frontpage.sty
Executable file
259
ku-frontpage/ku-frontpage.sty
Executable file
@ -0,0 +1,259 @@
|
||||
% ku-frontpage.sty
|
||||
%------------------------------------------------------------------------------
|
||||
% Copyright (c) 2021 by M.O.Larsen.
|
||||
% Copyright (c) 2021 Malte Leip <malte@leip.net>
|
||||
%
|
||||
% Distributed under the terms of the MIT License:
|
||||
% -----------------------------------------------------------------------------
|
||||
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
% of this software and associated documentation files (the "Software"), to deal
|
||||
% in the Software without restriction, including without limitation the rights
|
||||
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
% copies of the Software, and to permit persons to whom the Software is
|
||||
% furnished to do so, subject to the following conditions:
|
||||
%
|
||||
% The above copyright notice and this permission notice shall be included in
|
||||
% all copies or substantial portions of the Software.
|
||||
%
|
||||
% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
% SOFTWARE.
|
||||
% -----------------------------------------------------------------------------
|
||||
%
|
||||
%
|
||||
% LaTeX style for front pages adhering to University of Copenhagen's design
|
||||
% guide (http://designguide.ku.dk/) for SCIENCE, SUND, and SAMF faculty, and
|
||||
% main KU-style.
|
||||
%
|
||||
% Original author:
|
||||
% Mads Ohm Larsen <mads@ohmbrix.dk>
|
||||
%
|
||||
% Inspired by Christian Aastrups package 'ku-forside' from 2007
|
||||
% (http://www.math.ku.dk/~m00cha/), however translated all call to their
|
||||
% English equivalant and included newer logos.
|
||||
%
|
||||
% Layout inspired by Joshua Hunt's PhD thesis.
|
||||
%------------------------------------------------------------------------------
|
||||
\ProvidesPackage{ku-frontpage}[2021/11/04 v1.1 Frontpages with University of Copenhagen logos]
|
||||
|
||||
%%% Define 'if''s for language.
|
||||
\newif\if@kuenglish \DeclareOption{english}{\@kuenglishtrue}
|
||||
\newif\if@kudanish \DeclareOption{danish}{\@kudanishtrue}
|
||||
|
||||
%%% Define 'if''s for faculties.
|
||||
\newif\if@science \DeclareOption{science}{\@sciencetrue}
|
||||
\newif\if@sund \DeclareOption{sund}{\@sundtrue}
|
||||
\newif\if@samf \DeclareOption{samf}{\@samftrue}
|
||||
\newif\if@ku \DeclareOption{ku}{\@kutrue}
|
||||
|
||||
%%% Define 'if' for submission statement as required by PhD regulations.
|
||||
\newif\if@submissionstatement\@submissionstatementfalse
|
||||
\DeclareOption{submissionstatement}{\@submissionstatementtrue}
|
||||
|
||||
%%% Define 'if''s for other things.
|
||||
\newif\if@hyperref \DeclareOption{hyperref}{\@hyperreftrue}
|
||||
\newif\if@dropcaps \DeclareOption{dropcaps}{\@dropcapstrue}
|
||||
|
||||
%%% Warning about unknown options
|
||||
\DeclareOption*{
|
||||
\ClassWarning{ku-frontpage}{Unknown option '\CurrentOption'}
|
||||
}
|
||||
|
||||
%%% Define standard values.
|
||||
\ExecuteOptions{english}
|
||||
\ExecuteOptions{science}
|
||||
|
||||
%%% No more options.
|
||||
\ProcessOptions\relax
|
||||
|
||||
%%% Parse options.
|
||||
\if@kuenglish \def\KULANG{english} \fi
|
||||
\if@kudanish \def\KULANG{danish} \fi
|
||||
|
||||
\if@science \def\KUFACULTY{science} \fi
|
||||
\if@sund \def\KUFACULTY{sund} \fi
|
||||
\if@samf \def\KUFACULTY{samf} \fi
|
||||
\if@ku \def\KUFACULTY{ku} \fi
|
||||
|
||||
%%% Some packages are required for this package.
|
||||
% Absolutely positioned graphics - LPPL 1.2
|
||||
\RequirePackage{eso-pic}
|
||||
% Absolutely positioned text - LPPL 1.3
|
||||
\RequirePackage[absolute]{textpos}
|
||||
% Graphics stuff, defining colors, etc. - LPPL 1.3c
|
||||
\RequirePackage{graphicx}
|
||||
% For \ifthenelse - LPPL 1.3c
|
||||
\RequirePackage{ifthen}
|
||||
% For patching commands - LPPL 1.3
|
||||
\RequirePackage{xpatch}
|
||||
% For \ifdefstring - LPPL 1.3c
|
||||
\RequirePackage{etoolbox}
|
||||
|
||||
%%% Define colors
|
||||
\definecolor{KU}{HTML}{901A1E}
|
||||
\definecolor{KUscience}{HTML}{46743C}
|
||||
\definecolor{KUsund}{HTML}{2A216A}
|
||||
|
||||
%%% Since 2020 the red KU-logo and color should be used rather than
|
||||
%%% faculty logos and colors.
|
||||
\def\KUCOLOR{KU}
|
||||
|
||||
%%% Define the page to have 12 horizontal modules and 24 vertical modules.
|
||||
\TPGrid{12}{24}
|
||||
|
||||
%%% Define custom methods for frontpage.
|
||||
\def\KU@ASSIGNMENT{Use \texttt{$\backslash$assignment$\lbrace \ldots \rbrace$}}
|
||||
\def\KU@AUTHOR{Use \texttt{$\backslash$author$\lbrace \ldots \rbrace$}}
|
||||
\def\KU@TITLE{Use \texttt{$\backslash$title$\lbrace \ldots \rbrace$}}
|
||||
\def\KU@SUBTITLE{Use \texttt{$\backslash$subtitle$\lbrace \ldots \rbrace$}}
|
||||
\def\KU@ADVISOR{Use \texttt{$\backslash$advisor$\lbrace \ldots \rbrace$}}
|
||||
\def\KU@DATE{Use \texttt{$\backslash$date$\lbrace \ldots \rbrace$}}
|
||||
\def\KU@FRONTPAGEIMAGE{}
|
||||
|
||||
%%% Construct the correct submission statement.
|
||||
\if@submissionstatement
|
||||
\def\KU@SUBMISSIONSTATEMENT{
|
||||
Use \texttt{$\backslash$submissionstatement$\lbrace \ldots \rbrace$}
|
||||
}
|
||||
\ifdefstring{\KUFACULTY}{science}
|
||||
{
|
||||
% See https://www.science.ku.dk/phd/rules/
|
||||
% Section 5.1 of the rules, under "Formal requirements to the PhD thesis"
|
||||
\def\KU@SUBMISSIONSTATEMENT{%
|
||||
This thesis has been submitted to
|
||||
the PhD School of The Faculty of Science, University of Copenhagen%
|
||||
}
|
||||
}{}
|
||||
\ifdefstring{\KUFACULTY}{sund}
|
||||
{
|
||||
% See https://healthsciences.ku.dk/phd/guidelines/
|
||||
% Section 5.1 of the rules, under "Specific requirements"
|
||||
\def\KU@SUBMISSIONSTATEMENT{%
|
||||
This thesis has been submitted to the Graduate School
|
||||
of the Faculty of Health and Medical Sciences,\\ University of Copenhagen%
|
||||
}
|
||||
}{}
|
||||
\else
|
||||
\def\KU@SUBMISSIONSTATEMENT{}
|
||||
\fi
|
||||
|
||||
%%% Make sure the commands we want to patch exist.
|
||||
%%% For example, some classes (like scrbook) define \subtitle, others do not.
|
||||
\providecommand{\author}[1]{}
|
||||
\providecommand{\title}[1]{}
|
||||
\providecommand{\date}[1]{}
|
||||
\providecommand{\assignment}[1]{}
|
||||
\providecommand{\subtitle}[1]{}
|
||||
\providecommand{\advisor}[1]{}
|
||||
\providecommand{\frontpageimage}[1]{}
|
||||
\providecommand{\submissionstatement}[1]{}
|
||||
|
||||
%%% Patch commands
|
||||
\xpretocmd{\author}{\def\KU@AUTHOR{#1}}{}{\PackageWarning{ku-frontpage}{Tried to patch the 'author' command, but failed. Instead you will have to use the 'frontpageauthor' command to set the author for the frontpage, and the 'author' command to set the author for the rest of the document. See the readme for more information.}{} \newcommand{\frontpageauthor}[1]{\def\KU@AUTHOR{#1}} \def\KU@AUTHOR{Use \texttt{$\backslash$frontpageauthor$\lbrace \ldots \rbrace$}} }
|
||||
\xpretocmd{\title}{\def\KU@TITLE{#1}}{}{\PackageWarning{ku-frontpage}{Tried to patch the 'title' command, but failed. Instead you will have to use the 'frontpagetitle' command to set the title for the frontpage, and the 'title' command to set the title for the rest of the document. See the readme for more information.}{} \newcommand{\frontpagetitle}[1]{\def\KU@TITLE{#1}} \def\KU@TITLE{Use \texttt{$\backslash$frontpagetitle$\lbrace \ldots \rbrace$}} }
|
||||
\xpretocmd{\date}{\def\KU@DATE{#1}}{}{\PackageWarning{ku-frontpage}{Tried to patch the 'date' command, but failed. Instead you will have to use the 'frontpagedate' command to set the date for the frontpage, and the 'date' command to set the date for the rest of the document. See the readme for more information.}{} \newcommand{\frontpagedate}[1]{\def\KU@DATE{#1}} \def\KU@DATE{Use \texttt{$\backslash$frontpagedate$\lbrace \ldots \rbrace$}} }
|
||||
\xpretocmd{\subtitle}{\def\KU@SUBTITLE{#1}}{}{\PackageWarning{ku-frontpage}{Tried to patch the 'subtitle' command, but failed. Instead you will have to use the 'frontpagesubtitle' command to set the title for the frontpage, and the 'subtitle' command to set the subtitle for the rest of the document. See the readme for more information.}{} \newcommand{\frontpagesubtitle}[1]{\def\KU@SUBTITLE{#1}} \def\KU@SUBTITLE{Use \texttt{$\backslash$frontpagesubtitle$\lbrace \ldots \rbrace$}} }
|
||||
|
||||
\xpretocmd{\assignment}{\def\KU@ASSIGNMENT{#1}}{}{\PackageError{ku-frontpage}{Tried to patch assignment command, but failed.}{}}
|
||||
\xpretocmd{\advisor}{\def\KU@ADVISOR{#1}}{}{\PackageError{ku-frontpage}{Tried to patch advisor command, but failed.}{}}
|
||||
\xpretocmd{\frontpageimage}{\def\KU@FRONTPAGEIMAGE{#1}}{}{\PackageError{ku-frontpage}{Tried to patch frontpageimage command, but failed.}{}}
|
||||
\xpretocmd{\submissionstatement}{\def\KU@SUBMISSIONSTATEMENT{#1}}{}{\PackageError{ku-frontpage}{Tried to patch submissionstatement command, but failed.}{}}
|
||||
|
||||
%%% Include hyperref for PDF attributes.
|
||||
\if@hyperref
|
||||
\RequirePackage{hyperref} % LPPL 1.3
|
||||
\newcommand{\kupdfsetup}[3]{
|
||||
\hypersetup{
|
||||
pdftitle={#1},
|
||||
pdfsubject={#2},
|
||||
pdfauthor={#3},
|
||||
colorlinks=true,
|
||||
citecolor={\KUCOLOR},
|
||||
linkcolor={\KUCOLOR},
|
||||
urlcolor={\KUCOLOR},
|
||||
}
|
||||
}
|
||||
\fi
|
||||
|
||||
%%% Define drop caps
|
||||
\if@dropcaps
|
||||
\RequirePackage{lettrine} % LPPL 1.3
|
||||
|
||||
\renewcommand\LettrineFontHook{\color{\KUCOLOR}}
|
||||
\renewcommand{\DefaultOptionsFile}{NoFileOnPurposeHack.cfg}
|
||||
|
||||
\LettrineOptionsFor{A}{loversize= 0.05,lhang= 0.10,findent= 0.000\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{B}{loversize= 0.10,lhang= 0.30,findent= 0.025\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{C}{loversize= 0.00,lhang= 0.15,findent= 0.175\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{D}{loversize= 0.10,lhang= 0.30,findent=-0.025\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{E}{loversize= 0.10,lhang= 0.10,findent= 0.100\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{F}{loversize= 0.10,lhang= 0.30,findent= 0.100\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{G}{loversize=-0.08,lhang= 0.10,findent= 0.000\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{H}{loversize=-0.01,lhang= 0.00,findent= 0.040\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{I}{loversize= 0.10,lhang= 0.00,findent= 0.050\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{J}{loversize=-0.08,lhang= 0.00,findent=-0.025\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{K}{loversize=-0.05,lhang= 0.00,findent=-0.050\LettrineWidth,nindent= 0.60\LettrineWidth}
|
||||
\LettrineOptionsFor{L}{loversize= 0.00,lhang= 0.00,findent= 0.100\LettrineWidth,nindent= 0.40\LettrineWidth}
|
||||
\LettrineOptionsFor{M}{loversize= 0.10,lhang= 0.40,findent= 0.040\LettrineWidth,nindent= 0.10\LettrineWidth}
|
||||
\LettrineOptionsFor{N}{loversize= 0.00,lhang= 0.20,findent=-0.010\LettrineWidth,nindent= 0.40\LettrineWidth}
|
||||
\LettrineOptionsFor{O}{loversize= 0.10,lhang= 0.20,findent=-0.010\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{P}{loversize= 0.10,lhang= 0.30,findent= 0.050\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{Q}{loversize= 0.00,lhang= 0.20,findent= 0.050\LettrineWidth,nindent= 0.70\LettrineWidth}
|
||||
\LettrineOptionsFor{R}{loversize=-0.05,lhang= 0.25,nindent= 0.500\LettrineWidth,nindent= 0.50\LettrineWidth}
|
||||
\LettrineOptionsFor{S}{loversize= 0.10,lhang= 0.00,findent= 0.000\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{T}{loversize= 0.10,lhang= 0.35,findent= 0.100\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{U}{loversize= 0.10,lhang= 0.20,findent= 0.050\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{V}{loversize= 0.10,lhang= 0.40,findent= 0.050\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{W}{loversize= 0.10,lhang= 0.30,findent= 0.040\LettrineWidth,nindent= 0.50em}
|
||||
\LettrineOptionsFor{X}{loversize= 0.10,lhang= 0.40,findent= 0.040\LettrineWidth,nindent= 0.20\LettrineWidth}
|
||||
\LettrineOptionsFor{Y}{loversize= 0.10,lhang= 0.20,findent= 0.100\LettrineWidth,nindent= 0.20\LettrineWidth}
|
||||
\LettrineOptionsFor{Z}{loversize=-0.05,lhang= 0.00,findent= 0.050\LettrineWidth,nindent= 0.55\LettrineWidth}
|
||||
\fi
|
||||
|
||||
%%% Construct the titlepage
|
||||
\def\KUbold{\fontseries{bx}\selectfont}
|
||||
\def\KUsemibold{\fontseries{sb}\selectfont}
|
||||
|
||||
\def\maketitle{
|
||||
\thispagestyle{empty}
|
||||
\AddToShipoutPicture*{\put( 0, -35){\includegraphics*{ku-frontpage/logos/ku-logo}}}
|
||||
\AddToShipoutPicture*{\put(-8, 8){\includegraphics*{ku-frontpage/logos/\KUFACULTY-\KULANG}}}
|
||||
|
||||
\ifthenelse{\equal{\KU@FRONTPAGEIMAGE}{}}{}{
|
||||
\AddToShipoutPicture*{
|
||||
\AtPageUpperLeft{\raisebox{-185mm}{\hspace{55pt}\includegraphics*[width=\textwidth, height=100mm, keepaspectratio]{\KU@FRONTPAGEIMAGE}}}
|
||||
}
|
||||
}
|
||||
|
||||
\begin{textblock}{10}(1.14, 15.9)
|
||||
\noindent\fontsize{16pt}{18pt}\KUsemibold\KU@ASSIGNMENT
|
||||
\end{textblock}
|
||||
|
||||
\begin{textblock}{10}(1.14, 16.9)
|
||||
\noindent\fontsize{28pt}{30pt}\KUsemibold\KU@TITLE
|
||||
\par\vspace{2mm}
|
||||
\noindent\fontsize{14pt}{16pt}\KUsemibold\KU@SUBTITLE
|
||||
\par\vspace{4mm}
|
||||
\noindent\fontsize{16pt}{18pt}\KUsemibold\KU@AUTHOR
|
||||
\end{textblock}
|
||||
|
||||
\begin{textblock}{10}(1.14, 20.5)
|
||||
\begingroup
|
||||
\fontsize{11pt}{12pt}\KUsemibold
|
||||
\noindent\KU@ADVISOR
|
||||
\par\vspace{4mm}
|
||||
\noindent\KU@DATE
|
||||
\endgroup
|
||||
\par\vspace{4mm}
|
||||
\fontsize{11pt}{12pt}
|
||||
\noindent\KU@SUBMISSIONSTATEMENT
|
||||
\end{textblock}
|
||||
|
||||
\phantom{...}
|
||||
\newpage
|
||||
\noindent
|
||||
}
|
347
ku-frontpage/logos/ku-danish.pdf
Executable file
347
ku-frontpage/logos/ku-danish.pdf
Executable file
@ -0,0 +1,347 @@
|
||||
%PDF-1.5
|
||||
%<25><><EFBFBD><EFBFBD>
|
||||
2 0 obj
|
||||
<</Metadata 21 0 R/Names 20 0 R/OCProperties<</D<</ON[22 0 R 42 0 R 63 0 R 82 0 R]/Order 83 0 R/RBGroups[]>>/OCGs[22 0 R 42 0 R 63 0 R 82 0 R]>>/Outlines 17 0 R/Pages 3 0 R/Type/Catalog>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<</Length 9643/Subtype/XML/Type/Metadata>>stream
|
||||
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
|
||||
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c137 79.159768, 2016/08/11-13:24:42 ">
|
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
||||
<rdf:Description rdf:about=""
|
||||
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
|
||||
xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
|
||||
xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
|
||||
xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
|
||||
xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
|
||||
xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">
|
||||
<xmp:CreateDate>2007-07-09T23:31:03+01:00</xmp:CreateDate>
|
||||
<xmp:CreatorTool> TeX output 2007.07.09:2330</xmp:CreatorTool>
|
||||
<xmp:ModifyDate>2016-12-08T12:24:33+01:00</xmp:ModifyDate>
|
||||
<xmp:MetadataDate>2016-12-08T12:24:33+01:00</xmp:MetadataDate>
|
||||
<xmp:Thumbnails>
|
||||
<rdf:Alt>
|
||||
<rdf:li rdf:parseType="Resource">
|
||||
<xmpGImg:width>256</xmpGImg:width>
|
||||
<xmpGImg:height>12</xmpGImg:height>
|
||||
<xmpGImg:format>JPEG</xmpGImg:format>
|
||||
<xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgADAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8AOPLfmO6vPOeveRNS1vV9
NtL3zPewWeuS316xaKz9B4tIsrgzfuZW5sXY78CFHJmBRV6h+b+sat5Z8gxRaFcSWtxd3llpS6lI
7zyW0V3OsTzmSYyMzKpoGYncg4q8+15Bo3mPynr2i3N3deXLXzHaaGIr+6ur79JXNz60NxegTyOv
K2disTooqwf9kJirJPzXuLy1/M3yTDC2s3Vlqdtq41DSNIv7i2af6rDC0LKiXNqgZDKxqGBPviqa
/kVq1/rv5ctFq+oTXt7b3d7YXQmklF/bBJWC211N+7kNxEjCrrTtQ98VYP8AlZd6vqflPyhNep5l
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</xmpGImg:image>
|
||||
</rdf:li>
|
||||
</rdf:Alt>
|
||||
</xmp:Thumbnails>
|
||||
<pdf:Producer>dvipdfm 0.13.2c, Copyright © 1998, by Mark A. Wicks</pdf:Producer>
|
||||
<xmpTPg:NPages>1</xmpTPg:NPages>
|
||||
<xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
|
||||
<xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
|
||||
<xmpTPg:MaxPageSize rdf:parseType="Resource">
|
||||
<stDim:w>209.902778</stDim:w>
|
||||
<stDim:h>297.038889</stDim:h>
|
||||
<stDim:unit>Millimeters</stDim:unit>
|
||||
</xmpTPg:MaxPageSize>
|
||||
<xmpTPg:PlateNames>
|
||||
<rdf:Seq>
|
||||
<rdf:li>Cyan</rdf:li>
|
||||
<rdf:li>Magenta</rdf:li>
|
||||
<rdf:li>Yellow</rdf:li>
|
||||
<rdf:li>Black</rdf:li>
|
||||
</rdf:Seq>
|
||||
</xmpTPg:PlateNames>
|
||||
<xmpTPg:SwatchGroups>
|
||||
<rdf:Seq>
|
||||
<rdf:li rdf:parseType="Resource">
|
||||
<xmpG:groupName>Default Swatch Group</xmpG:groupName>
|
||||
<xmpG:groupType>0</xmpG:groupType>
|
||||
</rdf:li>
|
||||
</rdf:Seq>
|
||||
</xmpTPg:SwatchGroups>
|
||||
<dc:format>application/pdf</dc:format>
|
||||
<xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
|
||||
<xmpMM:DocumentID>uuid:5548ed28-50b5-9545-8487-04a44a32bc61</xmpMM:DocumentID>
|
||||
<xmpMM:InstanceID>uuid:0473fb92-379b-0b45-923d-ba1f36742ea0</xmpMM:InstanceID>
|
||||
</rdf:Description>
|
||||
</rdf:RDF>
|
||||
</x:xmpmeta>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?xpacket end="w"?>
|
||||
endstream
|
||||
endobj
|
||||
20 0 obj
|
||||
<</Dests 18 0 R>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<</Count 1/Kids[5 0 R]/MediaBox[0 0 595 842]/Type/Pages>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<</ArtBox[50.3911 795.524 243.865 804.516]/BleedBox[0.0 0.0 595.0 842.0]/Contents 84 0 R/LastModified(D:20161208122433+01'00')/Parent 3 0 R/PieceInfo<</Illustrator 85 0 R>>/Resources<</ExtGState<</GS0 86 0 R>>/Properties<</MC0 82 0 R>>>>/Thumb 87 0 R/TrimBox[0.0 0.0 595.0 842.0]/Type/Page>>
|
||||
endobj
|
||||
84 0 obj
|
||||
<</Filter/FlateDecode/Length 5771>>stream
|
||||
H<EFBFBD><EFBFBD>WI<EFBFBD>c7<12><><14><>E<7F>Dr<44>ՀWF<57>ы><3E><><EFBFBD><EFBFBD>ʀ<EFBFBD><CA80>:#<23><>I<EFBFBD><49><04><>!<21><><EFBFBD>/<2F><>z<EFBFBD><7A><EFBFBD><EFBFBD>v<EFBFBD><76>?<3F><>o<EFBFBD><6F><EFBFBD>}<7D><>}<7D><>
|
||||
<EFBFBD>?~<7E><><EFBFBD><EFBFBD>[<5B><><EFBFBD><1F>ܾ<EFBFBD><DCBE><EFBFBD>v<EFBFBD><76><EFBFBD><7F><EFBFBD><EFBFBD>?<3F><><EFBFBD>CW<43><57><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0[<5B>v4<76><34>2<><32>w<EFBFBD>'<>ܛ<EFBFBD><DC9B>i
|
||||
<EFBFBD>ﵰ)<29><>u?z<1E><>D~<7E>><><EE8F8D>D<EFBFBD>֑k8?;ֱ<>gbE<62><45> <20><>k<EFBFBD><6B><EFBFBD><EFBFBD><EFBFBD><01>s<EFBFBD>}P<><50>M<EFBFBD><4D>R|D<><44>q<EFBFBD>ct<63><74>u<EFBFBD><75><>9<>M><3E>y<EFBFBD>}
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD>|<7C>Sp<53>M <09>u<>Zw;$<24><>C<EFBFBD>r<EFBFBD><72><EFBFBD>3<>Dϟ<44>ov8<76><1C><>.<2E>><3E><><EFBFBD>k<EFBFBD><6B>M<EFBFBD>"<22>b<EFBFBD>c<EFBFBD><63>X<EFBFBD><58>!<21>զ<EFBFBD><D5A6>&<26>&S<>
|
||||
<EFBFBD><EFBFBD>W<EFBFBD>LR<EFBFBD>4<EFBFBD>8<EFBFBD><EFBFBD>O<EFBFBD>4K><3E>87<07>6<EFBFBD>]h<11><><EFBFBD>A<EFBFBD>8ZI֠<49><08>@<40><><EFBFBD><1A>-uyO{<7B>K<>y/<2F>]<5D>xi<78>W<EFBFBD><57><EFBFBD>X<EFBFBD><1E><><EFBFBD><17>W<0C><> %8<><0B>89o<39>e B<><01><>ܑ<EFBFBD>?Rˌ<52><CB8C><EFBFBD>q<EFBFBD><71>K<1B>2<EFBFBD><32>(D<><44>yh;*<2A>3<EFBFBD><33>]l<><6C>X<EFBFBD>eA<65><13><><EFBFBD>kBs:<3A>A<EFBFBD>c<EFBFBD><63>i@<40><><EFBFBD><EFBFBD>x<><78><EFBFBD><EFBFBD><1C><>1G<31>hWF
|
||||
bH<EFBFBD>'B><3E><17><0C>><3E>E*<2A><><EFBFBD>쐾<EFBFBD><EC90BE>2V<32>?<3F><><14>JN<4A><03><>><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><1F>:<1B><>s<EFBFBD><73>&<26><>C<EFBFBD> <20><14>dQ<>^MO<4D>~<7E>G<EFBFBD><05><><EFBFBD><Ȝ<><C89C><H<><48>h<19><><06><><EFBFBD><EFBFBD>k<EFBFBD><6B>H<EFBFBD><48><EFBFBD>B<EFBFBD>W<EFBFBD>\c <20><><EFBFBD>'d<><0F>tK×<15>!<21>B<EFBFBD><42>F0<46>78<37>
|
||||
<12>e<EFBFBD><65> |