+++ /dev/null
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
-<title>mutest - A simple micro unit testing framework for C</title>
-<meta name="author" content="Leandro Lucarella" />
-<meta name="date" content="2013-02-17" />
-<meta name="copyright" content="Leandro Lucarella (2008), released under the BOLA license" />
-<style type="text/css">
-
-/*
-:Author: David Goodger (goodger@python.org)
-:Id: $Id: html4css1.css 7514 2012-09-14 14:27:12Z milde $
-:Copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
-customize this style sheet.
-*/
-
-/* used to remove borders from tables and images */
-.borderless, table.borderless td, table.borderless th {
- border: 0 }
-
-table.borderless td, table.borderless th {
- /* Override padding for "table.docutils td" with "! important".
- The right padding separates the table cells. */
- padding: 0 0.5em 0 0 ! important }
-
-.first {
- /* Override more specific margin styles with "! important". */
- margin-top: 0 ! important }
-
-.last, .with-subtitle {
- margin-bottom: 0 ! important }
-
-.hidden {
- display: none }
-
-a.toc-backref {
- text-decoration: none ;
- color: black }
-
-blockquote.epigraph {
- margin: 2em 5em ; }
-
-dl.docutils dd {
- margin-bottom: 0.5em }
-
-object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
- overflow: hidden;
-}
-
-/* Uncomment (and remove this text!) to get bold-faced definition list terms
-dl.docutils dt {
- font-weight: bold }
-*/
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title, .code .error {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-/* Uncomment (and remove this text!) to get reduced vertical space in
- compound paragraphs.
-div.compound .compound-first, div.compound .compound-middle {
- margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
- margin-top: 0.5em }
-*/
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.figure {
- margin-left: 2em ;
- margin-right: 2em }
-
-div.footer, div.header {
- clear: both;
- font-size: smaller }
-
-div.line-block {
- display: block ;
- margin-top: 1em ;
- margin-bottom: 1em }
-
-div.line-block div.line-block {
- margin-top: 0 ;
- margin-bottom: 0 ;
- margin-left: 1.5em }
-
-div.sidebar {
- margin: 0 0 0.5em 1em ;
- border: medium outset ;
- padding: 1em ;
- background-color: #ffffee ;
- width: 40% ;
- float: right ;
- clear: right }
-
-div.sidebar p.rubric {
- font-family: sans-serif ;
- font-size: medium }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
-h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
- margin-top: 0.4em }
-
-h1.title {
- text-align: center }
-
-h2.subtitle {
- text-align: center }
-
-hr.docutils {
- width: 75% }
-
-img.align-left, .figure.align-left, object.align-left {
- clear: left ;
- float: left ;
- margin-right: 1em }
-
-img.align-right, .figure.align-right, object.align-right {
- clear: right ;
- float: right ;
- margin-left: 1em }
-
-img.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.align-left {
- text-align: left }
-
-.align-center {
- clear: both ;
- text-align: center }
-
-.align-right {
- text-align: right }
-
-/* reset inner alignment in figures */
-div.align-right {
- text-align: inherit }
-
-/* div.align-center * { */
-/* text-align: left } */
-
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-p.attribution {
- text-align: right ;
- margin-left: 50% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.rubric {
- font-weight: bold ;
- font-size: larger ;
- color: maroon ;
- text-align: center }
-
-p.sidebar-title {
- font-family: sans-serif ;
- font-weight: bold ;
- font-size: larger }
-
-p.sidebar-subtitle {
- font-family: sans-serif ;
- font-weight: bold }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font: inherit }
-
-pre.literal-block, pre.doctest-block, pre.math, pre.code {
- margin-left: 2em ;
- margin-right: 2em }
-
-pre.code .ln { color: grey; } /* line numbers */
-pre.code, code { background-color: #eeeeee }
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-span.section-subtitle {
- /* font-size relative to parent (h1..h6 element) */
- font-size: 80% }
-
-table.citation {
- border-left: solid 1px gray;
- margin-left: 1px }
-
-table.docinfo {
- margin: 2em 4em }
-
-table.docutils {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.footnote {
- border-left: solid 1px black;
- margin-left: 1px }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-table.docutils th.field-name, table.docinfo th.docinfo-name {
- font-weight: bold ;
- text-align: left ;
- white-space: nowrap ;
- padding-left: 0 }
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
- font-size: 100% }
-
-ul.auto-toc {
- list-style-type: none }
-
-</style>
-</head>
-<body>
-<div class="document" id="mutest-a-simple-micro-unit-testing-framework-for-c">
-<h1 class="title"><em>mutest</em> - A simple micro unit testing framework for C</h1>
-<table class="docinfo" frame="void" rules="none">
-<col class="docinfo-name" />
-<col class="docinfo-content" />
-<tbody valign="top">
-<tr><th class="docinfo-name">Author:</th>
-<td>Leandro Lucarella</td></tr>
-<tr><th class="docinfo-name">Contact:</th>
-<td><a class="first last reference external" href="mailto:llucax@gmail.com">llucax@gmail.com</a></td></tr>
-<tr><th class="docinfo-name">Version:</th>
-<td>1.0</td></tr>
-<tr><th class="docinfo-name">Date:</th>
-<td>2013-02-17</td></tr>
-<tr><th class="docinfo-name">Copyright:</th>
-<td>Leandro Lucarella (2008), released under the <a class="reference external" href="http://blitiri.com.ar/p/bola/">BOLA</a> license</td></tr>
-</tbody>
-</table>
-<div class="abstract topic">
-<p class="topic-title first">Abstract</p>
-<p><em>mutest</em> is a micro <a class="reference external" href="http://en.wikipedia.org/wiki/Unit_testing">unit testing</a> framework for C (with some
-<a class="reference internal" href="#c-support">C++ support</a>). It's mostly an idea (it even comes with
-2 <a class="reference internal" href="#implementations">implementations</a> of the idea!) with the goal of being easy to use
-(just write your <a class="reference internal" href="#test-case">test cases</a> grouped in <a class="reference internal" href="#test-suite">test suites</a> and you're
-set) and so small and simple that you don't mind to copy the files to
-your project and just use it (i.e., no dependencies).</p>
-<p>The idea is simple: a source file is a <a class="reference internal" href="#test-suite">test suite</a>, a function is
-a <a class="reference internal" href="#test-case">test case</a> (special functions can be used for <a class="reference internal" href="#test-suite">test suite</a>
-<a class="reference internal" href="#initialization">initialization</a> and <a class="reference internal" href="#termination">termination</a>), which can can have several <a class="reference internal" href="#checks">checks</a>.
-<a class="reference internal" href="#checks">Checks</a> comes in 2 flavors, one that only prints an error, and one that
-terminates the current <a class="reference internal" href="#test-case">test case</a> too. A (normally) automated <a class="reference internal" href="#test-program">test
-program</a> run all the <a class="reference internal" href="#test-suite">test suites</a> and print some stats. It fails
-(returns non-zero) if any <a class="reference internal" href="#test-suite">test suite</a> fails.</p>
-<p><div style="width: 220px; height: 270px; float: right; margin-left: 1em; margin-top: 1em">
-<iframe width="220" height="270" style="border: none; outline: none" src="http://tools.flattr.net/widgets/thing.html?thing=1141711"></iframe>
-</div></p>
-</div>
-<div class="contents topic" id="contents">
-<p class="topic-title first">Contents</p>
-<ul class="auto-toc simple">
-<li><a class="reference internal" href="#installation" id="id9">1. Installation</a></li>
-<li><a class="reference internal" href="#quick-sample" id="id10">2. Quick Sample</a><ul class="auto-toc">
-<li><a class="reference internal" href="#factorial-c" id="id11">2.1. factorial.c</a></li>
-<li><a class="reference internal" href="#factorial-test-c" id="id12">2.2. factorial_test.c</a></li>
-<li><a class="reference internal" href="#exception-test-cpp" id="id13">2.3. exception_test.cpp</a></li>
-</ul>
-</li>
-<li><a class="reference internal" href="#concepts" id="id14">3. Concepts</a><ul class="auto-toc">
-<li><a class="reference internal" href="#test-program" id="id15">3.1. Test Program</a></li>
-<li><a class="reference internal" href="#test-suite" id="id16">3.2. Test Suite</a></li>
-<li><a class="reference internal" href="#test-case" id="id17">3.3. Test Case</a></li>
-<li><a class="reference internal" href="#checks" id="id18">3.4. Checks</a></li>
-<li><a class="reference internal" href="#initialization" id="id19">3.5. Initialization</a></li>
-<li><a class="reference internal" href="#termination" id="id20">3.6. Termination</a></li>
-</ul>
-</li>
-<li><a class="reference internal" href="#c-support" id="id21">4. C++ Support</a></li>
-<li><a class="reference internal" href="#implementations" id="id22">5. Implementations</a><ul class="auto-toc">
-<li><a class="reference internal" href="#static-implementations" id="id23">5.1. Static Implementations</a><ul class="auto-toc">
-<li><a class="reference internal" href="#c-implementation" id="id24">5.1.1. C implementation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#mkmutest-invocation" id="id25">5.1.1.1. <tt class="docutils literal">mkmutest</tt> Invocation</a></li>
-<li><a class="reference internal" href="#test-program-invocation" id="id26">5.1.1.2. Test Program Invocation</a></li>
-<li><a class="reference internal" href="#dependencies" id="id27">5.1.1.3. Dependencies</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li><a class="reference internal" href="#dynamic-implementations" id="id28">5.2. Dynamic Implementations</a><ul class="auto-toc">
-<li><a class="reference internal" href="#python-implementation" id="id29">5.2.1. Python implementation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#mutest-invocation" id="id30">5.2.1.1. <tt class="docutils literal">mutest</tt> Invocation</a></li>
-<li><a class="reference internal" href="#id8" id="id31">5.2.1.2. Dependencies</a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li><a class="reference internal" href="#reference" id="id32">6. Reference</a><ul class="auto-toc">
-<li><a class="reference internal" href="#mu-check" id="id33">6.1. <tt class="docutils literal">mu_check()</tt></a></li>
-<li><a class="reference internal" href="#mu-ensure" id="id34">6.2. <tt class="docutils literal">mu_ensure()</tt></a></li>
-<li><a class="reference internal" href="#mu-echeck" id="id35">6.3. <tt class="docutils literal">mu_echeck()</tt></a></li>
-<li><a class="reference internal" href="#mu-eensure" id="id36">6.4. <tt class="docutils literal">mu_eensure()</tt></a></li>
-</ul>
-</li>
-<li><a class="reference internal" href="#about" id="id37">7. About</a></li>
-</ul>
-</div>
-<div class="section" id="installation">
-<h1><a class="toc-backref" href="#id9">1. Installation</a></h1>
-<p>Download the <a class="reference external" href="http://proj.llucax.com.ar/home/mutest/releases/mutest.tar.gz">latest distribution tarball</a> and uncompress it.</p>
-<p>You can also download any release from the <a class="reference external" href="http://proj.llucax.com.ar/home/mutest/releases/">releases directory</a> or get it
-using <a class="reference external" href="http://git.or.cz/">Git</a> directly from the <a class="reference external" href="http://git.llucax.com.ar/w/software/mutest.git">Git repository</a>.</p>
-<p>You can get <a class="reference external" href="http://proj.llucax.com.ar/home/mutest/manual.html">this manual</a> too, or a <a class="reference external" href="http://proj.llucax.com.ar/home/mutest/manual.pdf">PDF version</a> of it.</p>
-<p>To actually install <em>mutest</em> run:</p>
-<pre class="literal-block">
-$ make install
-</pre>
-<p>Default installation path is <tt class="docutils literal">/usr/local</tt> (because of that, you'll probably
-need superuser privileges to install to the default location). You can override
-that by passing the <tt class="docutils literal">prefix</tt> make variable, for example:</p>
-<pre class="literal-block">
-$ make prefix=/opt/mutest install
-</pre>
-<p>If you want to install just the docs, you can do:</p>
-<pre class="literal-block">
-$ make install-doc
-</pre>
-<p>Or even <tt class="docutils literal"><span class="pre">install-readme</span></tt>, <tt class="docutils literal"><span class="pre">install-html</span></tt> or <tt class="docutils literal"><span class="pre">install-pdf</span></tt> if you are too
-picky.</p>
-<p>If you want to install just one particular <a class="reference internal" href="#implementations">implementation</a>, to can use the
-<tt class="docutils literal"><span class="pre">install-c</span></tt> and <tt class="docutils literal"><span class="pre">install-py</span></tt> targets.</p>
-</div>
-<div class="section" id="quick-sample">
-<h1><a class="toc-backref" href="#id10">2. Quick Sample</a></h1>
-<p>You can find some samples in the <a class="reference external" href="http://git.llucax.com.ar/w/software/mutest.git?a=tree;f=sample;h=d8ad4dd9c3428fef5963107c82ab6a5e34ec6e00;hb=HEAD">sample</a> directory.</p>
-<p>This is an example taken from there. A simple <em>module</em> called <a class="reference internal" href="#factorial-c">factorial.c</a>
-with its corresponding <a class="reference internal" href="#test-suite">test suite</a> (<a class="reference internal" href="#factorial-test-c">factorial_test.c</a>).</p>
-<p>You can see some <a class="reference internal" href="#c-support">C++ support</a> in the <a class="reference internal" href="#exception-test-cpp">exception_test.cpp</a> <a class="reference internal" href="#test-suite">test suite</a>.</p>
-<div class="section" id="factorial-c">
-<h2><a class="toc-backref" href="#id11">2.1. factorial.c</a></h2>
-<pre class="code c literal-block">
-<span class="comment multiline">/*
- * This file is part of mutest, a simple micro unit testing framework for C.
- *
- * mutest was written by Leandro Lucarella <llucax@gmail.com> and is released
- * under the BOLA license, please see the LICENSE file or visit:
- * http://blitiri.com.ar/p/bola/
- *
- * This is an example module that calculates a factorial.
- *
- * Please, read the README file for more details.
- */</span>
-
-<span class="keyword type">unsigned</span> <span class="name function">factorial</span><span class="punctuation">(</span><span class="keyword type">unsigned</span> <span class="name">x</span><span class="punctuation">)</span> <span class="punctuation">{</span>
- <span class="keyword">if</span> <span class="punctuation">(</span><span class="name">x</span> <span class="operator"><=</span> <span class="literal number integer">1</span><span class="punctuation">)</span>
- <span class="keyword">return</span> <span class="literal number integer">1</span><span class="punctuation">;</span>
- <span class="keyword">return</span> <span class="name">x</span> <span class="operator">*</span> <span class="name">factorial</span><span class="punctuation">(</span><span class="name">x</span><span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">);</span>
-<span class="punctuation">}</span>
-</pre>
-</div>
-<div class="section" id="factorial-test-c">
-<h2><a class="toc-backref" href="#id12">2.2. factorial_test.c</a></h2>
-<pre class="code c literal-block">
-<span class="comment multiline">/*
- * This file is part of mutest, a simple micro unit testing framework for C.
- *
- * mutest was written by Leandro Lucarella <llucax@gmail.com> and is released
- * under the BOLA license, please see the LICENSE file or visit:
- * http://blitiri.com.ar/p/bola/
- *
- * This is the factorial module test suite. Each (public) function starting
- * with mu_test will be picked up by mkmutest as a test case.
- *
- * Please, read the README file for more details.
- */</span>
-
-<span class="comment preproc">#include "factorial.h"
-</span>
-<span class="comment preproc">#include "../mutest.h"
-</span>
-<span class="keyword type">void</span> <span class="name function">mu_test_factorial_zero</span><span class="punctuation">()</span> <span class="punctuation">{</span>
- <span class="keyword type">unsigned</span> <span class="name">x</span> <span class="operator">=</span> <span class="name">factorial</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">);</span>
- <span class="name">mu_check</span><span class="punctuation">(</span><span class="name">x</span> <span class="operator">==</span> <span class="literal number integer">1</span><span class="punctuation">);</span>
-<span class="punctuation">}</span>
-
-<span class="keyword type">void</span> <span class="name function">mu_test_factorial_one</span><span class="punctuation">()</span> <span class="punctuation">{</span>
- <span class="keyword type">unsigned</span> <span class="name">x</span> <span class="operator">=</span> <span class="name">factorial</span><span class="punctuation">(</span><span class="literal number integer">1</span><span class="punctuation">);</span>
- <span class="comment multiline">/* this test is wrong on purpose, to see how it fails */</span>
- <span class="name">mu_check</span><span class="punctuation">(</span><span class="name">x</span> <span class="operator">==</span> <span class="literal number integer">2</span><span class="punctuation">);</span>
-<span class="punctuation">}</span>
-
-<span class="keyword type">void</span> <span class="name function">mu_test_factorial_positive</span><span class="punctuation">()</span> <span class="punctuation">{</span>
- <span class="keyword type">unsigned</span> <span class="name">x</span> <span class="operator">=</span> <span class="name">factorial</span><span class="punctuation">(</span><span class="literal number integer">2</span><span class="punctuation">);</span>
- <span class="comment multiline">/* this test is wrong on purpose, to see how it fails */</span>
- <span class="name">mu_check</span><span class="punctuation">(</span><span class="name">x</span> <span class="operator">==</span> <span class="literal number integer">3</span><span class="punctuation">);</span>
-
- <span class="name">x</span> <span class="operator">=</span> <span class="name">factorial</span><span class="punctuation">(</span><span class="literal number integer">3</span><span class="punctuation">);</span>
- <span class="comment multiline">/* we don't want to continue if this fails, because the next result
- * depends on this one. This one will succeed. */</span>
- <span class="name">mu_ensure</span><span class="punctuation">(</span><span class="name">x</span> <span class="operator">==</span> <span class="literal number integer">6</span><span class="punctuation">);</span>
-
- <span class="name">x</span> <span class="operator">=</span> <span class="name">factorial</span><span class="punctuation">(</span><span class="name">x</span><span class="punctuation">);</span>
- <span class="name">mu_check</span><span class="punctuation">(</span><span class="name">x</span> <span class="operator">==</span> <span class="literal number integer">720</span><span class="punctuation">);</span>
-
- <span class="name">x</span> <span class="operator">=</span> <span class="name">factorial</span><span class="punctuation">(</span><span class="literal number integer">4</span><span class="punctuation">);</span>
- <span class="name">mu_ensure</span><span class="punctuation">(</span><span class="name">x</span> <span class="operator">==</span> <span class="literal number integer">6</span><span class="punctuation">);</span> <span class="comment multiline">/* same as before, but this one will fail. */</span>
-
- <span class="name">x</span> <span class="operator">=</span> <span class="name">factorial</span><span class="punctuation">(</span><span class="name">x</span><span class="operator">-</span><span class="literal number integer">15</span><span class="punctuation">);</span> <span class="comment multiline">/* and this will never be executed */</span>
- <span class="name">mu_check</span><span class="punctuation">(</span><span class="name">x</span> <span class="operator">==</span> <span class="literal number integer">362881</span><span class="punctuation">);</span> <span class="comment multiline">/* but if excecuted, will fail */</span>
-<span class="punctuation">}</span>
-</pre>
-</div>
-<div class="section" id="exception-test-cpp">
-<h2><a class="toc-backref" href="#id13">2.3. exception_test.cpp</a></h2>
-<pre class="code c++ literal-block">
-<span class="comment multiline">/*
- * This file is part of mutest, a simple micro unit testing framework for C.
- *
- * mutest was written by Leandro Lucarella <llucax@gmail.com> and is released
- * under the BOLA license, please see the LICENSE file or visit:
- * http://blitiri.com.ar/p/bola/
- *
- * This is a C++ module test suite. It shows how to use checks involving
- * exceptions.
- *
- * Please, read the README file for more details.
- */</span>
-
-<span class="comment preproc">#include <stdexcept> </span><span class="comment single">// std::out_of_range
-</span><span class="comment preproc">#include <vector> </span><span class="comment single">// std::vector
-</span>
-<span class="comment preproc">#include "../mutest.h"
-</span>
-<span class="keyword">extern</span> <span class="literal string">"C"</span> <span class="punctuation">{</span>
-
-<span class="keyword type">void</span> <span class="name">mu_test_exceptions</span><span class="punctuation">()</span> <span class="punctuation">{</span>
- <span class="name">std</span><span class="operator">::</span><span class="name">vector</span><span class="operator"><</span><span class="keyword type">int</span><span class="operator">></span> <span class="name">v</span><span class="punctuation">(</span><span class="literal number integer">1</span><span class="punctuation">);</span>
- <span class="comment single">// ok
-</span> <span class="name">mu_check</span><span class="punctuation">(</span><span class="name">v</span><span class="punctuation">.</span><span class="name">at</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">)</span> <span class="operator">==</span> <span class="literal number integer">0</span><span class="punctuation">);</span>
- <span class="comment single">// throws! This fails
-</span> <span class="name">mu_check</span><span class="punctuation">(</span><span class="name">v</span><span class="punctuation">.</span><span class="name">at</span><span class="punctuation">(</span><span class="literal number integer">1</span><span class="punctuation">)</span> <span class="operator">==</span> <span class="literal number integer">0</span><span class="punctuation">);</span>
- <span class="comment single">// ok, we expect the exception to be thrown, and it does
-</span> <span class="name">mu_echeck</span><span class="punctuation">(</span><span class="name">std</span><span class="operator">::</span><span class="name">out_of_range</span><span class="punctuation">,</span> <span class="name">v</span><span class="punctuation">.</span><span class="name">at</span><span class="punctuation">(</span><span class="literal number integer">1</span><span class="punctuation">));</span>
- <span class="comment single">// fails! We expect this to throw, but it doesn't
-</span> <span class="name">mu_echeck</span><span class="punctuation">(</span><span class="name">std</span><span class="operator">::</span><span class="name">out_of_range</span><span class="punctuation">,</span> <span class="name">v</span><span class="punctuation">.</span><span class="name">at</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">));</span>
- <span class="comment single">// fails again, but this time the show is over (note the "ensure")
-</span> <span class="name">mu_eensure</span><span class="punctuation">(</span><span class="name">std</span><span class="operator">::</span><span class="name">out_of_range</span><span class="punctuation">,</span> <span class="name">v</span><span class="punctuation">.</span><span class="name">at</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">));</span>
- <span class="comment single">// this will never be executed (it should fail if it is)
-</span> <span class="name">mu_check</span><span class="punctuation">(</span><span class="name">v</span><span class="punctuation">.</span><span class="name">empty</span><span class="punctuation">());</span>
-<span class="punctuation">}</span>
-
-<span class="punctuation">}</span> <span class="comment single">// extern "C"</span>
-</pre>
-</div>
-</div>
-<div class="section" id="concepts">
-<h1><a class="toc-backref" href="#id14">3. Concepts</a></h1>
-<p><em>mutest</em> is about 4 simple concepts: <a class="reference internal" href="#test-program">test program</a>, <a class="reference internal" href="#test-suite">test suite</a>, <a class="reference internal" href="#test-case">test
-case</a> and <a class="reference internal" href="#checks">checks</a>. Well, to be honest you probably will need <a class="reference internal" href="#test-suite">test suite</a>
-<a class="reference internal" href="#initialization">initialization</a> and <a class="reference internal" href="#termination">termination</a> too =)</p>
-<div class="section" id="test-program">
-<h2><a class="toc-backref" href="#id15">3.1. Test Program</a></h2>
-<p>A <strong>test program</strong> is the higher level unit of <em>mutest</em>. The test program is
-the one in charge of running all your tests. Probably one of the more important
-features of <em>mutest</em> is that you are not supposed to bother about the test
-program. So, different <a class="reference internal" href="#implementations">implementations</a> have different ways to tackle this.
-Some need more or less interactions from your part, and each have their pros
-and cons.</p>
-<p>But this is all you need to know for now, for more details see how the test
-program is implemented by your <a class="reference internal" href="#implementations">implementation</a> of choice.</p>
-</div>
-<div class="section" id="test-suite">
-<h2><a class="toc-backref" href="#id16">3.2. Test Suite</a></h2>
-<p>A <strong>test suite</strong> is the higher level unit of <em>mutest</em> that you should
-care about =). Is not much more than a way to group <a class="reference internal" href="#test-case">test cases</a>. Code-wise,
-a test suite is a C (or C++) module (or compilation unit). Not clear enough?
-A unit test is an object file (could be a shared object depending on the
-<a class="reference internal" href="#implementations">implementation</a>). This module should have one or more <a class="reference internal" href="#test-case">test cases</a> and it
-could have any number (including zero) of <a class="reference internal" href="#initialization">initialization</a> and <a class="reference internal" href="#termination">termination</a>
-functions.</p>
-<p>A test suite, is inspected by the <a class="reference internal" href="#test-program">test program</a> for <a class="reference internal" href="#test-case">test cases</a> and
-<a class="reference internal" href="#initialization">initialization</a> and <a class="reference internal" href="#termination">termination</a> functions, and run them.</p>
-<p>A test suite fail if one or more <a class="reference internal" href="#test-case">test cases</a> fail, and it's skipped if one or
-more <a class="reference internal" href="#initialization">initialization</a> functions fail (or, depending on the implementation, if
-the test suite can't be loaded at all).</p>
-</div>
-<div class="section" id="test-case">
-<h2><a class="toc-backref" href="#id17">3.3. Test Case</a></h2>
-<p>A <strong>test case</strong> is just a plain function with a special signature and name.
-A test case function name must start with <tt class="docutils literal">mu_test</tt>, and take no arguments
-and return nothing. For example:</p>
-<pre class="literal-block">
-void mu_test_something(void);
-</pre>
-<p>A test case (probably) only make sense if it has <a class="reference internal" href="#checks">checks</a>. A test case succeed
-only if all its checks succeed too.</p>
-<p>Test are executed in an <a class="reference internal" href="#implementations">implementation</a>-dependant order, but usually the
-default order is alphabetical.</p>
-</div>
-<div class="section" id="checks">
-<h2><a class="toc-backref" href="#id18">3.4. Checks</a></h2>
-<p>Checks are assertions that a <a class="reference internal" href="#test-case">test case</a> must pass (a boolean expression that
-must evaluate to <em>true</em>). There are 2 big flavors of checks: <strong>check</strong> and
-<strong>ensure</strong>. <strong>check</strong> just print an error (and <em>mark</em> the <a class="reference internal" href="#test-case">test case</a> as
-failed) and <strong>ensure</strong> halt the <a class="reference internal" href="#test-case">test case</a> execution, jumping to the next
-one.</p>
-<p>For better <a class="reference internal" href="#c-support">C++ support</a> there are check macros that assert that a specified
-exception is thrown (instead of check for a boolean expression to evaluate to
-<em>true</em>).</p>
-<p>You can take a look at the <a class="reference internal" href="#reference">reference</a> to see the different flavors of check
-macros in more detail.</p>
-</div>
-<div class="section" id="initialization">
-<h2><a class="toc-backref" href="#id19">3.5. Initialization</a></h2>
-<p>Sometimes you need to setup some environment shared between all the <a class="reference internal" href="#test-case">test
-cases</a> in a <a class="reference internal" href="#test-suite">test suite</a>. You can use <strong>initialization functions</strong> for this.</p>
-<p>An initialization function, like a <a class="reference internal" href="#test-case">test case</a>, is a plain C function with
-a special name and signature. The name must start with <tt class="docutils literal">mu_init</tt> and it must
-take no arguments, and return an <em>error code</em> (<tt class="docutils literal">0</tt> being success). For
-example:</p>
-<pre class="literal-block">
-int mu_init_something(void);
-</pre>
-<p>All initialization functions are executed before any <a class="reference internal" href="#test-case">test case</a>, in an
-<a class="reference internal" href="#implementations">implementation</a>-dependant order, and if one of them fail (returns non-zero),
-the whole <a class="reference internal" href="#test-suite">test suite</a> is skipped immediately.</p>
-</div>
-<div class="section" id="termination">
-<h2><a class="toc-backref" href="#id20">3.6. Termination</a></h2>
-<p><strong>Termination functions</strong> are just like <a class="reference internal" href="#initialization">initialization</a> functions, but they're
-executed <strong>after</strong> the <a class="reference internal" href="#test-case">test cases</a>, their names start with <tt class="docutils literal">mu_term</tt> and
-they return nothing. For example:</p>
-<pre class="literal-block">
-void mu_term_something(void);
-</pre>
-</div>
-</div>
-<div class="section" id="c-support">
-<h1><a class="toc-backref" href="#id21">4. C++ Support</a></h1>
-<p>You can use <em>mutest</em> with C++, the only care you must take is that, because of
-C++ <a class="reference external" href="http://en.wikipedia.org/wiki/Name_mangling">name mangling</a> (and <em>mutest</em> relaying on function names), you must
-declare your <a class="reference internal" href="#test-case">test cases</a> and <a class="reference internal" href="#initialization">initialization</a> and <a class="reference internal" href="#termination">termination</a> functions as
-<tt class="docutils literal">extern "C"</tt> (see <a class="reference internal" href="#exception-test-cpp">exception_test.cpp</a> for an example).</p>
-<p><a class="reference internal" href="#checks">Checks</a> become <em>exception-safe</em> when using <em>mutest</em> with a C++ compiler, and
-2 extra <a class="reference internal" href="#checks">checks</a> designed for C++ get defined (<a class="reference internal" href="#mu-echeck">mu_echeck()</a> and
-<a class="reference internal" href="#mu-eensure">mu_eensure()</a>). They assert that an expression throws a particular exception.</p>
-</div>
-<div class="section" id="implementations">
-<h1><a class="toc-backref" href="#id22">5. Implementations</a></h1>
-<p>There are 2 big groups of possible implementations that I can think
-of: <em>static</em> and <em>dynamic</em>.</p>
-<p><em>mutest</em> comes with one implementation of each group.</p>
-<div class="section" id="static-implementations">
-<h2><a class="toc-backref" href="#id23">5.1. Static Implementations</a></h2>
-<p>Static implementations can be only written in C/C++ (or other language that is
-link-compatible with C, like the <a class="reference external" href="http://www.digitalmars.com/d/">D Programming Language</a>, but since one of
-the main goals of <em>mutest</em> is avoid unnecessary dependencies, you probably
-don't want to depend on an extra language/compiler to run your tests =).</p>
-<p>The main advantage is better debugging support, because you can run the <a class="reference internal" href="#test-program">test
-program</a> in a standard debugger and see what happens with <a class="reference internal" href="#test-case">test cases</a> very
-naturally.</p>
-<p>The main disadvantage is, the <a class="reference internal" href="#test-suite">test suites</a> must be figured out in
-<em>compile-time</em>, usually using some kind of code generation (if you want to
-avoid writing repetitive code yourself). There's also a limitation in the <a class="reference internal" href="#test-case">test
-case</a>, <a class="reference internal" href="#initialization">initialization</a> and <a class="reference internal" href="#termination">termination</a> functions names: they should be unique
-for all the <a class="reference internal" href="#test-program">test program</a>.</p>
-<div class="section" id="c-implementation">
-<h3><a class="toc-backref" href="#id24">5.1.1. C implementation</a></h3>
-<p><em>mutest</em> comes with a C static implementation. Only 3 files are needed:
-<tt class="docutils literal">mutest.c</tt> (the <em>user-independent</em> part of the <a class="reference internal" href="#test-program">test program</a>), <tt class="docutils literal">mkmutest</tt>
-(a bash script for generating the <em>user-dependent</em> part of the <a class="reference internal" href="#test-program">test program</a>)
-and <tt class="docutils literal">mutest.h</tt> (the header file that <a class="reference internal" href="#test-suite">test suites</a> should include).</p>
-<p>You can copy this 3 files to your project or install them at system-level and
-use them globally.</p>
-<p>The procedure is simple, You should compile you <a class="reference internal" href="#test-suite">test suites</a>, <tt class="docutils literal">mutest.c</tt>
-and the generated output of <tt class="docutils literal">mkmutest</tt> as object files and link them
-together.</p>
-<p>For example:</p>
-<pre class="literal-block">
-$ cc -c -o mutest.o mutest.c
-$ cc -c -o test1.o test1.c
-$ cc -c -o test2.o test2.c
-$ mkmutest mutest.h test1.o test2.o | cc -xc -c -o runmutest.o -
-$ cc -o testprg mutest.o test1.o test2.o runmutest.o
-</pre>
-<p>Then you can run the <a class="reference internal" href="#test-program">test program</a> invoking it with no arguments:</p>
-<pre class="literal-block">
-$ ./testprg
-</pre>
-<div class="section" id="mkmutest-invocation">
-<h4><a class="toc-backref" href="#id25">5.1.1.1. <tt class="docutils literal">mkmutest</tt> Invocation</a></h4>
-<p>This small script take 1 mandatory positional argument: the path to the
-<tt class="docutils literal">mutest.h</tt> file. All remaining positional arguments should be object files
-representing <a class="reference internal" href="#test-suite">test suites</a>.</p>
-</div>
-<div class="section" id="test-program-invocation">
-<h4><a class="toc-backref" href="#id26">5.1.1.2. Test Program Invocation</a></h4>
-<p>The test program can be invoked without arguments, but can take some extra
-options:</p>
-<dl class="docutils">
-<dt><tt class="docutils literal"><span class="pre">-v</span></tt></dt>
-<dd><p class="first">Be verbose. This is accumulative, when you add extra <tt class="docutils literal"><span class="pre">-v</span></tt> you will
-get extra verbosity.</p>
-<p class="last">By default, you just get failed <a class="reference internal" href="#checks">checks</a> printed. If you use a single
-<tt class="docutils literal"><span class="pre">-v</span></tt>, a summary of failed/passed <a class="reference internal" href="#test-suite">test suites</a>, <a class="reference internal" href="#test-case">test cases</a> and
-<a class="reference internal" href="#checks">checks</a> will be printed. If an extra <tt class="docutils literal"><span class="pre">-v</span></tt> is used, you'll see the current
-<a class="reference internal" href="#test-suite">test suite</a> being executed. Another <tt class="docutils literal"><span class="pre">-v</span></tt> and you'll get the current
-<a class="reference internal" href="#test-case">test case</a>, and another one, and you'll get each <a class="reference internal" href="#checks">check</a>.</p>
-</dd>
-</dl>
-</div>
-<div class="section" id="dependencies">
-<h4><a class="toc-backref" href="#id27">5.1.1.3. Dependencies</a></h4>
-<p>Even when dependencies are kept minimal, there always be a few ;)</p>
-<p>To use this implementation you just need:</p>
-<ul class="simple">
-<li>A C compiler (you already needed that, so...)</li>
-<li>The <tt class="docutils literal">nm</tt> program (from <a class="reference external" href="http://www.gnu.org/software/binutils/">GNU Binutils</a>, included in virtually any *NIX)</li>
-<li>The <a class="reference external" href="http://www.gnu.org/software/bash/">GNU Bash</a> shell interpreter (also included in virtually any *NIX)</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="section" id="dynamic-implementations">
-<h2><a class="toc-backref" href="#id28">5.2. Dynamic Implementations</a></h2>
-<p>Dynamic implementations, on the other hand, can be written in any language that
-can access to shared objects. The idea is to inspect a shared object for <a class="reference internal" href="#test-suite">test
-suites</a> and run them, without requiring any information about <a class="reference internal" href="#test-suite">test suites</a>
-at compile time.</p>
-<p>There are several advantages in this kind of implementations. The dynamic
-nature let you completely separate the <a class="reference internal" href="#test-program">test program</a> from the user-written
-<a class="reference internal" href="#test-suite">test suites</a> and you can choose at <em>run-time</em> what <a class="reference internal" href="#test-suite">test suites</a> to execute
-by just selecting the correct shared objects. Also, <a class="reference internal" href="#test-case">test case</a>,
-<a class="reference internal" href="#initialization">initialization</a> and <a class="reference internal" href="#termination">termination</a> functions names only have to be unique in the
-scope of the <a class="reference internal" href="#test-suite">test suites</a>, because <a class="reference internal" href="#test-suite">test suites</a> are completely isolated in
-separate shared objects.</p>
-<p>But everything comes at a price, and the higher price to pay is
-<em>debuggability</em>. It's a little harder to plug a debugger to a shared object.</p>
-<div class="section" id="python-implementation">
-<h3><a class="toc-backref" href="#id29">5.2.1. Python implementation</a></h3>
-<p>This implementation is much simpler and elegant than the <a class="reference internal" href="#c-implementation">C implementation</a>.
-Only 2 files are needed: <tt class="docutils literal">mutest</tt> (<a class="reference internal" href="#test-program">test program</a> written in <a class="reference external" href="http://www.python.org/">Python</a> using
-<a class="reference external" href="http://docs.python.org/library/ctypes.html">ctypes</a> module to access the shared object symbols) and <tt class="docutils literal">mutest.h</tt> (the
-header file that <a class="reference internal" href="#test-suite">test suites</a> should include).</p>
-<p>Since both implementations provided by <em>mutest</em> share the same <tt class="docutils literal">mutest.h</tt>,
-you should define the <tt class="docutils literal">MUTEST_PY</tt> macro when compiling the <a class="reference internal" href="#test-suite">test suites</a> if
-you will run them using this implementation.</p>
-<p>As with the <a class="reference internal" href="#c-implementation">C implementation</a>, you can copy this 2 files to your project or
-install them at system-level and use them globally.</p>
-<p>The procedure is even simpler than the <a class="reference internal" href="#c-implementation">C implementation</a>: compile and link
-you <a class="reference internal" href="#test-suite">test suites</a> as shared objects and then run the <tt class="docutils literal">mutest</tt> program
-passing the shared objects as arguments. For example:</p>
-<pre class="literal-block">
-$ cc -c -fPIC -DMUTEST_PY -o test1.o test1.c
-$ cc -shared -o test1.so test1.o
-$ cc -c -fPIC -DMUTEST_PY -o test2.o test2.c
-$ cc -shared -o test2.so test2.o
-$ mutest test1.so test2.so
-</pre>
-<p>That's it.</p>
-<div class="section" id="mutest-invocation">
-<h4><a class="toc-backref" href="#id30">5.2.1.1. <tt class="docutils literal">mutest</tt> Invocation</a></h4>
-<p><tt class="docutils literal">mutest</tt> program takes <a class="reference internal" href="#test-suite">test suites</a> shared objects to run as positional
-arguments. It accepts the same options as the <a class="reference internal" href="#test-program-invocation">C implementation's test
-program</a> and some extra options are accepted too:</p>
-<dl class="docutils">
-<dt><tt class="docutils literal"><span class="pre">--verbose</span></tt></dt>
-<dd>Alias for <tt class="docutils literal"><span class="pre">-v</span></tt>.</dd>
-<dt><tt class="docutils literal"><span class="pre">-q</span></tt>, <tt class="docutils literal"><span class="pre">--quiet</span></tt></dt>
-<dd>Be quiet (no output is shown at all).</dd>
-<dt><tt class="docutils literal"><span class="pre">-s</span></tt>, <tt class="docutils literal"><span class="pre">--search</span></tt></dt>
-<dd>Search for <a class="reference internal" href="#test-suite">test suites</a> (*.so) in the current directory and add them
-to the list of <a class="reference internal" href="#test-suite">test suites</a> to run.</dd>
-<dt><tt class="docutils literal"><span class="pre">-h</span></tt>, <tt class="docutils literal"><span class="pre">--help</span></tt></dt>
-<dd>Show a help message and exit.</dd>
-</dl>
-</div>
-<div class="section" id="id8">
-<h4><a class="toc-backref" href="#id31">5.2.1.2. Dependencies</a></h4>
-<p>As with the <a class="reference internal" href="#c-implementation">C implementation</a>, some minor dependencies are needed:</p>
-<ul class="simple">
-<li><a class="reference external" href="http://www.python.org/">Python</a> (2.5 or later)</li>
-<li>The <tt class="docutils literal">nm</tt> program (from <a class="reference external" href="http://www.gnu.org/software/binutils/">GNU Binutils</a>, included in virtually any *NIX)</li>
-</ul>
-<p>You will need a C compiler for building the <a class="reference internal" href="#test-suite">test suites</a> too, but technically
-is not needed by <em>mutest</em> itself ;)</p>
-</div>
-</div>
-</div>
-</div>
-<div class="section" id="reference">
-<h1><a class="toc-backref" href="#id32">6. Reference</a></h1>
-<div class="section" id="mu-check">
-<h2><a class="toc-backref" href="#id33">6.1. <tt class="docutils literal">mu_check()</tt></a></h2>
-<dl class="docutils">
-<dt>Synopsis</dt>
-<dd><tt class="docutils literal">mu_check(expression)</tt></dd>
-<dt>Description</dt>
-<dd>Check that the <tt class="docutils literal">expression</tt> evaluates to <em>true</em>. Continue with the
-<a class="reference internal" href="#test-case">test case</a> if fail.</dd>
-<dt>Availability</dt>
-<dd>Always</dd>
-<dt>Example</dt>
-<dd><pre class="first last literal-block">
-void mu_test(void)
-{
- mu_check(5 == 4); /* fail */
- mu_check(5 == 5); /* excecuted, pass */
-}
-</pre>
-</dd>
-</dl>
-</div>
-<div class="section" id="mu-ensure">
-<h2><a class="toc-backref" href="#id34">6.2. <tt class="docutils literal">mu_ensure()</tt></a></h2>
-<dl class="docutils">
-<dt>Synopsis</dt>
-<dd><tt class="docutils literal">mu_ensure(expression)</tt></dd>
-<dt>Description</dt>
-<dd>Check that the <tt class="docutils literal">expression</tt> evaluates to <em>true</em>. Interrupt the <a class="reference internal" href="#test-case">test
-case</a> if fail.</dd>
-<dt>Availability</dt>
-<dd>Always</dd>
-<dt>Example</dt>
-<dd><pre class="first last literal-block">
-void mu_test(void)
-{
- mu_ensure(5 == 4); /* fail */
- mu_check(5 == 5); /* not excecuted */
-}
-</pre>
-</dd>
-</dl>
-</div>
-<div class="section" id="mu-echeck">
-<h2><a class="toc-backref" href="#id35">6.3. <tt class="docutils literal">mu_echeck()</tt></a></h2>
-<dl class="docutils">
-<dt>Synopsis</dt>
-<dd><tt class="docutils literal">mu_echeck(class, expression)</tt></dd>
-<dt>Description</dt>
-<dd>Check that the <tt class="docutils literal">expression</tt> throws a specific exception <tt class="docutils literal">class</tt> (or
-subclass). Continue with the <a class="reference internal" href="#test-case">test case</a> if fail.</dd>
-<dt>Availability</dt>
-<dd>C++ only</dd>
-<dt>Example</dt>
-<dd><pre class="first last literal-block">
-#include <stdexcept>
-
-extern "C"
-{
- void mu_test(void)
- {
- mu_echeck(std::exception, true); /* fail */
- mu_echeck(std::exception,
- throw std::runtime_error("!")); /* excecuted, pass */
- }
-}
-</pre>
-</dd>
-</dl>
-</div>
-<div class="section" id="mu-eensure">
-<h2><a class="toc-backref" href="#id36">6.4. <tt class="docutils literal">mu_eensure()</tt></a></h2>
-<dl class="docutils">
-<dt>Synopsis</dt>
-<dd><tt class="docutils literal">mu_eensure(class, expression)</tt></dd>
-<dt>Description</dt>
-<dd>Check that the <tt class="docutils literal">expression</tt> throws a specific exception <tt class="docutils literal">class</tt> (or
-subclass). Interrupt the <a class="reference internal" href="#test-case">test case</a> if fail.</dd>
-<dt>Availability</dt>
-<dd>C++ only</dd>
-<dt>Example</dt>
-<dd><pre class="first last literal-block">
-#include <stdexcept>
-
-extern "C"
-{
- void mu_test(void)
- {
- mu_eensure(std::exception, true); /* fail */
- mu_echeck(std::exception,
- throw std::runtime_error("!")); /* not excecuted */
- }
-}
-</pre>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section" id="about">
-<h1><a class="toc-backref" href="#id37">7. About</a></h1>
-<p>This manual was written using <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>.</p>
-<!-- Use section numbers -->
-<!-- Internal Links (aliases): -->
-<!-- External Links: -->
-<!-- Substitutions: -->
-<!-- vim: set filetype=rst expandtab shiftwidth=4 softtabstop=4 : -->
-</div>
-</div>
-</body>
-</html>
+++ /dev/null
-%PDF-1.4\r
-%\93\8c\8b\9e ReportLab Generated PDF document http://www.reportlab.com\r
-% 'BasicFonts': class PDFDictionary \r
-1 0 obj\r
-% The standard fonts dictionary\r
-<< /F1 2 0 R\r
- /F2 3 0 R\r
- /F3 4 0 R\r
- /F4 7 0 R\r
- /F5 57 0 R\r
- /F6 171 0 R\r
- /F7 174 0 R >>\r
-endobj\r
-% 'F1': class PDFType1Font \r
-2 0 obj\r
-% Font Helvetica\r
-<< /BaseFont /Helvetica\r
- /Encoding /WinAnsiEncoding\r
- /Name /F1\r
- /Subtype /Type1\r
- /Type /Font >>\r
-endobj\r
-% 'F2': class PDFType1Font \r
-3 0 obj\r
-% Font Helvetica-BoldOblique\r
-<< /BaseFont /Helvetica-BoldOblique\r
- /Encoding /WinAnsiEncoding\r
- /Name /F2\r
- /Subtype /Type1\r
- /Type /Font >>\r
-endobj\r
-% 'F3': class PDFType1Font \r
-4 0 obj\r
-% Font Helvetica-Bold\r
-<< /BaseFont /Helvetica-Bold\r
- /Encoding /WinAnsiEncoding\r
- /Name /F3\r
- /Subtype /Type1\r
- /Type /Font >>\r
-endobj\r
-% 'Annot.NUMBER1': class PDFDictionary \r
-5 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (mailto:llucax@gmail.com) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 153.7323\r
- 680.7736\r
- 526.5827\r
- 692.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER2': class PDFDictionary \r
-6 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://blitiri.com.ar/p/bola/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 357.1723\r
- 635.7736\r
- 386.6323\r
- 647.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'F4': class PDFType1Font \r
-7 0 obj\r
-% Font Helvetica-Oblique\r
-<< /BaseFont /Helvetica-Oblique\r
- /Encoding /WinAnsiEncoding\r
- /Name /F4\r
- /Subtype /Type1\r
- /Type /Font >>\r
-endobj\r
-% 'Annot.NUMBER3': class PDFDictionary \r
-8 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://en.wikipedia.org/wiki/Unit_testing) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 141.0429\r
- 587.7736\r
- 192.1829\r
- 599.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER4': class LinkAnnotation \r
-9 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 768.5236\r
- 0 ]\r
- /Rect [ 317.2029\r
- 587.7736\r
- 372.2329\r
- 599.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER5': class LinkAnnotation \r
-10 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 651.5236\r
- 0 ]\r
- /Rect [ 91.59291\r
- 575.7736\r
- 167.1729\r
- 587.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER6': class LinkAnnotation \r
-11 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 441.7529\r
- 575.7736\r
- 489.5529\r
- 587.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER7': class LinkAnnotation \r
-12 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 73.25291\r
- 563.7736\r
- 121.0529\r
- 575.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER8': class LinkAnnotation \r
-13 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 223.8629\r
- 539.7736\r
- 263.8829\r
- 551.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER9': class LinkAnnotation \r
-14 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 333.9229\r
- 539.7736\r
- 376.7229\r
- 551.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER10': class LinkAnnotation \r
-15 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 527.7736\r
- 102.7129\r
- 539.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER11': class LinkAnnotation \r
-16 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 105.4929\r
- 527.7736\r
- 159.9529\r
- 539.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER12': class LinkAnnotation \r
-17 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 181.6236\r
- 0 ]\r
- /Rect [ 179.4129\r
- 527.7736\r
- 228.8729\r
- 539.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER13': class LinkAnnotation \r
-18 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 363.3729\r
- 527.7736\r
- 394.4929\r
- 539.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER14': class LinkAnnotation \r
-19 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 400.0529\r
- 527.7736\r
- 436.1729\r
- 539.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER15': class LinkAnnotation \r
-20 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 348.9529\r
- 515.7736\r
- 391.7529\r
- 527.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER16': class LinkAnnotation \r
-21 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 503.7736\r
- 121.6029\r
- 515.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER17': class LinkAnnotation \r
-22 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 168.2929\r
- 503.7736\r
- 216.0929\r
- 515.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER18': class LinkAnnotation \r
-23 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 450.0729\r
- 503.7736\r
- 492.8729\r
- 515.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page1': class PDFPage \r
-24 0 obj\r
-% Page dictionary\r
-<< /Annots [ 5 0 R\r
- 6 0 R\r
- 8 0 R\r
- 9 0 R\r
- 10 0 R\r
- 11 0 R\r
- 12 0 R\r
- 13 0 R\r
- 14 0 R\r
- 15 0 R\r
- 16 0 R\r
- 17 0 R\r
- 18 0 R\r
- 19 0 R\r
- 20 0 R\r
- 21 0 R\r
- 22 0 R\r
- 23 0 R ]\r
- /Contents 255 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'Annot.NUMBER19': class LinkAnnotation \r
-25 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 99 0 R\r
- /XYZ\r
- 62.69291\r
- 204.0236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 723.7736\r
- 132.1629\r
- 735.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER20': class LinkAnnotation \r
-26 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 99 0 R\r
- /XYZ\r
- 62.69291\r
- 204.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 723.7736\r
- 532.5827\r
- 735.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER21': class LinkAnnotation \r
-27 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 108 0 R\r
- /XYZ\r
- 62.69291\r
- 559.4236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 705.7736\r
- 145.5129\r
- 717.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER22': class LinkAnnotation \r
-28 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 108 0 R\r
- /XYZ\r
- 62.69291\r
- 559.4236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 705.7736\r
- 532.5827\r
- 717.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER23': class LinkAnnotation \r
-29 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 108 0 R\r
- /XYZ\r
- 62.69291\r
- 460.4236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 687.7736\r
- 150.5029\r
- 699.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER24': class LinkAnnotation \r
-30 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 108 0 R\r
- /XYZ\r
- 62.69291\r
- 460.4236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 687.7736\r
- 532.5827\r
- 699.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER25': class LinkAnnotation \r
-31 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 109 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 669.7736\r
- 172.1829\r
- 681.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER26': class LinkAnnotation \r
-32 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 109 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 669.7736\r
- 532.5827\r
- 681.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER27': class LinkAnnotation \r
-33 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 651.7736\r
- 191.0929\r
- 663.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER28': class LinkAnnotation \r
-34 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 651.7736\r
- 532.5827\r
- 663.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER29': class LinkAnnotation \r
-35 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 269.8236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 633.7736\r
- 124.9329\r
- 645.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER30': class LinkAnnotation \r
-36 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 269.8236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 633.7736\r
- 532.5827\r
- 645.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER31': class LinkAnnotation \r
-37 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 206.8236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 615.7736\r
- 168.2829\r
- 627.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER32': class LinkAnnotation \r
-38 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 206.8236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 615.7736\r
- 532.5827\r
- 627.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER33': class LinkAnnotation \r
-39 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 597.7736\r
- 152.7329\r
- 609.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER34': class LinkAnnotation \r
-40 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 597.7736\r
- 532.5827\r
- 609.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER35': class LinkAnnotation \r
-41 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 609.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 579.7736\r
- 153.2829\r
- 591.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER36': class LinkAnnotation \r
-42 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 609.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 579.7736\r
- 532.5827\r
- 591.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER37': class LinkAnnotation \r
-43 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 465.8236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 561.7736\r
- 141.0529\r
- 573.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER38': class LinkAnnotation \r
-44 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 465.8236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 561.7736\r
- 532.5827\r
- 573.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER39': class LinkAnnotation \r
-45 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 345.8236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 543.7736\r
- 159.9529\r
- 555.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER40': class LinkAnnotation \r
-46 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 345.8236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 543.7736\r
- 532.5827\r
- 555.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER41': class LinkAnnotation \r
-47 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 178.6236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 525.7736\r
- 160.5029\r
- 537.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER42': class LinkAnnotation \r
-48 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 178.6236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 525.7736\r
- 532.5827\r
- 537.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER43': class LinkAnnotation \r
-49 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 507.7736\r
- 139.3829\r
- 519.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER44': class LinkAnnotation \r
-50 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 507.7736\r
- 532.5827\r
- 519.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER45': class LinkAnnotation \r
-51 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 648.0236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 489.7736\r
- 158.8329\r
- 501.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER46': class LinkAnnotation \r
-52 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 648.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 489.7736\r
- 532.5827\r
- 501.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER47': class LinkAnnotation \r
-53 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 579.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 471.7736\r
- 208.8629\r
- 483.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER48': class LinkAnnotation \r
-54 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 579.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 471.7736\r
- 532.5827\r
- 483.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER49': class LinkAnnotation \r
-55 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 435.0236\r
- 0 ]\r
- /Rect [ 102.6929\r
- 453.7736\r
- 213.8529\r
- 465.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER50': class LinkAnnotation \r
-56 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 435.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 453.7736\r
- 532.5827\r
- 465.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'F5': class PDFType1Font \r
-57 0 obj\r
-% Font Courier\r
-<< /BaseFont /Courier\r
- /Encoding /WinAnsiEncoding\r
- /Name /F5\r
- /Subtype /Type1\r
- /Type /Font >>\r
-endobj\r
-% 'Annot.NUMBER51': class LinkAnnotation \r
-58 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 165.6236\r
- 0 ]\r
- /Rect [ 122.6929\r
- 435.7736\r
- 164.3929\r
- 447.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER52': class LinkAnnotation \r
-59 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 165.6236\r
- 0 ]\r
- /Rect [ 164.3929\r
- 435.7736\r
- 218.3929\r
- 447.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER53': class LinkAnnotation \r
-60 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 165.6236\r
- 0 ]\r
- /Rect [ 218.3929\r
- 435.7736\r
- 263.9729\r
- 447.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER54': class LinkAnnotation \r
-61 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 165.6236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 435.7736\r
- 532.5827\r
- 447.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER55': class LinkAnnotation \r
-62 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 111.6236\r
- 0 ]\r
- /Rect [ 122.6929\r
- 417.7736\r
- 273.3229\r
- 429.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER56': class LinkAnnotation \r
-63 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 111.6236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 417.7736\r
- 532.5827\r
- 429.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER57': class LinkAnnotation \r
-64 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 672.0236\r
- 0 ]\r
- /Rect [ 122.6929\r
- 399.7736\r
- 228.3129\r
- 411.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER58': class LinkAnnotation \r
-65 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 672.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 399.7736\r
- 532.5827\r
- 411.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER59': class LinkAnnotation \r
-66 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 558.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 381.7736\r
- 222.7429\r
- 393.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER60': class LinkAnnotation \r
-67 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 558.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 381.7736\r
- 532.5827\r
- 393.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER61': class LinkAnnotation \r
-68 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 390.0236\r
- 0 ]\r
- /Rect [ 102.6929\r
- 363.7736\r
- 237.7629\r
- 375.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER62': class LinkAnnotation \r
-69 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 390.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 363.7736\r
- 532.5827\r
- 375.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER63': class LinkAnnotation \r
-70 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 129.8236\r
- 0 ]\r
- /Rect [ 122.6929\r
- 345.7736\r
- 164.3929\r
- 357.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER64': class LinkAnnotation \r
-71 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 129.8236\r
- 0 ]\r
- /Rect [ 164.3929\r
- 345.7736\r
- 206.3929\r
- 357.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER65': class LinkAnnotation \r
-72 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 129.8236\r
- 0 ]\r
- /Rect [ 206.3929\r
- 345.7736\r
- 251.9729\r
- 357.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER66': class LinkAnnotation \r
-73 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 129.8236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 345.7736\r
- 532.5827\r
- 357.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER67': class LinkAnnotation \r
-74 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 633.0236\r
- 0 ]\r
- /Rect [ 122.6929\r
- 327.7736\r
- 228.3129\r
- 339.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER68': class LinkAnnotation \r
-75 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 633.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 327.7736\r
- 532.5827\r
- 339.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER69': class LinkAnnotation \r
-76 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 537.0236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 309.7736\r
- 127.7229\r
- 321.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER70': class LinkAnnotation \r
-77 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 537.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 309.7736\r
- 532.5827\r
- 321.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER71': class LinkAnnotation \r
-78 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 504.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 291.7736\r
- 107.7129\r
- 303.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER72': class LinkAnnotation \r
-79 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 504.0236\r
- 0 ]\r
- /Rect [ 107.7129\r
- 291.7736\r
- 167.7129\r
- 303.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER73': class LinkAnnotation \r
-80 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 504.0236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 291.7736\r
- 532.5827\r
- 303.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER74': class LinkAnnotation \r
-81 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 286.8236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 273.7736\r
- 107.7129\r
- 285.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER75': class LinkAnnotation \r
-82 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 286.8236\r
- 0 ]\r
- /Rect [ 107.7129\r
- 273.7736\r
- 173.7129\r
- 285.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER76': class LinkAnnotation \r
-83 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 286.8236\r
- 0 ]\r
- /Rect [ 527.0227\r
- 273.7736\r
- 532.5827\r
- 285.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER77': class LinkAnnotation \r
-84 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 255.7736\r
- 107.7129\r
- 267.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER78': class LinkAnnotation \r
-85 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 107.7129\r
- 255.7736\r
- 173.7129\r
- 267.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER79': class LinkAnnotation \r
-86 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Rect [ 521.4627\r
- 255.7736\r
- 532.5827\r
- 267.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER80': class LinkAnnotation \r
-87 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 463.8236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 237.7736\r
- 107.7129\r
- 249.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER81': class LinkAnnotation \r
-88 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 463.8236\r
- 0 ]\r
- /Rect [ 107.7129\r
- 237.7736\r
- 179.7129\r
- 249.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER82': class LinkAnnotation \r
-89 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 463.8236\r
- 0 ]\r
- /Rect [ 521.4627\r
- 237.7736\r
- 532.5827\r
- 249.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER83': class LinkAnnotation \r
-90 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 162.6236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 219.7736\r
- 108.2529\r
- 231.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER84': class LinkAnnotation \r
-91 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 162.6236\r
- 0 ]\r
- /Rect [ 521.4627\r
- 219.7736\r
- 532.5827\r
- 231.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER85': class PDFDictionary \r
-92 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://proj.llucax.com.ar/home/mutest/releases/mutest.tar.gz) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 126.6129\r
- 165.7736\r
- 234.4329\r
- 177.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER86': class PDFDictionary \r
-93 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://proj.llucax.com.ar/home/mutest/releases/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 273.0328\r
- 147.7736\r
- 357.2828\r
- 159.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER87': class PDFDictionary \r
-94 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://git.or.cz/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 425.2127\r
- 147.7736\r
- 442.0527\r
- 159.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER88': class PDFDictionary \r
-95 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://git.llucax.com.ar/w/software/mutest.git) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 519.8027\r
- 147.7736\r
- 531.3027\r
- 159.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER89': class PDFDictionary \r
-96 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://git.llucax.com.ar/w/software/mutest.git) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 62.69291\r
- 135.7736\r
- 106.5929\r
- 147.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER90': class PDFDictionary \r
-97 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://proj.llucax.com.ar/home/mutest/manual.html) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 118.8429\r
- 117.7736\r
- 172.7529\r
- 129.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER91': class PDFDictionary \r
-98 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://proj.llucax.com.ar/home/mutest/manual.pdf) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 212.2229\r
- 117.7736\r
- 270.0129\r
- 129.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page2': class PDFPage \r
-99 0 obj\r
-% Page dictionary\r
-<< /Annots [ 25 0 R\r
- 26 0 R\r
- 27 0 R\r
- 28 0 R\r
- 29 0 R\r
- 30 0 R\r
- 31 0 R\r
- 32 0 R\r
- 33 0 R\r
- 34 0 R\r
- 35 0 R\r
- 36 0 R\r
- 37 0 R\r
- 38 0 R\r
- 39 0 R\r
- 40 0 R\r
- 41 0 R\r
- 42 0 R\r
- 43 0 R\r
- 44 0 R\r
- 45 0 R\r
- 46 0 R\r
- 47 0 R\r
- 48 0 R\r
- 49 0 R\r
- 50 0 R\r
- 51 0 R\r
- 52 0 R\r
- 53 0 R\r
- 54 0 R\r
- 55 0 R\r
- 56 0 R\r
- 58 0 R\r
- 59 0 R\r
- 60 0 R\r
- 61 0 R\r
- 62 0 R\r
- 63 0 R\r
- 64 0 R\r
- 65 0 R\r
- 66 0 R\r
- 67 0 R\r
- 68 0 R\r
- 69 0 R\r
- 70 0 R\r
- 71 0 R\r
- 72 0 R\r
- 73 0 R\r
- 74 0 R\r
- 75 0 R\r
- 76 0 R\r
- 77 0 R\r
- 78 0 R\r
- 79 0 R\r
- 80 0 R\r
- 81 0 R\r
- 82 0 R\r
- 83 0 R\r
- 84 0 R\r
- 85 0 R\r
- 86 0 R\r
- 87 0 R\r
- 88 0 R\r
- 89 0 R\r
- 90 0 R\r
- 91 0 R\r
- 92 0 R\r
- 93 0 R\r
- 94 0 R\r
- 95 0 R\r
- 96 0 R\r
- 97 0 R\r
- 98 0 R ]\r
- /Contents 256 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'Annot.NUMBER92': class LinkAnnotation \r
-100 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 651.5236\r
- 0 ]\r
- /Rect [ 243.4995\r
- 584.1736\r
- 311.2995\r
- 596.1736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER93': class PDFDictionary \r
-101 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://git.llucax.com.ar/w/software/mutest.git?a=tree;f=sample;h=d8ad4dd9c3428fef5963107c82ab6a5e34ec6e00;hb=HEAD) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 215.5429\r
- 521.1736\r
- 250.5529\r
- 533.1736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER94': class LinkAnnotation \r
-102 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 108 0 R\r
- /XYZ\r
- 62.69291\r
- 463.4236\r
- 0 ]\r
- /Rect [ 342.9128\r
- 503.1736\r
- 389.4027\r
- 515.1736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER95': class LinkAnnotation \r
-103 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 491.6427\r
- 503.1736\r
- 531.6627\r
- 515.1736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER96': class LinkAnnotation \r
-104 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 109 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 66.02291\r
- 491.1736\r
- 130.4929\r
- 503.1736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER97': class LinkAnnotation \r
-105 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 768.5236\r
- 0 ]\r
- /Rect [ 148.2929\r
- 473.1736\r
- 206.1029\r
- 485.1736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER98': class LinkAnnotation \r
-106 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 233.3429\r
- 473.1736\r
- 316.7229\r
- 485.1736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER99': class LinkAnnotation \r
-107 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 319.5029\r
- 473.1736\r
- 359.5229\r
- 485.1736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page3': class PDFPage \r
-108 0 obj\r
-% Page dictionary\r
-<< /Annots [ 100 0 R\r
- 101 0 R\r
- 102 0 R\r
- 103 0 R\r
- 104 0 R\r
- 105 0 R\r
- 106 0 R\r
- 107 0 R ]\r
- /Contents 257 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'Page4': class PDFPage \r
-109 0 obj\r
-% Page dictionary\r
-<< /Contents 258 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'Annot.NUMBER100': class LinkAnnotation \r
-110 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 221.7262\r
- 231.5736\r
- 278.3317\r
- 243.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER101': class LinkAnnotation \r
-111 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 284.3673\r
- 231.5736\r
- 324.8628\r
- 243.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER102': class LinkAnnotation \r
-112 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 330.8983\r
- 231.5736\r
- 374.6494\r
- 243.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER103': class LinkAnnotation \r
-113 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 394.585\r
- 231.5736\r
- 425.705\r
- 243.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER104': class LinkAnnotation \r
-114 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 145.5029\r
- 219.5736\r
- 185.5229\r
- 231.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER105': class LinkAnnotation \r
-115 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 188.3029\r
- 219.5736\r
- 242.7629\r
- 231.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER106': class LinkAnnotation \r
-116 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 181.6236\r
- 0 ]\r
- /Rect [ 262.2229\r
- 219.5736\r
- 314.4629\r
- 231.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER107': class LinkAnnotation \r
-117 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 651.5236\r
- 0 ]\r
- /Rect [ 197.8378\r
- 147.5736\r
- 273.4328\r
- 159.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER108': class LinkAnnotation \r
-118 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 651.5236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 105.5736\r
- 133.2729\r
- 117.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page5': class PDFPage \r
-119 0 obj\r
-% Page dictionary\r
-<< /Annots [ 110 0 R\r
- 111 0 R\r
- 112 0 R\r
- 113 0 R\r
- 114 0 R\r
- 115 0 R\r
- 116 0 R\r
- 117 0 R\r
- 118 0 R ]\r
- /Contents 259 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'Annot.NUMBER109': class LinkAnnotation \r
-120 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 106.454\r
- 717.7736\r
- 153.6195\r
- 729.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER110': class LinkAnnotation \r
-121 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 651.5236\r
- 0 ]\r
- /Rect [ 435.7486\r
- 705.7736\r
- 503.5486\r
- 717.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER111': class LinkAnnotation \r
-122 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 213.5022\r
- 693.7736\r
- 261.9187\r
- 705.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER112': class LinkAnnotation \r
-123 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 480.9027\r
- 693.7736\r
- 532.2745\r
- 705.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER113': class LinkAnnotation \r
-124 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 181.6236\r
- 0 ]\r
- /Rect [ 82.15291\r
- 681.7736\r
- 134.3929\r
- 693.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER114': class LinkAnnotation \r
-125 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 203.4134\r
- 663.7736\r
- 262.3493\r
- 675.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER115': class LinkAnnotation \r
-126 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 276.8122\r
- 663.7736\r
- 324.638\r
- 675.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER116': class LinkAnnotation \r
-127 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 344.111\r
- 663.7736\r
- 398.5839\r
- 675.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER117': class LinkAnnotation \r
-128 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 181.6236\r
- 0 ]\r
- /Rect [ 418.0568\r
- 663.7736\r
- 470.3097\r
- 675.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER118': class LinkAnnotation \r
-129 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 197.9404\r
- 633.7736\r
- 246.4823\r
- 645.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER119': class LinkAnnotation \r
-130 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 403.6499\r
- 633.7736\r
- 458.4808\r
- 645.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER120': class LinkAnnotation \r
-131 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 276.5178\r
- 508.5736\r
- 307.6378\r
- 520.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER121': class LinkAnnotation \r
-132 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 651.5236\r
- 0 ]\r
- /Rect [ 169.9729\r
- 478.5736\r
- 237.7729\r
- 490.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER122': class LinkAnnotation \r
-133 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 192.2605\r
- 430.5736\r
- 235.0875\r
- 442.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER123': class LinkAnnotation \r
-134 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 448.9277\r
- 418.5736\r
- 491.9177\r
- 430.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER124': class LinkAnnotation \r
-135 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 153.3029\r
- 406.5736\r
- 196.1029\r
- 418.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER125': class LinkAnnotation \r
-136 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 768.5236\r
- 0 ]\r
- /Rect [ 109.3076\r
- 388.5736\r
- 167.6023\r
- 400.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER126': class LinkAnnotation \r
-137 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 540.5236\r
- 0 ]\r
- /Rect [ 181.1029\r
- 358.5736\r
- 226.1229\r
- 370.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER127': class LinkAnnotation \r
-138 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 396.7492\r
- 310.5736\r
- 446.4704\r
- 322.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER128': class LinkAnnotation \r
-139 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 467.2915\r
- 310.5736\r
- 508.2721\r
- 322.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER129': class LinkAnnotation \r
-140 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 205.5656\r
- 280.5736\r
- 246.9262\r
- 292.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER130': class LinkAnnotation \r
-141 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 286.2378\r
- 203.3736\r
- 326.5113\r
- 215.3736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER131': class LinkAnnotation \r
-142 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 651.5236\r
- 0 ]\r
- /Rect [ 357.292\r
- 203.3736\r
- 425.092\r
- 215.3736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER132': class LinkAnnotation \r
-143 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 265.0029\r
- 191.3736\r
- 307.8029\r
- 203.3736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER133': class LinkAnnotation \r
-144 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 225.6293\r
- 143.3736\r
- 280.4485\r
- 155.3736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER134': class LinkAnnotation \r
-145 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 461.8341\r
- 143.3736\r
- 507.2134\r
- 155.3736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page6': class PDFPage \r
-146 0 obj\r
-% Page dictionary\r
-<< /Annots [ 120 0 R\r
- 121 0 R\r
- 122 0 R\r
- 123 0 R\r
- 124 0 R\r
- 125 0 R\r
- 126 0 R\r
- 127 0 R\r
- 128 0 R\r
- 129 0 R\r
- 130 0 R\r
- 131 0 R\r
- 132 0 R\r
- 133 0 R\r
- 134 0 R\r
- 135 0 R\r
- 136 0 R\r
- 137 0 R\r
- 138 0 R\r
- 139 0 R\r
- 140 0 R\r
- 141 0 R\r
- 142 0 R\r
- 143 0 R\r
- 144 0 R\r
- 145 0 R ]\r
- /Contents 260 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'Annot.NUMBER135': class PDFDictionary \r
-147 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://en.wikipedia.org/wiki/Name_mangling) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 440.1822\r
- 726.7736\r
- 512.5727\r
- 738.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER136': class LinkAnnotation \r
-148 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 335.8999\r
- 714.7736\r
- 386.117\r
- 726.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER137': class LinkAnnotation \r
-149 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 406.7856\r
- 714.7736\r
- 462.4541\r
- 726.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER138': class LinkAnnotation \r
-150 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 181.6236\r
- 0 ]\r
- /Rect [ 483.1227\r
- 714.7736\r
- 531.3741\r
- 726.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER139': class LinkAnnotation \r
-151 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 207.0629\r
- 702.7736\r
- 293.2229\r
- 714.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER140': class LinkAnnotation \r
-152 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 684.7736\r
- 99.19956\r
- 696.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER141': class LinkAnnotation \r
-153 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 442.8794\r
- 684.7736\r
- 477.166\r
- 696.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER142': class LinkAnnotation \r
-154 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 144.6382\r
- 672.7736\r
- 206.7667\r
- 684.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER143': class LinkAnnotation \r
-155 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 466.8236\r
- 0 ]\r
- /Rect [ 227.7851\r
- 672.7736\r
- 290.0251\r
- 684.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER144': class PDFDictionary \r
-156 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://www.digitalmars.com/d/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 82.83356\r
- 531.7736\r
- 207.0249\r
- 543.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER145': class LinkAnnotation \r
-157 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 410.8127\r
- 501.7736\r
- 472.2477\r
- 513.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER146': class LinkAnnotation \r
-158 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 231.6829\r
- 489.7736\r
- 279.4829\r
- 501.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER147': class LinkAnnotation \r
-159 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 201.0699\r
- 471.7736\r
- 249.7487\r
- 483.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER148': class LinkAnnotation \r
-160 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 516.4627\r
- 459.7736\r
- 532.0268\r
- 471.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER149': class LinkAnnotation \r
-161 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 447.7736\r
- 83.81291\r
- 459.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER150': class LinkAnnotation \r
-162 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 89.37291\r
- 447.7736\r
- 143.8329\r
- 459.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER151': class LinkAnnotation \r
-163 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 181.6236\r
- 0 ]\r
- /Rect [ 163.2929\r
- 447.7736\r
- 215.5329\r
- 459.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER152': class LinkAnnotation \r
-164 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 438.4329\r
- 447.7736\r
- 494.5629\r
- 459.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER153': class LinkAnnotation \r
-165 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 114.6935\r
- 390.7736\r
- 172.2204\r
- 402.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER154': class LinkAnnotation \r
-166 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 516.4627\r
- 390.7736\r
- 531.1858\r
- 402.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER155': class LinkAnnotation \r
-167 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 378.7736\r
- 99.92291\r
- 390.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER156': class LinkAnnotation \r
-168 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 268.4329\r
- 378.7736\r
- 316.2329\r
- 390.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER157': class LinkAnnotation \r
-169 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 295.2208\r
- 342.7736\r
- 341.6568\r
- 354.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER158': class LinkAnnotation \r
-170 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 159.9729\r
- 211.5736\r
- 218.8829\r
- 223.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'F6': class PDFType1Font \r
-171 0 obj\r
-% Font Courier-BoldOblique\r
-<< /BaseFont /Courier-BoldOblique\r
- /Encoding /WinAnsiEncoding\r
- /Name /F6\r
- /Subtype /Type1\r
- /Type /Font >>\r
-endobj\r
-% 'Annot.NUMBER159': class LinkAnnotation \r
-172 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 312.2529\r
- 124.3736\r
- 357.2729\r
- 136.3736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page7': class PDFPage \r
-173 0 obj\r
-% Page dictionary\r
-<< /Annots [ 147 0 R\r
- 148 0 R\r
- 149 0 R\r
- 150 0 R\r
- 151 0 R\r
- 152 0 R\r
- 153 0 R\r
- 154 0 R\r
- 155 0 R\r
- 156 0 R\r
- 157 0 R\r
- 158 0 R\r
- 159 0 R\r
- 160 0 R\r
- 161 0 R\r
- 162 0 R\r
- 163 0 R\r
- 164 0 R\r
- 165 0 R\r
- 166 0 R\r
- 167 0 R\r
- 168 0 R\r
- 169 0 R\r
- 170 0 R\r
- 172 0 R ]\r
- /Contents 261 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'F7': class PDFType1Font \r
-174 0 obj\r
-% Font Courier-Bold\r
-<< /BaseFont /Courier-Bold\r
- /Encoding /WinAnsiEncoding\r
- /Name /F7\r
- /Subtype /Type1\r
- /Type /Font >>\r
-endobj\r
-% 'Annot.NUMBER160': class LinkAnnotation \r
-175 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 215.6962\r
- 720.7736\r
- 249.9917\r
- 732.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER161': class LinkAnnotation \r
-176 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 516.4627\r
- 720.7736\r
- 532.1871\r
- 732.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER162': class LinkAnnotation \r
-177 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 708.7736\r
- 108.8129\r
- 720.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER163': class LinkAnnotation \r
-178 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 115.0634\r
- 708.7736\r
- 164.2445\r
- 720.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER164': class LinkAnnotation \r
-179 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 184.395\r
- 708.7736\r
- 218.9855\r
- 720.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER165': class LinkAnnotation \r
-180 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 491.8722\r
- 708.7736\r
- 531.8922\r
- 720.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER166': class LinkAnnotation \r
-181 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 324.7428\r
- 696.7736\r
- 364.8628\r
- 708.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER167': class LinkAnnotation \r
-182 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 468.8236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 684.7736\r
- 108.8129\r
- 696.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER168': class PDFDictionary \r
-183 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://www.gnu.org/software/binutils/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 189.8229\r
- 585.7736\r
- 247.0529\r
- 597.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER169': class PDFDictionary \r
-184 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://www.gnu.org/software/bash/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 105.7029\r
- 567.7736\r
- 156.2729\r
- 579.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER170': class LinkAnnotation \r
-185 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 309.4145\r
- 510.7736\r
- 362.5369\r
- 522.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER171': class LinkAnnotation \r
-186 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 142.7329\r
- 498.7736\r
- 190.5329\r
- 510.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER172': class LinkAnnotation \r
-187 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 124.4966\r
- 468.7736\r
- 186.8404\r
- 480.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER173': class LinkAnnotation \r
-188 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 286.4609\r
- 468.7736\r
- 337.6947\r
- 480.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER174': class LinkAnnotation \r
-189 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 516.4627\r
- 468.7736\r
- 530.8658\r
- 480.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER175': class LinkAnnotation \r
-190 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 62.69291\r
- 456.7736\r
- 91.8309\r
- 468.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER176': class LinkAnnotation \r
-191 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 362.6707\r
- 456.7736\r
- 402.9287\r
- 468.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER177': class LinkAnnotation \r
-192 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 348.8236\r
- 0 ]\r
- /Rect [ 408.7267\r
- 456.7736\r
- 463.4247\r
- 468.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER178': class LinkAnnotation \r
-193 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 181.6236\r
- 0 ]\r
- /Rect [ 483.1227\r
- 456.7736\r
- 532.3447\r
- 468.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER179': class LinkAnnotation \r
-194 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 327.7961\r
- 444.7736\r
- 372.9505\r
- 456.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER180': class LinkAnnotation \r
-195 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 419.3594\r
- 444.7736\r
- 467.4282\r
- 456.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER181': class LinkAnnotation \r
-196 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 437.5236\r
- 0 ]\r
- /Rect [ 334.6208\r
- 357.7736\r
- 413.9194\r
- 369.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER182': class LinkAnnotation \r
-197 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 209.8236\r
- 0 ]\r
- /Rect [ 108.9742\r
- 345.7736\r
- 169.7869\r
- 357.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER183': class PDFDictionary \r
-198 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://www.python.org/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 214.4795\r
- 345.7736\r
- 249.3408\r
- 357.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER184': class PDFDictionary \r
-199 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://docs.python.org/library/ctypes.html) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 276.9721\r
- 345.7736\r
- 309.6035\r
- 357.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER185': class LinkAnnotation \r
-200 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 205.6329\r
- 333.7736\r
- 253.4329\r
- 345.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER186': class LinkAnnotation \r
-201 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 241.6229\r
- 303.7736\r
- 289.4229\r
- 315.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER187': class LinkAnnotation \r
-202 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 437.5236\r
- 0 ]\r
- /Rect [ 115.7408\r
- 285.7736\r
- 193.9934\r
- 297.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER188': class LinkAnnotation \r
-203 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 437.5236\r
- 0 ]\r
- /Rect [ 249.9341\r
- 255.7736\r
- 329.3128\r
- 267.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER189': class LinkAnnotation \r
-204 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 436.1365\r
- 255.7736\r
- 487.0939\r
- 267.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER190': class LinkAnnotation \r
-205 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 175.9009\r
- 100.5736\r
- 226.7128\r
- 112.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER191': class LinkAnnotation \r
-206 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 113.6236\r
- 0 ]\r
- /Rect [ 127.7329\r
- 88.57362\r
- 274.1329\r
- 100.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page8': class PDFPage \r
-207 0 obj\r
-% Page dictionary\r
-<< /Annots [ 175 0 R\r
- 176 0 R\r
- 177 0 R\r
- 178 0 R\r
- 179 0 R\r
- 180 0 R\r
- 181 0 R\r
- 182 0 R\r
- 183 0 R\r
- 184 0 R\r
- 185 0 R\r
- 186 0 R\r
- 187 0 R\r
- 188 0 R\r
- 189 0 R\r
- 190 0 R\r
- 191 0 R\r
- 192 0 R\r
- 193 0 R\r
- 194 0 R\r
- 195 0 R\r
- 196 0 R\r
- 197 0 R\r
- 198 0 R\r
- 199 0 R\r
- 200 0 R\r
- 201 0 R\r
- 202 0 R\r
- 203 0 R\r
- 204 0 R\r
- 205 0 R\r
- 206 0 R ]\r
- /Contents 262 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'Annot.NUMBER192': class LinkAnnotation \r
-208 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 131.6029\r
- 676.7736\r
- 179.4029\r
- 688.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER193': class LinkAnnotation \r
-209 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 426.1829\r
- 676.7736\r
- 473.9829\r
- 688.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER194': class LinkAnnotation \r
-210 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 437.5236\r
- 0 ]\r
- /Rect [ 114.3829\r
- 603.7736\r
- 192.1829\r
- 615.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER195': class PDFDictionary \r
-211 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://www.python.org/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 85.69291\r
- 582.7736\r
- 119.6029\r
- 594.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER196': class PDFDictionary \r
-212 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://www.gnu.org/software/binutils/) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 189.8229\r
- 564.7736\r
- 247.0529\r
- 576.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER197': class LinkAnnotation \r
-213 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 768.0236\r
- 0 ]\r
- /Rect [ 252.2129\r
- 549.7736\r
- 300.0129\r
- 561.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER198': class LinkAnnotation \r
-214 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 375.4829\r
- 422.7736\r
- 418.2829\r
- 434.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER199': class LinkAnnotation \r
-215 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 352.1429\r
- 205.5736\r
- 394.9429\r
- 217.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page9': class PDFPage \r
-216 0 obj\r
-% Page dictionary\r
-<< /Annots [ 208 0 R\r
- 209 0 R\r
- 210 0 R\r
- 211 0 R\r
- 212 0 R\r
- 213 0 R\r
- 214 0 R\r
- 215 0 R ]\r
- /Contents 263 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'Annot.NUMBER200': class LinkAnnotation \r
-217 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 671.7736\r
- 125.4929\r
- 683.7736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER201': class LinkAnnotation \r
-218 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 516.4627\r
- 382.5736\r
- 530.8327\r
- 394.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER202': class LinkAnnotation \r
-219 0 obj\r
-<< /Border [ 0\r
- 0\r
- 0 ]\r
- /Contents ()\r
- /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 612.0236\r
- 0 ]\r
- /Rect [ 82.69291\r
- 370.5736\r
- 106.5929\r
- 382.5736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Annot.NUMBER203': class PDFDictionary \r
-220 0 obj\r
-<< /A << /S /URI\r
- /Type /Action\r
- /URI (http://docutils.sourceforge.net/rst.html) >>\r
- /Border [ 0\r
- 0\r
- 0 ]\r
- /Rect [ 199.4029\r
- 124.3736\r
- 273.8729\r
- 136.3736 ]\r
- /Subtype /Link\r
- /Type /Annot >>\r
-endobj\r
-% 'Page10': class PDFPage \r
-221 0 obj\r
-% Page dictionary\r
-<< /Annots [ 217 0 R\r
- 218 0 R\r
- 219 0 R\r
- 220 0 R ]\r
- /Contents 264 0 R\r
- /MediaBox [ 0\r
- 0\r
- 595.2756\r
- 841.8898 ]\r
- /Parent 254 0 R\r
- /Resources << /Font 1 0 R\r
- /ProcSet [ /PDF\r
- /Text\r
- /ImageB\r
- /ImageC\r
- /ImageI ] >>\r
- /Rotate 0\r
- /Trans << >>\r
- /Type /Page >>\r
-endobj\r
-% 'R222': class PDFCatalog \r
-222 0 obj\r
-% Document Root\r
-<< /Outlines 224 0 R\r
- /PageLabels 265 0 R\r
- /PageMode /UseNone\r
- /Pages 254 0 R\r
- /Type /Catalog >>\r
-endobj\r
-% 'R223': class PDFInfo \r
-223 0 obj\r
-<< /Author (Leandro Lucarella)\r
- /CreationDate (D:20130217192608-01'00')\r
- /Creator (\(unspecified\))\r
- /Keywords ()\r
- /Producer (ReportLab PDF Library - www.reportlab.com)\r
- /Subject (\(unspecified\))\r
- /Title (mutest - A simple micro unit testing framework for C) >>\r
-endobj\r
-% 'R224': class PDFOutlines \r
-224 0 obj\r
-<< /Count 37\r
- /First 225 0 R\r
- /Last 253 0 R\r
- /Type /Outlines >>\r
-endobj\r
-% 'Outline.0': class OutlineEntryObject \r
-225 0 obj\r
-<< /Dest [ 99 0 R\r
- /XYZ\r
- 62.69291\r
- 204.0236\r
- 0 ]\r
- /Next 226 0 R\r
- /Parent 224 0 R\r
- /Title (\376\377\0001\000.\000\240\000\240\000\240\000I\000n\000s\000t\000a\000l\000l\000a\000t\000i\000o\000n) >>\r
-endobj\r
-% 'Outline.1': class OutlineEntryObject \r
-226 0 obj\r
-<< /Count 3\r
- /Dest [ 108 0 R\r
- /XYZ\r
- 62.69291\r
- 559.4236\r
- 0 ]\r
- /First 227 0 R\r
- /Last 229 0 R\r
- /Next 230 0 R\r
- /Parent 224 0 R\r
- /Prev 225 0 R\r
- /Title (\376\377\0002\000.\000\240\000\240\000\240\000Q\000u\000i\000c\000k\000 \000S\000a\000m\000p\000l\000e) >>\r
-endobj\r
-% 'Outline.30.0': class OutlineEntryObject \r
-227 0 obj\r
-<< /Dest [ 108 0 R\r
- /XYZ\r
- 62.69291\r
- 460.4236\r
- 0 ]\r
- /Next 228 0 R\r
- /Parent 226 0 R\r
- /Title (\376\377\0002\000.\0001\000.\000\240\000\240\000\240\000f\000a\000c\000t\000o\000r\000i\000a\000l\000.\000c) >>\r
-endobj\r
-% 'Outline.30.1': class OutlineEntryObject \r
-228 0 obj\r
-<< /Dest [ 109 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Next 229 0 R\r
- /Parent 226 0 R\r
- /Prev 227 0 R\r
- /Title (\376\377\0002\000.\0002\000.\000\240\000\240\000\240\000f\000a\000c\000t\000o\000r\000i\000a\000l\000_\000t\000e\000s\000t\000.\000c) >>\r
-endobj\r
-% 'Outline.30.2': class OutlineEntryObject \r
-229 0 obj\r
-<< /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Parent 226 0 R\r
- /Prev 228 0 R\r
- /Title (\376\377\0002\000.\0003\000.\000\240\000\240\000\240\000e\000x\000c\000e\000p\000t\000i\000o\000n\000_\000t\000e\000s\000t\000.\000c\000p\000p) >>\r
-endobj\r
-% 'Outline.2': class OutlineEntryObject \r
-230 0 obj\r
-<< /Count 6\r
- /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 269.8236\r
- 0 ]\r
- /First 231 0 R\r
- /Last 236 0 R\r
- /Next 237 0 R\r
- /Parent 224 0 R\r
- /Prev 226 0 R\r
- /Title (\376\377\0003\000.\000\240\000\240\000\240\000C\000o\000n\000c\000e\000p\000t\000s) >>\r
-endobj\r
-% 'Outline.31.0': class OutlineEntryObject \r
-231 0 obj\r
-<< /Dest [ 119 0 R\r
- /XYZ\r
- 62.69291\r
- 206.8236\r
- 0 ]\r
- /Next 232 0 R\r
- /Parent 230 0 R\r
- /Title (\376\377\0003\000.\0001\000.\000\240\000\240\000\240\000T\000e\000s\000t\000 \000P\000r\000o\000g\000r\000a\000m) >>\r
-endobj\r
-% 'Outline.31.1': class OutlineEntryObject \r
-232 0 obj\r
-<< /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Next 233 0 R\r
- /Parent 230 0 R\r
- /Prev 231 0 R\r
- /Title (\376\377\0003\000.\0002\000.\000\240\000\240\000\240\000T\000e\000s\000t\000 \000S\000u\000i\000t\000e) >>\r
-endobj\r
-% 'Outline.31.2': class OutlineEntryObject \r
-233 0 obj\r
-<< /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 609.0236\r
- 0 ]\r
- /Next 234 0 R\r
- /Parent 230 0 R\r
- /Prev 232 0 R\r
- /Title (\376\377\0003\000.\0003\000.\000\240\000\240\000\240\000T\000e\000s\000t\000 \000C\000a\000s\000e) >>\r
-endobj\r
-% 'Outline.31.3': class OutlineEntryObject \r
-234 0 obj\r
-<< /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 465.8236\r
- 0 ]\r
- /Next 235 0 R\r
- /Parent 230 0 R\r
- /Prev 233 0 R\r
- /Title (\376\377\0003\000.\0004\000.\000\240\000\240\000\240\000C\000h\000e\000c\000k\000s) >>\r
-endobj\r
-% 'Outline.31.4': class OutlineEntryObject \r
-235 0 obj\r
-<< /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 345.8236\r
- 0 ]\r
- /Next 236 0 R\r
- /Parent 230 0 R\r
- /Prev 234 0 R\r
- /Title (\376\377\0003\000.\0005\000.\000\240\000\240\000\240\000I\000n\000i\000t\000i\000a\000l\000i\000z\000a\000t\000i\000o\000n) >>\r
-endobj\r
-% 'Outline.31.5': class OutlineEntryObject \r
-236 0 obj\r
-<< /Dest [ 146 0 R\r
- /XYZ\r
- 62.69291\r
- 178.6236\r
- 0 ]\r
- /Parent 230 0 R\r
- /Prev 235 0 R\r
- /Title (\376\377\0003\000.\0006\000.\000\240\000\240\000\240\000T\000e\000r\000m\000i\000n\000a\000t\000i\000o\000n) >>\r
-endobj\r
-% 'Outline.3': class OutlineEntryObject \r
-237 0 obj\r
-<< /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Next 238 0 R\r
- /Parent 224 0 R\r
- /Prev 230 0 R\r
- /Title (\376\377\0004\000.\000\240\000\240\000\240\000C\000+\000+\000 \000S\000u\000p\000p\000o\000r\000t) >>\r
-endobj\r
-% 'Outline.4': class OutlineEntryObject \r
-238 0 obj\r
-<< /Count 9\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 648.0236\r
- 0 ]\r
- /First 239 0 R\r
- /Last 244 0 R\r
- /Next 248 0 R\r
- /Parent 224 0 R\r
- /Prev 237 0 R\r
- /Title (\376\377\0005\000.\000\240\000\240\000\240\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000s) >>\r
-endobj\r
-% 'Outline.32.0': class OutlineEntryObject \r
-239 0 obj\r
-<< /Count 4\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 579.0236\r
- 0 ]\r
- /First 240 0 R\r
- /Last 240 0 R\r
- /Next 244 0 R\r
- /Parent 238 0 R\r
- /Title (\376\377\0005\000.\0001\000.\000\240\000\240\000\240\000S\000t\000a\000t\000i\000c\000 \000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000s) >>\r
-endobj\r
-% 'Outline.33.0': class OutlineEntryObject \r
-240 0 obj\r
-<< /Count 3\r
- /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 435.0236\r
- 0 ]\r
- /First 241 0 R\r
- /Last 243 0 R\r
- /Parent 239 0 R\r
- /Title (\376\377\0005\000.\0001\000.\0001\000.\000\240\000\240\000\240\000C\000 \000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n) >>\r
-endobj\r
-% 'Outline.34.0': class OutlineEntryObject \r
-241 0 obj\r
-<< /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 165.6236\r
- 0 ]\r
- /Next 242 0 R\r
- /Parent 240 0 R\r
- /Title (\376\377\0005\000.\0001\000.\0001\000.\0001\000.\000\240\000\240\000\240\000m\000k\000m\000u\000t\000e\000s\000t\000 \000I\000n\000v\000o\000c\000a\000t\000i\000o\000n) >>\r
-endobj\r
-% 'Outline.34.1': class OutlineEntryObject \r
-242 0 obj\r
-<< /Dest [ 173 0 R\r
- /XYZ\r
- 62.69291\r
- 111.6236\r
- 0 ]\r
- /Next 243 0 R\r
- /Parent 240 0 R\r
- /Prev 241 0 R\r
- /Title (\376\377\0005\000.\0001\000.\0001\000.\0002\000.\000\240\000\240\000\240\000T\000e\000s\000t\000 \000P\000r\000o\000g\000r\000a\000m\000 \000I\000n\000v\000o\000c\000a\000t\000i\000o\000n) >>\r
-endobj\r
-% 'Outline.34.2': class OutlineEntryObject \r
-243 0 obj\r
-<< /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 672.0236\r
- 0 ]\r
- /Parent 240 0 R\r
- /Prev 242 0 R\r
- /Title (\376\377\0005\000.\0001\000.\0001\000.\0003\000.\000\240\000\240\000\240\000D\000e\000p\000e\000n\000d\000e\000n\000c\000i\000e\000s) >>\r
-endobj\r
-% 'Outline.32.1': class OutlineEntryObject \r
-244 0 obj\r
-<< /Count 3\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 558.0236\r
- 0 ]\r
- /First 245 0 R\r
- /Last 245 0 R\r
- /Parent 238 0 R\r
- /Prev 239 0 R\r
- /Title (\376\377\0005\000.\0002\000.\000\240\000\240\000\240\000D\000y\000n\000a\000m\000i\000c\000 \000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000s) >>\r
-endobj\r
-% 'Outline.35.0': class OutlineEntryObject \r
-245 0 obj\r
-<< /Count 2\r
- /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 390.0236\r
- 0 ]\r
- /First 246 0 R\r
- /Last 247 0 R\r
- /Parent 244 0 R\r
- /Title (\376\377\0005\000.\0002\000.\0001\000.\000\240\000\240\000\240\000P\000y\000t\000h\000o\000n\000 \000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n) >>\r
-endobj\r
-% 'Outline.36.0': class OutlineEntryObject \r
-246 0 obj\r
-<< /Dest [ 207 0 R\r
- /XYZ\r
- 62.69291\r
- 129.8236\r
- 0 ]\r
- /Next 247 0 R\r
- /Parent 245 0 R\r
- /Title (\376\377\0005\000.\0002\000.\0001\000.\0001\000.\000\240\000\240\000\240\000m\000u\000t\000e\000s\000t\000 \000I\000n\000v\000o\000c\000a\000t\000i\000o\000n) >>\r
-endobj\r
-% 'Outline.36.1': class OutlineEntryObject \r
-247 0 obj\r
-<< /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 633.0236\r
- 0 ]\r
- /Parent 245 0 R\r
- /Prev 246 0 R\r
- /Title (\376\377\0005\000.\0002\000.\0001\000.\0002\000.\000\240\000\240\000\240\000D\000e\000p\000e\000n\000d\000e\000n\000c\000i\000e\000s) >>\r
-endobj\r
-% 'Outline.5': class OutlineEntryObject \r
-248 0 obj\r
-<< /Count 4\r
- /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 537.0236\r
- 0 ]\r
- /First 249 0 R\r
- /Last 252 0 R\r
- /Next 253 0 R\r
- /Parent 224 0 R\r
- /Prev 238 0 R\r
- /Title (\376\377\0006\000.\000\240\000\240\000\240\000R\000e\000f\000e\000r\000e\000n\000c\000e) >>\r
-endobj\r
-% 'Outline.37.0': class OutlineEntryObject \r
-249 0 obj\r
-<< /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 504.0236\r
- 0 ]\r
- /Next 250 0 R\r
- /Parent 248 0 R\r
- /Title (\376\377\0006\000.\0001\000.\000\240\000\240\000\240\000m\000u\000_\000c\000h\000e\000c\000k\000\(\000\)) >>\r
-endobj\r
-% 'Outline.37.1': class OutlineEntryObject \r
-250 0 obj\r
-<< /Dest [ 216 0 R\r
- /XYZ\r
- 62.69291\r
- 286.8236\r
- 0 ]\r
- /Next 251 0 R\r
- /Parent 248 0 R\r
- /Prev 249 0 R\r
- /Title (\376\377\0006\000.\0002\000.\000\240\000\240\000\240\000m\000u\000_\000e\000n\000s\000u\000r\000e\000\(\000\)) >>\r
-endobj\r
-% 'Outline.37.2': class OutlineEntryObject \r
-251 0 obj\r
-<< /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 765.0236\r
- 0 ]\r
- /Next 252 0 R\r
- /Parent 248 0 R\r
- /Prev 250 0 R\r
- /Title (\376\377\0006\000.\0003\000.\000\240\000\240\000\240\000m\000u\000_\000e\000c\000h\000e\000c\000k\000\(\000\)) >>\r
-endobj\r
-% 'Outline.37.3': class OutlineEntryObject \r
-252 0 obj\r
-<< /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 463.8236\r
- 0 ]\r
- /Parent 248 0 R\r
- /Prev 251 0 R\r
- /Title (\376\377\0006\000.\0004\000.\000\240\000\240\000\240\000m\000u\000_\000e\000e\000n\000s\000u\000r\000e\000\(\000\)) >>\r
-endobj\r
-% 'Outline.6': class OutlineEntryObject \r
-253 0 obj\r
-<< /Dest [ 221 0 R\r
- /XYZ\r
- 62.69291\r
- 162.6236\r
- 0 ]\r
- /Parent 224 0 R\r
- /Prev 248 0 R\r
- /Title (\376\377\0007\000.\000\240\000\240\000\240\000A\000b\000o\000u\000t) >>\r
-endobj\r
-% 'R254': class PDFPages \r
-254 0 obj\r
-% page tree\r
-<< /Count 10\r
- /Kids [ 24 0 R\r
- 99 0 R\r
- 108 0 R\r
- 109 0 R\r
- 119 0 R\r
- 146 0 R\r
- 173 0 R\r
- 207 0 R\r
- 216 0 R\r
- 221 0 R ]\r
- /Type /Pages >>\r
-endobj\r
-% 'R255': class PDFStream \r
-255 0 obj\r
-% page stream\r
-<< /Length 4021 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 717.0236 cm\r
-q\r
-BT 1 0 0 1 0 28 Tm 11.56488 0 Td 24 TL /F2 20 Tf 0 0 0 rg (mutest ) Tj /F3 20 Tf (- A simple micro unit testing framework) Tj T* 200.05 0 Td (for C) Tj T* -211.6149 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 692.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 36.93937 0 Td (Author:) Tj T* -36.93937 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 91.03937 3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Leandro Lucarella) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 677.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 32.48937 0 Td (Contact:) Tj T* -32.48937 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 91.03937 3 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (llucax@gmail.com) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 662.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 33.02937 0 Td (Version:) Tj T* -33.02937 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 91.03937 3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (1.0) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 647.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 48.03937 0 Td (Date:) Tj T* -48.03937 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 91.03937 3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (2013-02-17) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 632.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 22.48937 0 Td (Copyright:) Tj T* -22.48937 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 91.03937 3 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Leandro Lucarella \(2008\), released under the ) Tj 0 0 .501961 rg (BOLA ) Tj 0 0 0 rg (license) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 605.0236 cm\r
-q\r
-BT 1 0 0 1 0 2.5 Tm 15 TL /F2 12.5 Tf 0 0 0 rg (Abstract) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 551.0236 cm\r
-q\r
-BT 1 0 0 1 0 38 Tm 12 TL /F4 10 Tf 0 0 0 rg (mutest ) Tj /F1 10 Tf (is a micro ) Tj 0 0 .501961 rg (unit testing ) Tj 0 0 0 rg (framework for C \(with some ) Tj 0 0 .501961 rg (C++ support) Tj 0 0 0 rg (\). It's mostly an idea \(it even comes) Tj T* (with 2 ) Tj 0 0 .501961 rg (implementations ) Tj 0 0 0 rg (of the idea!\) with the goal of being easy to use \(just write your ) Tj 0 0 .501961 rg (test cases ) Tj 0 0 0 rg (grouped) Tj T* (in ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (and you're set\) and so small and simple that you don't mind to copy the files to your project) Tj T* (and just use it \(i.e., no dependencies\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 503.0236 cm\r
-q\r
-BT 1 0 0 1 0 38 Tm 12 TL /F1 10 Tf 0 0 0 rg (The idea is simple: a source file is a ) Tj 0 0 .501961 rg (test suite) Tj 0 0 0 rg (, a function is a ) Tj 0 0 .501961 rg (test case ) Tj 0 0 0 rg (\(special functions can be used for) Tj T* 0 0 .501961 rg (test suite) Tj 0 0 0 rg ( ) Tj 0 0 .501961 rg (initialization ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (termination) Tj 0 0 0 rg (\), which can can have several ) Tj 0 0 .501961 rg (checks) Tj 0 0 0 rg (. ) Tj 0 0 .501961 rg (Checks ) Tj 0 0 0 rg (comes in 2 flavors,) Tj T* (one that only prints an error, and one that terminates the current ) Tj 0 0 .501961 rg (test case ) Tj 0 0 0 rg (too. A \(normally\) automated) Tj T* 0 0 .501961 rg (test program ) Tj 0 0 0 rg (run all the ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (and print some stats. It fails \(returns non-zero\) if any ) Tj 0 0 .501961 rg (test suite ) Tj 0 0 0 rg (fails.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 467.0236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (<) Tj (div style="width: 220px; height: 270px; float: right; margin-left: 1em; margin-top: 1em") Tj (> <) Tj (iframe) Tj T* (width="220" height="270" style="border: none; outline: none") Tj T* (src="http://tools.flattr.net/widgets/thing.html?thing=1141711") Tj (>) Tj (<) Tj (/iframe) Tj (> <) Tj (/div) Tj (>) Tj T* ET\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R256': class PDFStream \r
-256 0 obj\r
-% page stream\r
-<< /Length 8831 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 744.0236 cm\r
-q\r
-BT 1 0 0 1 0 3.5 Tm 21 TL /F3 17.5 Tf 0 0 0 rg (Contents) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 216.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 0 507 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 .501961 rg (1. Installation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 507 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 66.44 0 Td (2) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 489 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 .501961 rg (2. Quick Sample) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 489 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 66.44 0 Td (3) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 471 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (2.1. factorial.c) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 471 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (3) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 453 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (2.2. factorial_test.c) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 453 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (4) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 435 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (2.3. exception_test.cpp) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 435 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (5) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 417 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 .501961 rg (3. Concepts) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 417 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 66.44 0 Td (5) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 399 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.1. Test Program) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 399 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (5) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 381 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2. Test Suite) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 381 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 363 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.3. Test Case) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 363 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 345 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.4. Checks) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 345 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 327 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.5. Initialization) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 327 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 309 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.6. Termination) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 309 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 291 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 .501961 rg (4. C++ Support) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 291 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 273 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 .501961 rg (5. Implementations) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 273 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 255 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.1. Static Implementations) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 255 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 237 cm\r
-q\r
-BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.1.1. C implementation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 237 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 219 cm\r
-q\r
-BT 1 0 0 1 60 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.1.1.1. ) Tj /F5 10 Tf 0 0 0 rg (mkmutest ) Tj /F1 10 Tf 0 0 .501961 rg (Invocation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 219 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 201 cm\r
-q\r
-BT 1 0 0 1 60 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.1.1.2. Test Program Invocation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 201 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 183 cm\r
-q\r
-BT 1 0 0 1 60 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.1.1.3. Dependencies) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 183 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (8) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 165 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.2. Dynamic Implementations) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 165 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (8) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 147 cm\r
-q\r
-BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.2.1. Python implementation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 147 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (8) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 129 cm\r
-q\r
-BT 1 0 0 1 60 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.2.1.1. ) Tj /F5 10 Tf 0 0 0 rg (mutest ) Tj /F1 10 Tf 0 0 .501961 rg (Invocation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 129 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (8) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 111 cm\r
-q\r
-BT 1 0 0 1 60 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (5.2.1.2. Dependencies) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 111 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (9) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 93 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 .501961 rg (6. Reference) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 93 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 66.44 0 Td (9) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 75 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (6.1. ) Tj /F5 10 Tf 0 0 0 rg (mu_check\(\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 75 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (9) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 57 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (6.2. ) Tj /F5 10 Tf 0 0 0 rg (mu_ensure\(\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 57 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (9) Tj T* -66.44 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 39 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (6.3. ) Tj /F5 10 Tf 0 0 0 rg (mu_echeck\(\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 39 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 60.88 0 Td (10) Tj T* -60.88 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 21 cm\r
-q\r
-BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (6.4. ) Tj /F5 10 Tf 0 0 0 rg (mu_eensure\(\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 21 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 60.88 0 Td (10) Tj T* -60.88 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 0 3 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 .501961 rg (7. About) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 397.8898 3 cm\r
-q\r
-0 0 .501961 rg\r
-0 0 .501961 RG\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL 60.88 0 Td (10) Tj T* -60.88 0 Td ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 183.0236 cm\r
-q\r
-BT 1 0 0 1 0 3.5 Tm 21 TL /F3 17.5 Tf 0 0 0 rg (1. Installation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 165.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Download the ) Tj 0 0 .501961 rg (latest distribution tarball ) Tj 0 0 0 rg (and uncompress it.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 135.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.279987 Tw 12 TL /F1 10 Tf 0 0 0 rg (You can also download any release from the ) Tj 0 0 .501961 rg (releases directory ) Tj 0 0 0 rg (or get it using ) Tj 0 0 .501961 rg (Git ) Tj 0 0 0 rg (directly from the ) Tj 0 0 .501961 rg (Git) Tj T* 0 Tw (repository) Tj 0 0 0 rg (.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 117.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (You can get ) Tj 0 0 .501961 rg (this manual ) Tj 0 0 0 rg (too, or a ) Tj 0 0 .501961 rg (PDF version ) Tj 0 0 0 rg (of it.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 99.02362 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (To actually install ) Tj /F4 10 Tf (mutest ) Tj /F1 10 Tf (run:) Tj T* ET\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R257': class PDFStream \r
-257 0 obj\r
-% page stream\r
-<< /Length 4497 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 739.8236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 24 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL ($ make install) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 707.8236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.377674 Tw 12 TL /F1 10 Tf 0 0 0 rg (Default installation path is ) Tj /F5 10 Tf (/usr/local ) Tj /F1 10 Tf (\(because of that, you'll probably need superuser privileges to) Tj T* 0 Tw (install to the default location\). You can override that by passing the ) Tj /F5 10 Tf (prefix ) Tj /F1 10 Tf (make variable, for example:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 674.6236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 24 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL ($ make prefix=/opt/mutest install) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 654.6236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (If you want to install just the docs, you can do:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 621.4236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 24 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL ($ make install-doc) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 601.4236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Or even ) Tj /F5 10 Tf (install-readme) Tj /F1 10 Tf (, ) Tj /F5 10 Tf (install-html ) Tj /F1 10 Tf (or ) Tj /F5 10 Tf (install-pdf ) Tj /F1 10 Tf (if you are too picky.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 571.4236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.063318 Tw 12 TL /F1 10 Tf 0 0 0 rg (If you want to install just one particular ) Tj 0 0 .501961 rg (implementation) Tj 0 0 0 rg (, to can use the ) Tj /F5 10 Tf (install-c ) Tj /F1 10 Tf (and ) Tj /F5 10 Tf (install-py) Tj T* 0 Tw /F1 10 Tf (targets.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 538.4236 cm\r
-q\r
-BT 1 0 0 1 0 3.5 Tm 21 TL /F3 17.5 Tf 0 0 0 rg (2. Quick Sample) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 520.4236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (You can find some samples in the ) Tj 0 0 .501961 rg (sample ) Tj 0 0 0 rg (directory.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 490.4236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .919985 Tw 12 TL /F1 10 Tf 0 0 0 rg (This is an example taken from there. A simple ) Tj /F4 10 Tf (module ) Tj /F1 10 Tf (called ) Tj 0 0 .501961 rg (factorial.c ) Tj 0 0 0 rg (with its corresponding ) Tj 0 0 .501961 rg (test suite) Tj T* 0 Tw 0 0 0 rg (\() Tj 0 0 .501961 rg (factorial_test.c) Tj 0 0 0 rg (\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 472.4236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (You can see some ) Tj 0 0 .501961 rg (C++ support ) Tj 0 0 0 rg (in the ) Tj 0 0 .501961 rg (exception_test.cpp) Tj 0 0 0 rg ( ) Tj 0 0 .501961 rg (test suite) Tj 0 0 0 rg (.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 442.4236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (2.1. factorial.c) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 217.2236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 216 re B*\r
-Q\r
-q\r
-BT 1 0 0 1 0 194 Tm 12 TL /F1 10 Tf 0 0 0 rg (/*) Tj T* ( * This file is part of mutest, a simple micro unit testing framework for C.) Tj T* ( *) Tj T* ( * mutest was written by Leandro Lucarella ) Tj (<) Tj (llucax@gmail.com) Tj (>) Tj ( and is released) Tj T* ( * under the BOLA license, please see the LICENSE file or visit:) Tj T* ( * http://blitiri.com.ar/p/bola/) Tj T* ( *) Tj T* ( * This is an example module that calculates a factorial.) Tj T* ( *) Tj T* ( * Please, read the README file for more details.) Tj T* ( */) Tj /F5 10 Tf T* T* /F1 10 Tf (unsigned) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj (unsigned) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (x) Tj (\)) Tj /F5 10 Tf ( ) Tj /F1 10 Tf ({) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (if) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (\() Tj (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (<) Tj (=) Tj /F5 10 Tf ( ) Tj (1) Tj /F1 10 Tf (\)) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (return) Tj /F5 10 Tf ( ) Tj (1) Tj /F1 10 Tf (;) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (return) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (*) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj (x) Tj (-) Tj /F5 10 Tf (1) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* /F1 10 Tf (}) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R258': class PDFStream \r
-258 0 obj\r
-% page stream\r
-<< /Length 4506 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 747.0236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (2.2. factorial_test.c) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 161.8236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 576 re B*\r
-Q\r
-q\r
-BT 1 0 0 1 0 554 Tm 12 TL /F1 10 Tf 0 0 0 rg (/*) Tj T* ( * This file is part of mutest, a simple micro unit testing framework for C.) Tj T* ( *) Tj T* ( * mutest was written by Leandro Lucarella ) Tj (<) Tj (llucax@gmail.com) Tj (>) Tj ( and is released) Tj T* ( * under the BOLA license, please see the LICENSE file or visit:) Tj T* ( * http://blitiri.com.ar/p/bola/) Tj T* ( *) Tj T* ( * This is the factorial module test suite. Each \(public\) function starting) Tj T* ( * with mu_test will be picked up by mkmutest as a test case.) Tj T* ( *) Tj T* ( * Please, read the README file for more details.) Tj T* ( */) Tj /F5 10 Tf T* T* /F1 10 Tf (#include "factorial.h") Tj T* /F5 10 Tf T* /F1 10 Tf (#include "../mutest.h") Tj T* /F5 10 Tf T* /F1 10 Tf (void) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (mu_test_factorial_zero) Tj (\(\)) Tj /F5 10 Tf ( ) Tj /F1 10 Tf ({) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (unsigned) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (=) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj /F5 10 Tf (0) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (mu_check) Tj (\() Tj (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (1) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* /F1 10 Tf (}) Tj /F5 10 Tf T* T* /F1 10 Tf (void) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (mu_test_factorial_one) Tj (\(\)) Tj /F5 10 Tf ( ) Tj /F1 10 Tf ({) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (unsigned) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (=) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj /F5 10 Tf (1) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (/* this test is wrong on purpose, to see how it fails */) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (mu_check) Tj (\() Tj (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (2) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* /F1 10 Tf (}) Tj /F5 10 Tf T* T* /F1 10 Tf (void) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (mu_test_factorial_positive) Tj (\(\)) Tj /F5 10 Tf ( ) Tj /F1 10 Tf ({) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (unsigned) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (=) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj /F5 10 Tf (2) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (/* this test is wrong on purpose, to see how it fails */) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (mu_check) Tj (\() Tj (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (3) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* T* ( ) Tj /F1 10 Tf (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (=) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj /F5 10 Tf (3) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (/* we don't want to continue if this fails, because the next result) Tj T* ( * depends on this one. This one will succeed. */) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (mu_ensure) Tj (\() Tj (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (6) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* T* ( ) Tj /F1 10 Tf (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (=) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj (x) Tj (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (mu_check) Tj (\() Tj (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (720) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* T* ( ) Tj /F1 10 Tf (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (=) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj /F5 10 Tf (4) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (mu_ensure) Tj (\() Tj (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (6) Tj /F1 10 Tf (\);) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (/* same as before, but this one will fail. */) Tj /F5 10 Tf T* T* ( ) Tj /F1 10 Tf (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (=) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (factorial) Tj (\() Tj (x) Tj (-) Tj /F5 10 Tf (15) Tj /F1 10 Tf (\);) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (/* and this will never be executed */) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (mu_check) Tj (\() Tj (x) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (362881) Tj /F1 10 Tf (\);) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (/* but if excecuted, will fail */) Tj /F5 10 Tf T* /F1 10 Tf (}) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R259': class PDFStream \r
-259 0 obj\r
-% page stream\r
-<< /Length 5051 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 747.0236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (2.3. exception_test.cpp) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 281.8236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 456 re B*\r
-Q\r
-q\r
-BT 1 0 0 1 0 434 Tm 12 TL /F1 10 Tf 0 0 0 rg (/*) Tj T* ( * This file is part of mutest, a simple micro unit testing framework for C.) Tj T* ( *) Tj T* ( * mutest was written by Leandro Lucarella ) Tj (<) Tj (llucax@gmail.com) Tj (>) Tj ( and is released) Tj T* ( * under the BOLA license, please see the LICENSE file or visit:) Tj T* ( * http://blitiri.com.ar/p/bola/) Tj T* ( *) Tj T* ( * This is a C++ module test suite. It shows how to use checks involving) Tj T* ( * exceptions.) Tj T* ( *) Tj T* ( * Please, read the README file for more details.) Tj T* ( */) Tj /F5 10 Tf T* T* /F1 10 Tf (#include ) Tj (<) Tj (stdexcept) Tj (>) Tj ( ) Tj (// std::out_of_range) Tj T* (#include ) Tj (<) Tj (vector) Tj (>) Tj ( ) Tj (// std::vector) Tj T* /F5 10 Tf T* /F1 10 Tf (#include "../mutest.h") Tj T* /F5 10 Tf T* /F1 10 Tf (extern) Tj /F5 10 Tf ( ) Tj ("C") Tj ( ) Tj /F1 10 Tf ({) Tj /F5 10 Tf T* T* /F1 10 Tf (void) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (mu_test_exceptions) Tj (\(\)) Tj /F5 10 Tf ( ) Tj /F1 10 Tf ({) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (std) Tj (::) Tj (vector) Tj (<) Tj (int) Tj (>) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (v) Tj (\() Tj /F5 10 Tf (1) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (// ok) Tj T* /F5 10 Tf ( ) Tj /F1 10 Tf (mu_check) Tj (\() Tj (v) Tj (.) Tj (at) Tj (\() Tj /F5 10 Tf (0) Tj /F1 10 Tf (\)) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (0) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (// throws! This fails) Tj T* /F5 10 Tf ( ) Tj /F1 10 Tf (mu_check) Tj (\() Tj (v) Tj (.) Tj (at) Tj (\() Tj /F5 10 Tf (1) Tj /F1 10 Tf (\)) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (==) Tj /F5 10 Tf ( ) Tj (0) Tj /F1 10 Tf (\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (// ok, we expect the exception to be thrown, and it does) Tj T* /F5 10 Tf ( ) Tj /F1 10 Tf (mu_echeck) Tj (\() Tj (std) Tj (::) Tj (out_of_range) Tj (,) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (v) Tj (.) Tj (at) Tj (\() Tj /F5 10 Tf (1) Tj /F1 10 Tf (\)\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (// fails! We expect this to throw, but it doesn't) Tj T* /F5 10 Tf ( ) Tj /F1 10 Tf (mu_echeck) Tj (\() Tj (std) Tj (::) Tj (out_of_range) Tj (,) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (v) Tj (.) Tj (at) Tj (\() Tj /F5 10 Tf (0) Tj /F1 10 Tf (\)\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (// fails again, but this time the show is over \(note the "ensure"\)) Tj T* /F5 10 Tf ( ) Tj /F1 10 Tf (mu_eensure) Tj (\() Tj (std) Tj (::) Tj (out_of_range) Tj (,) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (v) Tj (.) Tj (at) Tj (\() Tj /F5 10 Tf (0) Tj /F1 10 Tf (\)\);) Tj /F5 10 Tf T* ( ) Tj /F1 10 Tf (// this will never be executed \(it should fail if it is\)) Tj T* /F5 10 Tf ( ) Tj /F1 10 Tf (mu_check) Tj (\() Tj (v) Tj (.) Tj (empty) Tj (\(\)\);) Tj /F5 10 Tf T* /F1 10 Tf (}) Tj /F5 10 Tf T* T* /F1 10 Tf (}) Tj /F5 10 Tf ( ) Tj /F1 10 Tf (// extern "C") Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 248.8236 cm\r
-q\r
-BT 1 0 0 1 0 3.5 Tm 21 TL /F3 17.5 Tf 0 0 0 rg (3. Concepts) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 218.8236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .475542 Tw 12 TL /F4 10 Tf 0 0 0 rg (mutest ) Tj /F1 10 Tf (is about 4 simple concepts: ) Tj 0 0 .501961 rg (test program) Tj 0 0 0 rg (, ) Tj 0 0 .501961 rg (test suite) Tj 0 0 0 rg (, ) Tj 0 0 .501961 rg (test case ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (checks) Tj 0 0 0 rg (. Well, to be honest you) Tj T* 0 Tw (probably will need ) Tj 0 0 .501961 rg (test suite) Tj 0 0 0 rg ( ) Tj 0 0 .501961 rg (initialization ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (termination ) Tj 0 0 0 rg (too =\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 188.8236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (3.1. Test Program) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 134.8236 cm\r
-q\r
-BT 1 0 0 1 0 38 Tm .090941 Tw 12 TL /F1 10 Tf 0 0 0 rg (A ) Tj /F3 10 Tf (test program ) Tj /F1 10 Tf (is the higher level unit of ) Tj /F4 10 Tf (mutest) Tj /F1 10 Tf (. The test program is the one in charge of running all your) Tj T* 0 Tw .28832 Tw (tests. Probably one of the more important features of ) Tj /F4 10 Tf (mutest ) Tj /F1 10 Tf (is that you are not supposed to bother about) Tj T* 0 Tw .014985 Tw (the test program. So, different ) Tj 0 0 .501961 rg (implementations ) Tj 0 0 0 rg (have different ways to tackle this. Some need more or less) Tj T* 0 Tw (interactions from your part, and each have their pros and cons.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 104.8236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .064751 Tw 12 TL /F1 10 Tf 0 0 0 rg (But this is all you need to know for now, for more details see how the test program is implemented by your) Tj T* 0 Tw 0 0 .501961 rg (implementation ) Tj 0 0 0 rg (of choice.) Tj T* ET\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R260': class PDFStream \r
-260 0 obj\r
-% page stream\r
-<< /Length 7052 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 747.0236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (3.2. Test Suite) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 681.0236 cm\r
-q\r
-BT 1 0 0 1 0 50 Tm .300444 Tw 12 TL /F1 10 Tf 0 0 0 rg (A ) Tj /F3 10 Tf (test suite ) Tj /F1 10 Tf (is the higher level unit of ) Tj /F4 10 Tf (mutest ) Tj /F1 10 Tf (that you should care about =\). Is not much more than a way) Tj T* 0 Tw 2.145542 Tw (to group ) Tj 0 0 .501961 rg (test cases) Tj 0 0 0 rg (. Code-wise, a test suite is a C \(or C++\) module \(or compilation unit\). Not clear) Tj T* 0 Tw 1.254104 Tw (enough? A unit test is an object file \(could be a shared object depending on the ) Tj 0 0 .501961 rg (implementation) Tj 0 0 0 rg (\). This) Tj T* 0 Tw .308221 Tw (module should have one or more ) Tj 0 0 .501961 rg (test cases ) Tj 0 0 0 rg (and it could have any number \(including zero\) of ) Tj 0 0 .501961 rg (initialization) Tj T* 0 Tw 0 0 0 rg (and ) Tj 0 0 .501961 rg (termination ) Tj 0 0 0 rg (functions.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 651.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .012927 Tw 12 TL /F1 10 Tf 0 0 0 rg (A test suite, is inspected by the ) Tj 0 0 .501961 rg (test program ) Tj 0 0 0 rg (for ) Tj 0 0 .501961 rg (test cases ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (initialization ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (termination ) Tj 0 0 0 rg (functions, and) Tj T* 0 Tw (run them.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 621.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .370941 Tw 12 TL /F1 10 Tf 0 0 0 rg (A test suite fail if one or more ) Tj 0 0 .501961 rg (test cases ) Tj 0 0 0 rg (fail, and it's skipped if one or more ) Tj 0 0 .501961 rg (initialization ) Tj 0 0 0 rg (functions fail \(or,) Tj T* 0 Tw (depending on the implementation, if the test suite can't be loaded at all\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 591.0236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (3.3. Test Case) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 561.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.064724 Tw 12 TL /F1 10 Tf 0 0 0 rg (A ) Tj /F3 10 Tf (test case ) Tj /F1 10 Tf (is just a plain function with a special signature and name. A test case function name must) Tj T* 0 Tw (start with ) Tj /F5 10 Tf (mu_test) Tj /F1 10 Tf (, and take no arguments and return nothing. For example:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 527.8236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 24 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL (void mu_test_something\(void\);) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 495.8236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .151488 Tw 12 TL /F1 10 Tf 0 0 0 rg (A test case \(probably\) only make sense if it has ) Tj 0 0 .501961 rg (checks) Tj 0 0 0 rg (. A test case succeed only if all its checks succeed) Tj T* 0 Tw (too.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 477.8236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Test are executed in an ) Tj 0 0 .501961 rg (implementation) Tj 0 0 0 rg (-dependant order, but usually the default order is alphabetical.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 447.8236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (3.4. Checks) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 405.8236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm .013516 Tw 12 TL /F1 10 Tf 0 0 0 rg (Checks are assertions that a ) Tj 0 0 .501961 rg (test case ) Tj 0 0 0 rg (must pass \(a boolean expression that must evaluate to ) Tj /F4 10 Tf (true) Tj /F1 10 Tf (\). There) Tj T* 0 Tw .094988 Tw (are 2 big flavors of checks: ) Tj /F3 10 Tf (check ) Tj /F1 10 Tf (and ) Tj /F3 10 Tf (ensure) Tj /F1 10 Tf (. ) Tj /F3 10 Tf (check ) Tj /F1 10 Tf (just print an error \(and ) Tj /F4 10 Tf (mark ) Tj /F1 10 Tf (the ) Tj 0 0 .501961 rg (test case ) Tj 0 0 0 rg (as failed\)) Tj T* 0 Tw (and ) Tj /F3 10 Tf (ensure ) Tj /F1 10 Tf (halt the ) Tj 0 0 .501961 rg (test case ) Tj 0 0 0 rg (execution, jumping to the next one.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 375.8236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .242339 Tw 12 TL /F1 10 Tf 0 0 0 rg (For better ) Tj 0 0 .501961 rg (C++ support ) Tj 0 0 0 rg (there are check macros that assert that a specified exception is thrown \(instead of) Tj T* 0 Tw (check for a boolean expression to evaluate to ) Tj /F4 10 Tf (true) Tj /F1 10 Tf (\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 357.8236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (You can take a look at the ) Tj 0 0 .501961 rg (reference ) Tj 0 0 0 rg (to see the different flavors of check macros in more detail.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 327.8236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (3.5. Initialization) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 297.8236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .960574 Tw 12 TL /F1 10 Tf 0 0 0 rg (Sometimes you need to setup some environment shared between all the ) Tj 0 0 .501961 rg (test cases ) Tj 0 0 0 rg (in a ) Tj 0 0 .501961 rg (test suite) Tj 0 0 0 rg (. You) Tj T* 0 Tw (can use ) Tj /F3 10 Tf (initialization functions ) Tj /F1 10 Tf (for this.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 255.8236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm 1.340542 Tw 12 TL /F1 10 Tf 0 0 0 rg (An initialization function, like a ) Tj 0 0 .501961 rg (test case) Tj 0 0 0 rg (, is a plain C function with a special name and signature. The) Tj T* 0 Tw 2.140574 Tw (name must start with ) Tj /F5 10 Tf (mu_init ) Tj /F1 10 Tf (and it must take no arguments, and return an ) Tj /F4 10 Tf (error code ) Tj /F1 10 Tf (\() Tj /F5 10 Tf (0 ) Tj /F1 10 Tf (being) Tj T* 0 Tw (success\). For example:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 222.6236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 24 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL (int mu_init_something\(void\);) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 190.6236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .253555 Tw 12 TL /F1 10 Tf 0 0 0 rg (All initialization functions are executed before any ) Tj 0 0 .501961 rg (test case) Tj 0 0 0 rg (, in an ) Tj 0 0 .501961 rg (implementation) Tj 0 0 0 rg (-dependant order, and if) Tj T* 0 Tw (one of them fail \(returns non-zero\), the whole ) Tj 0 0 .501961 rg (test suite ) Tj 0 0 0 rg (is skipped immediately.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 160.6236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (3.6. Termination) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 130.6236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .359269 Tw 12 TL /F3 10 Tf 0 0 0 rg (Termination functions ) Tj /F1 10 Tf (are just like ) Tj 0 0 .501961 rg (initialization ) Tj 0 0 0 rg (functions, but they're executed ) Tj /F3 10 Tf (after ) Tj /F1 10 Tf (the ) Tj 0 0 .501961 rg (test cases) Tj 0 0 0 rg (, their) Tj T* 0 Tw (names start with ) Tj /F5 10 Tf (mu_term ) Tj /F1 10 Tf (and they return nothing. For example:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 97.42362 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 24 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL (void mu_term_something\(void\);) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R261': class PDFStream \r
-261 0 obj\r
-% page stream\r
-<< /Length 6908 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 744.0236 cm\r
-q\r
-BT 1 0 0 1 0 3.5 Tm 21 TL /F3 17.5 Tf 0 0 0 rg (4. C++ Support) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 702.0236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm .625251 Tw 12 TL /F1 10 Tf 0 0 0 rg (You can use ) Tj /F4 10 Tf (mutest ) Tj /F1 10 Tf (with C++, the only care you must take is that, because of C++ ) Tj 0 0 .501961 rg (name mangling ) Tj 0 0 0 rg (\(and) Tj T* 0 Tw 1.208555 Tw /F4 10 Tf (mutest ) Tj /F1 10 Tf (relaying on function names\), you must declare your ) Tj 0 0 .501961 rg (test cases ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (initialization ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (termination) Tj T* 0 Tw 0 0 0 rg (functions as ) Tj /F5 10 Tf (extern) Tj ( ) Tj ("C" ) Tj /F1 10 Tf (\(see ) Tj 0 0 .501961 rg (exception_test.cpp ) Tj 0 0 0 rg (for an example\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 660.0236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm .386651 Tw 12 TL /F1 10 Tf 0 0 .501961 rg (Checks ) Tj 0 0 0 rg (become ) Tj /F4 10 Tf (exception-safe ) Tj /F1 10 Tf (when using ) Tj /F4 10 Tf (mutest ) Tj /F1 10 Tf (with a C++ compiler, and 2 extra ) Tj 0 0 .501961 rg (checks ) Tj 0 0 0 rg (designed for) Tj T* 0 Tw 1.558443 Tw (C++ get defined \() Tj 0 0 .501961 rg (mu_echeck\(\) ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (mu_eensure\(\)) Tj 0 0 0 rg (\). They assert that an expression throws a particular) Tj T* 0 Tw (exception.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 627.0236 cm\r
-q\r
-BT 1 0 0 1 0 3.5 Tm 21 TL /F3 17.5 Tf 0 0 0 rg (5. Implementations) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 609.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (There are 2 big groups of possible implementations that I can think of: ) Tj /F4 10 Tf (static ) Tj /F1 10 Tf (and ) Tj /F4 10 Tf (dynamic) Tj /F1 10 Tf (.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 591.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (mutest ) Tj /F1 10 Tf (comes with one implementation of each group.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 561.0236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (5.1. Static Implementations) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 519.0236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm .398735 Tw 12 TL /F1 10 Tf 0 0 0 rg (Static implementations can be only written in C/C++ \(or other language that is link-compatible with C, like) Tj T* 0 Tw 3.460651 Tw (the ) Tj 0 0 .501961 rg (D Programming Language) Tj 0 0 0 rg (, but since one of the main goals of ) Tj /F4 10 Tf (mutest ) Tj /F1 10 Tf (is avoid unnecessary) Tj T* 0 Tw (dependencies, you probably don't want to depend on an extra language/compiler to run your tests =\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 489.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.262485 Tw 12 TL /F1 10 Tf 0 0 0 rg (The main advantage is better debugging support, because you can run the ) Tj 0 0 .501961 rg (test program ) Tj 0 0 0 rg (in a standard) Tj T* 0 Tw (debugger and see what happens with ) Tj 0 0 .501961 rg (test cases ) Tj 0 0 0 rg (very naturally.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 447.0236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm .439398 Tw 12 TL /F1 10 Tf 0 0 0 rg (The main disadvantage is, the ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (must be figured out in ) Tj /F4 10 Tf (compile-time) Tj /F1 10 Tf (, usually using some kind of) Tj T* 0 Tw .555868 Tw (code generation \(if you want to avoid writing repetitive code yourself\). There's also a limitation in the ) Tj 0 0 .501961 rg (test) Tj T* 0 Tw (case) Tj 0 0 0 rg (, ) Tj 0 0 .501961 rg (initialization ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (termination ) Tj 0 0 0 rg (functions names: they should be unique for all the ) Tj 0 0 .501961 rg (test program) Tj 0 0 0 rg (.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 420.0236 cm\r
-q\r
-BT 1 0 0 1 0 2.5 Tm 15 TL /F2 12.5 Tf 0 0 0 rg (5.1.1. C implementation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 378.0236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm .44784 Tw 12 TL /F4 10 Tf 0 0 0 rg (mutest ) Tj /F1 10 Tf (comes with a C static implementation. Only 3 files are needed: ) Tj /F5 10 Tf (mutest.c ) Tj /F1 10 Tf (\(the ) Tj /F4 10 Tf (user-independent) Tj T* 0 Tw 1.39686 Tw /F1 10 Tf (part of the ) Tj 0 0 .501961 rg (test program) Tj 0 0 0 rg (\), ) Tj /F5 10 Tf (mkmutest ) Tj /F1 10 Tf (\(a bash script for generating the ) Tj /F4 10 Tf (user-dependent ) Tj /F1 10 Tf (part of the ) Tj 0 0 .501961 rg (test) Tj T* 0 Tw (program) Tj 0 0 0 rg (\) and ) Tj /F5 10 Tf (mutest.h ) Tj /F1 10 Tf (\(the header file that ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (should include\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 360.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (You can copy this 3 files to your project or install them at system-level and use them globally.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 330.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.415984 Tw 12 TL /F1 10 Tf 0 0 0 rg (The procedure is simple, You should compile you ) Tj 0 0 .501961 rg (test suites) Tj 0 0 0 rg (, ) Tj /F5 10 Tf (mutest.c ) Tj /F1 10 Tf (and the generated output of) Tj T* 0 Tw /F5 10 Tf (mkmutest ) Tj /F1 10 Tf (as object files and link them together.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 312.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (For example:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 230.8236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 72 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 50 Tm /F5 10 Tf 12 TL ($ cc -c -o mutest.o mutest.c) Tj T* ($ cc -c -o test1.o test1.c) Tj T* ($ cc -c -o test2.o test2.c) Tj T* ($ mkmutest mutest.h test1.o test2.o | cc -xc -c -o runmutest.o -) Tj T* ($ cc -o testprg mutest.o test1.o test2.o runmutest.o) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 210.8236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Then you can run the ) Tj 0 0 .501961 rg (test program ) Tj 0 0 0 rg (invoking it with no arguments:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 177.6236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 24 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL ($ ./testprg) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 153.6236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 0 rg (5.1.1.1. ) Tj /F6 10 Tf (mkmutest ) Tj /F2 10 Tf (Invocation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 123.6236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.715318 Tw 12 TL /F1 10 Tf 0 0 0 rg (This small script take 1 mandatory positional argument: the path to the ) Tj /F5 10 Tf (mutest.h ) Tj /F1 10 Tf (file. All remaining) Tj T* 0 Tw (positional arguments should be object files representing ) Tj 0 0 .501961 rg (test suites) Tj 0 0 0 rg (.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 99.62362 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 0 rg (5.1.1.2. Test Program Invocation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 81.62362 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (The test program can be invoked without arguments, but can take some extra options:) Tj T* ET\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R262': class PDFStream \r
-262 0 obj\r
-% page stream\r
-<< /Length 7873 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 753.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F7 10 Tf 12 TL (-v) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 684.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 56 Tm T* ET\r
-q\r
-1 0 0 1 20 54 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Be verbose. This is accumulative, when you add extra ) Tj /F5 10 Tf (-v ) Tj /F1 10 Tf (you will get extra verbosity.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 38 Tm .395542 Tw 12 TL /F1 10 Tf 0 0 0 rg (By default, you just get failed ) Tj 0 0 .501961 rg (checks ) Tj 0 0 0 rg (printed. If you use a single ) Tj /F5 10 Tf (-v) Tj /F1 10 Tf (, a summary of failed/passed ) Tj 0 0 .501961 rg (test) Tj T* 0 Tw .690514 Tw (suites) Tj 0 0 0 rg (, ) Tj 0 0 .501961 rg (test cases ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (checks ) Tj 0 0 0 rg (will be printed. If an extra ) Tj /F5 10 Tf (-v ) Tj /F1 10 Tf (is used, you'll see the current ) Tj 0 0 .501961 rg (test suite) Tj T* 0 Tw .099986 Tw 0 0 0 rg (being executed. Another ) Tj /F5 10 Tf (-v ) Tj /F1 10 Tf (and you'll get the current ) Tj 0 0 .501961 rg (test case) Tj 0 0 0 rg (, and another one, and you'll get each) Tj T* 0 Tw 0 0 .501961 rg (check) Tj 0 0 0 rg (.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 660.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 0 rg (5.1.1.3. Dependencies) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 642.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Even when dependencies are kept minimal, there always be a few ;\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 624.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (To use this implementation you just need:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 618.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 618.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 606.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 -3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 23 -3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (A C compiler \(you already needed that, so...\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 600.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 588.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 -3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 23 -3 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (The ) Tj /F5 10 Tf (nm ) Tj /F1 10 Tf (program \(from ) Tj 0 0 .501961 rg (GNU Binutils) Tj 0 0 0 rg (, included in virtually any *NIX\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 582.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 570.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 -3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 23 -3 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (The ) Tj 0 0 .501961 rg (GNU Bash ) Tj 0 0 0 rg (shell interpreter \(also included in virtually any *NIX\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 570.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 540.0236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (5.2. Dynamic Implementations) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 498.0236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm .84686 Tw 12 TL /F1 10 Tf 0 0 0 rg (Dynamic implementations, on the other hand, can be written in any language that can access to shared) Tj T* 0 Tw 2.661163 Tw (objects. The idea is to inspect a shared object for ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (and run them, without requiring any) Tj T* 0 Tw (information about ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (at compile time.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 432.0236 cm\r
-q\r
-BT 1 0 0 1 0 50 Tm 1.684983 Tw 12 TL /F1 10 Tf 0 0 0 rg (There are several advantages in this kind of implementations. The dynamic nature let you completely) Tj T* 0 Tw 1.71686 Tw (separate the ) Tj 0 0 .501961 rg (test program ) Tj 0 0 0 rg (from the user-written ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (and you can choose at ) Tj /F4 10 Tf (run-time ) Tj /F1 10 Tf (what ) Tj 0 0 .501961 rg (test) Tj T* 0 Tw .237984 Tw (suites ) Tj 0 0 0 rg (to execute by just selecting the correct shared objects. Also, ) Tj 0 0 .501961 rg (test case) Tj 0 0 0 rg (, ) Tj 0 0 .501961 rg (initialization ) Tj 0 0 0 rg (and ) Tj 0 0 .501961 rg (termination) Tj T* 0 Tw .134431 Tw 0 0 0 rg (functions names only have to be unique in the scope of the ) Tj 0 0 .501961 rg (test suites) Tj 0 0 0 rg (, because ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (are completely) Tj T* 0 Tw (isolated in separate shared objects.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 402.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .720988 Tw 12 TL /F1 10 Tf 0 0 0 rg (But everything comes at a price, and the higher price to pay is ) Tj /F4 10 Tf (debuggability) Tj /F1 10 Tf (. It's a little harder to plug a) Tj T* 0 Tw (debugger to a shared object.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 375.0236 cm\r
-q\r
-BT 1 0 0 1 0 2.5 Tm 15 TL /F2 12.5 Tf 0 0 0 rg (5.2.1. Python implementation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 333.0236 cm\r
-q\r
-BT 1 0 0 1 0 26 Tm 1.498651 Tw 12 TL /F1 10 Tf 0 0 0 rg (This implementation is much simpler and elegant than the ) Tj 0 0 .501961 rg (C implementation) Tj 0 0 0 rg (. Only 2 files are needed:) Tj T* 0 Tw .951318 Tw /F5 10 Tf (mutest ) Tj /F1 10 Tf (\() Tj 0 0 .501961 rg (test program ) Tj 0 0 0 rg (written in ) Tj 0 0 .501961 rg (Python ) Tj 0 0 0 rg (using ) Tj 0 0 .501961 rg (ctypes ) Tj 0 0 0 rg (module to access the shared object symbols\) and) Tj T* 0 Tw /F5 10 Tf (mutest.h ) Tj /F1 10 Tf (\(the header file that ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (should include\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 303.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 2.823059 Tw 12 TL /F1 10 Tf 0 0 0 rg (Since both implementations provided by ) Tj /F4 10 Tf (mutest ) Tj /F1 10 Tf (share the same ) Tj /F5 10 Tf (mutest.h) Tj /F1 10 Tf (, you should define the) Tj T* 0 Tw /F5 10 Tf (MUTEST_PY ) Tj /F1 10 Tf (macro when compiling the ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (if you will run them using this implementation.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 273.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm .452619 Tw 12 TL /F1 10 Tf 0 0 0 rg (As with the ) Tj 0 0 .501961 rg (C implementation) Tj 0 0 0 rg (, you can copy this 2 files to your project or install them at system-level and) Tj T* 0 Tw (use them globally.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 243.0236 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.578735 Tw 12 TL /F1 10 Tf 0 0 0 rg (The procedure is even simpler than the ) Tj 0 0 .501961 rg (C implementation) Tj 0 0 0 rg (: compile and link you ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (as shared) Tj T* 0 Tw (objects and then run the ) Tj /F5 10 Tf (mutest ) Tj /F1 10 Tf (program passing the shared objects as arguments. For example:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 161.8236 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 468.6898 72 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 50 Tm /F5 10 Tf 12 TL ($ cc -c -fPIC -DMUTEST_PY -o test1.o test1.c) Tj T* ($ cc -shared -o test1.so test1.o) Tj T* ($ cc -c -fPIC -DMUTEST_PY -o test2.o test2.c) Tj T* ($ cc -shared -o test2.so test2.o) Tj T* ($ mutest test1.so test2.so) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 141.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (That's it.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 117.8236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 0 rg (5.2.1.1. ) Tj /F6 10 Tf (mutest ) Tj /F2 10 Tf (Invocation) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 87.82362 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.505984 Tw 12 TL /F5 10 Tf 0 0 0 rg (mutest ) Tj /F1 10 Tf (program takes ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (shared objects to run as positional arguments. It accepts the same) Tj T* 0 Tw (options as the ) Tj 0 0 .501961 rg (C implementation's test program ) Tj 0 0 0 rg (and some extra options are accepted too:) Tj T* ET\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R263': class PDFStream \r
-263 0 obj\r
-% page stream\r
-<< /Length 6814 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 753.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F7 10 Tf 12 TL (--verbose) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 738.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Alias for ) Tj /F5 10 Tf (-v) Tj /F1 10 Tf (.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 722.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F7 10 Tf 0 0 0 rg (-q) Tj /F3 10 Tf (, ) Tj /F7 10 Tf (--quiet) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 707.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Be quiet \(no output is shown at all\).) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 691.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F7 10 Tf 0 0 0 rg (-s) Tj /F3 10 Tf (, ) Tj /F7 10 Tf (--search) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 676.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Search for ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (\(*.so\) in the current directory and add them to the list of ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (to run.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 660.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F7 10 Tf 0 0 0 rg (-h) Tj /F3 10 Tf (, ) Tj /F7 10 Tf (--help) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 645.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Show a help message and exit.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 621.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 0 rg (5.2.1.2. Dependencies) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 603.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (As with the ) Tj 0 0 .501961 rg (C implementation) Tj 0 0 0 rg (, some minor dependencies are needed:) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 597.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 597.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 585.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 -3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 23 -3 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (Python ) Tj 0 0 0 rg (\(2.5 or later\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 579.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 567.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-q\r
-1 0 0 1 6 -3 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 23 -3 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (The ) Tj /F5 10 Tf (nm ) Tj /F1 10 Tf (program \(from ) Tj 0 0 .501961 rg (GNU Binutils) Tj 0 0 0 rg (, included in virtually any *NIX\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 567.0236 cm\r
-Q\r
-q\r
-1 0 0 1 62.69291 549.0236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (You will need a C compiler for building the ) Tj 0 0 .501961 rg (test suites ) Tj 0 0 0 rg (too, but technically is not needed by ) Tj /F4 10 Tf (mutest ) Tj /F1 10 Tf (itself ;\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 516.0236 cm\r
-q\r
-BT 1 0 0 1 0 3.5 Tm 21 TL /F3 17.5 Tf 0 0 0 rg (6. Reference) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 486.0236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (6.1. ) Tj /F7 15 Tf (mu_check\(\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 468.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Synopsis) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 453.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL (mu_check\(expression\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 437.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Description) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 422.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Check that the ) Tj /F5 10 Tf (expression ) Tj /F1 10 Tf (evaluates to ) Tj /F4 10 Tf (true) Tj /F1 10 Tf (. Continue with the ) Tj 0 0 .501961 rg (test case ) Tj 0 0 0 rg (if fail.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 406.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Availability) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 391.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Always) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 375.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Example) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 298.8236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 63.2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 448.6898 72 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 50 Tm /F5 10 Tf 12 TL (void mu_test\(void\)) Tj T* ({) Tj T* ( mu_check\(5 == 4\); /* fail */) Tj T* ( mu_check\(5 == 5\); /* excecuted, pass */) Tj T* (}) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 268.8236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (6.2. ) Tj /F7 15 Tf (mu_ensure\(\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 250.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Synopsis) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 235.8236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F5 10 Tf 12 TL (mu_ensure\(expression\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 219.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Description) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 204.8236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Check that the ) Tj /F5 10 Tf (expression ) Tj /F1 10 Tf (evaluates to ) Tj /F4 10 Tf (true) Tj /F1 10 Tf (. Interrupt the ) Tj 0 0 .501961 rg (test case ) Tj 0 0 0 rg (if fail.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 188.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Availability) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 173.8236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Always) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 157.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Example) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 81.62362 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 63.2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 448.6898 72 re B*\r
-Q\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 50 Tm /F5 10 Tf 12 TL (void mu_test\(void\)) Tj T* ({) Tj T* ( mu_ensure\(5 == 4\); /* fail */) Tj T* ( mu_check\(5 == 5\); /* not excecuted */) Tj T* (}) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R264': class PDFStream \r
-264 0 obj\r
-% page stream\r
-<< /Length 4504 >>\r
-stream\r
-1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET\r
-q\r
-1 0 0 1 62.69291 747.0236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (6.3. ) Tj /F7 15 Tf (mu_echeck\(\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 729.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Synopsis) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 714.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F5 10 Tf 0 0 0 rg (mu_echeck\(class,) Tj ( ) Tj (expression\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 698.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Description) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 671.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 14 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.408443 Tw 12 TL /F1 10 Tf 0 0 0 rg (Check that the ) Tj /F5 10 Tf (expression ) Tj /F1 10 Tf (throws a specific exception ) Tj /F5 10 Tf (class ) Tj /F1 10 Tf (\(or subclass\). Continue with the) Tj T* 0 Tw 0 0 .501961 rg (test case ) Tj 0 0 0 rg (if fail.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 655.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Availability) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 640.0236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (C++ only) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 624.0236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Example) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 475.8236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 135.2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 448.6898 144 re B*\r
-Q\r
-q\r
-BT 1 0 0 1 0 122 Tm 12 TL /F5 10 Tf 0 0 0 rg (#include ) Tj (<) Tj (stdexcept) Tj (>) Tj T* T* (extern "C") Tj T* ({) Tj T* ( void mu_test\(void\)) Tj T* ( {) Tj T* ( mu_echeck\(std::exception, true\); /* fail */) Tj T* ( mu_echeck\(std::exception,) Tj T* ( throw std::runtime_error\("!"\)\); /* excecuted, pass */) Tj T* ( }) Tj T* (}) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 445.8236 cm\r
-q\r
-BT 1 0 0 1 0 3 Tm 18 TL /F3 15 Tf 0 0 0 rg (6.4. ) Tj /F7 15 Tf (mu_eensure\(\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 427.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Synopsis) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 412.8236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F5 10 Tf 0 0 0 rg (mu_eensure\(class,) Tj ( ) Tj (expression\)) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 396.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Description) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 369.8236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 14 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-BT 1 0 0 1 0 14 Tm 1.749982 Tw 12 TL /F1 10 Tf 0 0 0 rg (Check that the ) Tj /F5 10 Tf (expression ) Tj /F1 10 Tf (throws a specific exception ) Tj /F5 10 Tf (class ) Tj /F1 10 Tf (\(or subclass\). Interrupt the ) Tj 0 0 .501961 rg (test) Tj T* 0 Tw (case ) Tj 0 0 0 rg (if fail.) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 353.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Availability) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 338.8236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (C++ only) Tj T* ET\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 322.8236 cm\r
-q\r
-0 0 0 rg\r
-BT 1 0 0 1 0 2 Tm /F3 10 Tf 12 TL (Example) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 174.6236 cm\r
-0 0 0 rg\r
-BT /F1 10 Tf 12 TL ET\r
-BT 1 0 0 1 0 135.2 Tm T* ET\r
-q\r
-1 0 0 1 20 0 cm\r
-q\r
-q\r
-1 0 0 1 0 0 cm\r
-q\r
-1 0 0 1 6.6 6.6 cm\r
-q\r
-.662745 .662745 .662745 RG\r
-.5 w\r
-.960784 .960784 .862745 rg\r
-n -6 -6 448.6898 144 re B*\r
-Q\r
-q\r
-BT 1 0 0 1 0 122 Tm 12 TL /F5 10 Tf 0 0 0 rg (#include ) Tj (<) Tj (stdexcept) Tj (>) Tj T* T* (extern "C") Tj T* ({) Tj T* ( void mu_test\(void\)) Tj T* ( {) Tj T* ( mu_eensure\(std::exception, true\); /* fail */) Tj T* ( mu_echeck\(std::exception,) Tj T* ( throw std::runtime_error\("!"\)\); /* not excecuted */) Tj T* ( }) Tj T* (}) Tj T* ET\r
-Q\r
-Q\r
-Q\r
-Q\r
-Q\r
-q\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 141.6236 cm\r
-q\r
-BT 1 0 0 1 0 3.5 Tm 21 TL /F3 17.5 Tf 0 0 0 rg (7. About) Tj T* ET\r
-Q\r
-Q\r
-q\r
-1 0 0 1 62.69291 123.6236 cm\r
-q\r
-BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (This manual was written using ) Tj 0 0 .501961 rg (reStructuredText) Tj 0 0 0 rg (.) Tj T* ET\r
-Q\r
-Q\r
- \r
-endstream\r
-endobj\r
-% 'R265': class PDFPageLabels \r
-265 0 obj\r
-% Document Root\r
-<< /Nums [ 0\r
- 266 0 R\r
- 1\r
- 267 0 R\r
- 2\r
- 268 0 R\r
- 3\r
- 269 0 R\r
- 4\r
- 270 0 R\r
- 5\r
- 271 0 R\r
- 6\r
- 272 0 R\r
- 7\r
- 273 0 R\r
- 8\r
- 274 0 R\r
- 9\r
- 275 0 R ] >>\r
-endobj\r
-% 'R266': class PDFPageLabel \r
-266 0 obj\r
-% None\r
-<< /S /D\r
- /St 1 >>\r
-endobj\r
-% 'R267': class PDFPageLabel \r
-267 0 obj\r
-% None\r
-<< /S /D\r
- /St 2 >>\r
-endobj\r
-% 'R268': class PDFPageLabel \r
-268 0 obj\r
-% None\r
-<< /S /D\r
- /St 3 >>\r
-endobj\r
-% 'R269': class PDFPageLabel \r
-269 0 obj\r
-% None\r
-<< /S /D\r
- /St 4 >>\r
-endobj\r
-% 'R270': class PDFPageLabel \r
-270 0 obj\r
-% None\r
-<< /S /D\r
- /St 5 >>\r
-endobj\r
-% 'R271': class PDFPageLabel \r
-271 0 obj\r
-% None\r
-<< /S /D\r
- /St 6 >>\r
-endobj\r
-% 'R272': class PDFPageLabel \r
-272 0 obj\r
-% None\r
-<< /S /D\r
- /St 7 >>\r
-endobj\r
-% 'R273': class PDFPageLabel \r
-273 0 obj\r
-% None\r
-<< /S /D\r
- /St 8 >>\r
-endobj\r
-% 'R274': class PDFPageLabel \r
-274 0 obj\r
-% None\r
-<< /S /D\r
- /St 9 >>\r
-endobj\r
-% 'R275': class PDFPageLabel \r
-275 0 obj\r
-% None\r
-<< /S /D\r
- /St 10 >>\r
-endobj\r
-xref\r
-0 276\r
-0000000000 65535 f\r
-0000000113 00000 n\r
-0000000286 00000 n\r
-0000000451 00000 n\r
-0000000640 00000 n\r
-0000000827 00000 n\r
-0000001068 00000 n\r
-0000001303 00000 n\r
-0000001496 00000 n\r
-0000001756 00000 n\r
-0000001998 00000 n\r
-0000002241 00000 n\r
-0000002484 00000 n\r
-0000002727 00000 n\r
-0000002970 00000 n\r
-0000003214 00000 n\r
-0000003458 00000 n\r
-0000003702 00000 n\r
-0000003946 00000 n\r
-0000004190 00000 n\r
-0000004434 00000 n\r
-0000004678 00000 n\r
-0000004922 00000 n\r
-0000005166 00000 n\r
-0000005394 00000 n\r
-0000005862 00000 n\r
-0000006105 00000 n\r
-0000006348 00000 n\r
-0000006592 00000 n\r
-0000006836 00000 n\r
-0000007080 00000 n\r
-0000007324 00000 n\r
-0000007568 00000 n\r
-0000007812 00000 n\r
-0000008056 00000 n\r
-0000008300 00000 n\r
-0000008544 00000 n\r
-0000008788 00000 n\r
-0000009032 00000 n\r
-0000009276 00000 n\r
-0000009520 00000 n\r
-0000009764 00000 n\r
-0000010008 00000 n\r
-0000010252 00000 n\r
-0000010496 00000 n\r
-0000010740 00000 n\r
-0000010984 00000 n\r
-0000011228 00000 n\r
-0000011472 00000 n\r
-0000011716 00000 n\r
-0000011960 00000 n\r
-0000012204 00000 n\r
-0000012448 00000 n\r
-0000012692 00000 n\r
-0000012936 00000 n\r
-0000013180 00000 n\r
-0000013424 00000 n\r
-0000013654 00000 n\r
-0000013830 00000 n\r
-0000014074 00000 n\r
-0000014318 00000 n\r
-0000014562 00000 n\r
-0000014806 00000 n\r
-0000015050 00000 n\r
-0000015294 00000 n\r
-0000015538 00000 n\r
-0000015782 00000 n\r
-0000016026 00000 n\r
-0000016270 00000 n\r
-0000016514 00000 n\r
-0000016758 00000 n\r
-0000017002 00000 n\r
-0000017246 00000 n\r
-0000017490 00000 n\r
-0000017734 00000 n\r
-0000017978 00000 n\r
-0000018222 00000 n\r
-0000018466 00000 n\r
-0000018710 00000 n\r
-0000018954 00000 n\r
-0000019198 00000 n\r
-0000019442 00000 n\r
-0000019686 00000 n\r
-0000019930 00000 n\r
-0000020174 00000 n\r
-0000020418 00000 n\r
-0000020662 00000 n\r
-0000020906 00000 n\r
-0000021150 00000 n\r
-0000021394 00000 n\r
-0000021638 00000 n\r
-0000021882 00000 n\r
-0000022125 00000 n\r
-0000022405 00000 n\r
-0000022672 00000 n\r
-0000022909 00000 n\r
-0000023175 00000 n\r
-0000023441 00000 n\r
-0000023710 00000 n\r
-0000023963 00000 n\r
-0000024930 00000 n\r
-0000025174 00000 n\r
-0000025509 00000 n\r
-0000025754 00000 n\r
-0000025999 00000 n\r
-0000026244 00000 n\r
-0000026489 00000 n\r
-0000026734 00000 n\r
-0000026963 00000 n\r
-0000027338 00000 n\r
-0000027638 00000 n\r
-0000027884 00000 n\r
-0000028130 00000 n\r
-0000028376 00000 n\r
-0000028620 00000 n\r
-0000028866 00000 n\r
-0000029112 00000 n\r
-0000029358 00000 n\r
-0000029604 00000 n\r
-0000029833 00000 n\r
-0000030235 00000 n\r
-0000030480 00000 n\r
-0000030726 00000 n\r
-0000030972 00000 n\r
-0000031218 00000 n\r
-0000031464 00000 n\r
-0000031710 00000 n\r
-0000031955 00000 n\r
-0000032200 00000 n\r
-0000032446 00000 n\r
-0000032692 00000 n\r
-0000032938 00000 n\r
-0000033184 00000 n\r
-0000033430 00000 n\r
-0000033676 00000 n\r
-0000033922 00000 n\r
-0000034168 00000 n\r
-0000034414 00000 n\r
-0000034660 00000 n\r
-0000034906 00000 n\r
-0000035152 00000 n\r
-0000035398 00000 n\r
-0000035644 00000 n\r
-0000035888 00000 n\r
-0000036134 00000 n\r
-0000036380 00000 n\r
-0000036609 00000 n\r
-0000037180 00000 n\r
-0000037445 00000 n\r
-0000037690 00000 n\r
-0000037936 00000 n\r
-0000038182 00000 n\r
-0000038428 00000 n\r
-0000038674 00000 n\r
-0000038919 00000 n\r
-0000039165 00000 n\r
-0000039410 00000 n\r
-0000039662 00000 n\r
-0000039908 00000 n\r
-0000040154 00000 n\r
-0000040400 00000 n\r
-0000040646 00000 n\r
-0000040892 00000 n\r
-0000041138 00000 n\r
-0000041384 00000 n\r
-0000041630 00000 n\r
-0000041876 00000 n\r
-0000042122 00000 n\r
-0000042368 00000 n\r
-0000042614 00000 n\r
-0000042860 00000 n\r
-0000043091 00000 n\r
-0000043293 00000 n\r
-0000043522 00000 n\r
-0000044069 00000 n\r
-0000044257 00000 n\r
-0000044503 00000 n\r
-0000044749 00000 n\r
-0000044995 00000 n\r
-0000045241 00000 n\r
-0000045486 00000 n\r
-0000045732 00000 n\r
-0000045978 00000 n\r
-0000046223 00000 n\r
-0000046482 00000 n\r
-0000046738 00000 n\r
-0000046984 00000 n\r
-0000047230 00000 n\r
-0000047476 00000 n\r
-0000047722 00000 n\r
-0000047968 00000 n\r
-0000048213 00000 n\r
-0000048459 00000 n\r
-0000048705 00000 n\r
-0000048951 00000 n\r
-0000049197 00000 n\r
-0000049443 00000 n\r
-0000049689 00000 n\r
-0000049934 00000 n\r
-0000050178 00000 n\r
-0000050443 00000 n\r
-0000050689 00000 n\r
-0000050935 00000 n\r
-0000051181 00000 n\r
-0000051427 00000 n\r
-0000051673 00000 n\r
-0000051919 00000 n\r
-0000052148 00000 n\r
-0000052780 00000 n\r
-0000053026 00000 n\r
-0000053272 00000 n\r
-0000053517 00000 n\r
-0000053761 00000 n\r
-0000054021 00000 n\r
-0000054267 00000 n\r
-0000054513 00000 n\r
-0000054742 00000 n\r
-0000055134 00000 n\r
-0000055380 00000 n\r
-0000055626 00000 n\r
-0000055871 00000 n\r
-0000056118 00000 n\r
-0000056455 00000 n\r
-0000056619 00000 n\r
-0000056938 00000 n\r
-0000057067 00000 n\r
-0000057333 00000 n\r
-0000057663 00000 n\r
-0000057938 00000 n\r
-0000058254 00000 n\r
-0000058561 00000 n\r
-0000058871 00000 n\r
-0000059151 00000 n\r
-0000059437 00000 n\r
-0000059718 00000 n\r
-0000059984 00000 n\r
-0000060290 00000 n\r
-0000060562 00000 n\r
-0000060840 00000 n\r
-0000061185 00000 n\r
-0000061559 00000 n\r
-0000061897 00000 n\r
-0000062232 00000 n\r
-0000062603 00000 n\r
-0000062903 00000 n\r
-0000063282 00000 n\r
-0000063645 00000 n\r
-0000063970 00000 n\r
-0000064267 00000 n\r
-0000064582 00000 n\r
-0000064854 00000 n\r
-0000065147 00000 n\r
-0000065440 00000 n\r
-0000065719 00000 n\r
-0000065936 00000 n\r
-0000066136 00000 n\r
-0000070258 00000 n\r
-0000079190 00000 n\r
-0000083788 00000 n\r
-0000088395 00000 n\r
-0000093547 00000 n\r
-0000100700 00000 n\r
-0000107709 00000 n\r
-0000115683 00000 n\r
-0000122598 00000 n\r
-0000127207 00000 n\r
-0000127429 00000 n\r
-0000127508 00000 n\r
-0000127587 00000 n\r
-0000127666 00000 n\r
-0000127745 00000 n\r
-0000127824 00000 n\r
-0000127903 00000 n\r
-0000127982 00000 n\r
-0000128061 00000 n\r
-0000128140 00000 n\r
-trailer\r
-<< /ID \r
- % ReportLab generated PDF document -- digest (http://www.reportlab.com) \r
- [(\010\207@\355\312B{y\207\001\310\013\021\257\346z) (\010\207@\355\312B{y\207\001\310\013\021\257\346z)] \r
-\r
- /Info 223 0 R\r
- /Root 222 0 R\r
- /Size 276 >>\r
-startxref\r
-128189\r
-%%EOF\r