diff options
| author | Paul Buetow <paul@buetow.org> | 2008-08-13 22:44:42 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-08-13 22:44:42 +0000 |
| commit | b6465860231b9cffe78e8c97be2fc8b93081c8b0 (patch) | |
| tree | 47ddc4d26ad618a51f9d98608e445eff56465223 | |
| parent | 8026283bc06394c036d1b4b25a3239d05d399815 (diff) | |
foo
| -rw-r--r-- | LaTeX/chapters/implementierung.tex | 2 | ||||
| -rw-r--r-- | LaTeX/chapters/protokolle.tex | 47 | ||||
| -rw-r--r-- | LaTeX/chapters/simulator.tex | 58 | ||||
| -rw-r--r-- | LaTeX/diplomarbeit.pdf | 5794 |
4 files changed, 2978 insertions, 2923 deletions
diff --git a/LaTeX/chapters/implementierung.tex b/LaTeX/chapters/implementierung.tex index 3ce7c94..90fd713 100644 --- a/LaTeX/chapters/implementierung.tex +++ b/LaTeX/chapters/implementierung.tex @@ -280,7 +280,7 @@ In diesem Abschnitt wird auf die Implementierung der Protokolle und das Protokol \begin{figure}[h]
\centering
\includegraphics[width=12cm]{images/protocols}
- \caption{Die Pakete \textit{protocols} und \textit{protocols.*}}
+ \caption{Das Paket \textit{protocols.*}}
\label{fig:PackageProtocols}
\end{figure}
diff --git a/LaTeX/chapters/protokolle.tex b/LaTeX/chapters/protokolle.tex index 0fc8f7b..d214f42 100644 --- a/LaTeX/chapters/protokolle.tex +++ b/LaTeX/chapters/protokolle.tex @@ -86,6 +86,8 @@ Werden die Ereignisse wie in Tabelle \ref{tb:PingPongSturmTasks}. vorgegeben, so \caption{Programmierte Broadcast Ereignisse}
\label{tb:BroadcastSturmTasks}
\end{table}
+
+\newpage
\section{Das Broadcast Protokoll \small{\textit{(broadcast.dat)}}}
\begin{figure}[h]
@@ -149,7 +151,7 @@ Dieses Protokoll verwendet folgende zwei clientseitige Variablen, die in den Pro $t'_{min}$ und $t'_{max}$ sind die bei den Protokollberechnungen verwendeten Werte. Sie knnen sich allerdings von den tatschlichen Nachrichtenbertragungszeiten $t_{min}$ und $t_{max}$ (s. Kap. 2.4.3.) unterscheiden. Somit lassen sich auch Szenarien simulieren, in denen das Protokoll falsch eingestellt wurde und wobei der Zeitsynchronisierung groe Fehler auftreten knnen.
-
+\newpage
\section{Christians Methode zur externen Synchronisierung \small{\textit{(ext-vs-int-sync.dat)}}}
\begin{figure}[h]
@@ -565,6 +567,15 @@ In diesem Beispiel bentigt der Client bis zur erfolgreichen Auslieferung des zu \label{tb:ReliableMulticastTasks}
\end{table}
+\subsubsection{Protokollvariablen}
+
+Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesseinstellungen unter dem Punkt ``Reliable Multicast Server'' konfiguriert werden knnen:
+
+\begin{itemize}
+ \item \textbf{Zeit bis erneute Anfrage} \textit{(Long: timeout = 2500)}: Gibt die Anzahl von Millisekunden an, die gewartet werden sollen, bis der Muticast erneut verschickt wird.
+ \item \textbf{PIDs beteiligter Prozesse} \textit{(Integer[]: pids = [1,3])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Serverprozesse, die die Multicast-Nachricht erhalten sollen.
+\end{itemize}
+
\begin{table}
\centering
\fbox{
@@ -599,6 +610,17 @@ In diesem Beispiel bentigt der Client bis zur erfolgreichen Auslieferung des zu \hline
005952 & 1 & Nachricht erhalten; ID: 283; Protokoll: Reliable Multicast\\
\hline
+ \end{tabular}
+ }
+ \caption{Auszug aus dem Logfenster des Reliable-Multicast Beispiels}
+ \label{tb:ReliableMulticastLogs}
+\end{table}
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Lognachricht} \\
005952 & 1 & Nachricht versendet; ID: 284; Protokoll: Reliable Multicast\\
& & Integer: pid=1; Boolean: isAck=true\\
\hline
@@ -636,18 +658,6 @@ In diesem Beispiel bentigt der Client bis zur erfolgreichen Auslieferung des zu \hline
011213 & 1 & Nachricht versendet; ID: 289; Protokoll: Reliable Multicast\\
& & Integer: pid=1; Boolean: isAck=true\\
- \end{tabular}
- }
- \caption{Auszug aus dem Logfenster des Reliable-Multicast Beispiels}
- \label{tb:ReliableMulticastLogs}
-\end{table}
-
-\begin{table}
- \centering
- \fbox{
- \begin{tabular}{c|c|l}
- \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Lognachricht} \\
- \hline
011213 & 1 & ACK erneut versendet\\
\hline
011813 & 2 & Nachricht erhalten; ID: 288; Protokoll: Reliable Multicast\\
@@ -665,16 +675,7 @@ In diesem Beispiel bentigt der Client bis zur erfolgreichen Auslieferung des zu \label{tb:ReliableMulticastLogs2}
\end{table}
-\subsubsection{Protokollvariablen}
-
-Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesseinstellungen unter dem Punkt ``Reliable Multicast Server'' konfiguriert werden knnen:
-
-\begin{itemize}
- \item \textbf{Zeit bis erneute Anfrage} \textit{(Long: timeout = 2500)}: Gibt die Anzahl von Millisekunden an, die gewartet werden sollen, bis der Muticast erneut verschickt wird.
- \item \textbf{PIDs beteiligter Prozesse} \textit{(Integer[]: pids = [1,3])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Serverprozesse, die die Multicast-Nachricht erhalten sollen.
-\end{itemize}
-
-
+\newpage
\section{Weitere Beispiele}
Bisher wurden alle verfgbaren Protokolle anhand von Beispielen aufgefhrt. Mit dem Simulator lassen sich jedoch noch weitere Szenarien simulieren. Aus diesem Grund soll hier auf weitere Anwendungsbeispiele eingegangen werden.
diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex index f4d74ba..b344c5e 100644 --- a/LaTeX/chapters/simulator.tex +++ b/LaTeX/chapters/simulator.tex @@ -144,6 +144,8 @@ In der Sidebar gibt es neben dem Ereignis-Tab einen weiteren Tab ``Variablen''. \subsubsection{Das Logfenster}
+Das Logfenster (s. Abb. \ref{fig:NeuErstellteSimulation}., unten) protokolliert in chronologischer Reihenfolge alle eingetroffenen Ereignisse. In Abbildung \ref{fig:Logfenster}. ist das Logfenster nach Erstellung der Demo-Simulation zu sehen, an welcher 3 Prozesse beteiligt sind. Am Anfang eines Logeintrages wird stets die globale Zeit in Millisekunden protokolliert. Bei jedem Prozess werden ebenso seine lokalen Zeiten sowie die Lamport- und die Vektor-Zeitstempel aufgefhrt. Hinter den Zeitangaben werden weitere Angaben, wie beispielsweise welche Nachricht mit welchem Inhalt verschickt wurde und welchem Protokoll sie angehrt, gemacht. Dies wird spter noch anhand von Beispielen demonstriert.
+
\begin{figure}[h]
\centering
\fbox{\includegraphics[width=16.5cm]{images/ss-loggfenster}}
@@ -151,8 +153,6 @@ In der Sidebar gibt es neben dem Ereignis-Tab einen weiteren Tab ``Variablen''. \label{fig:Logfenster}
\end{figure}
-Das Logfenster (s. Abb. \ref{fig:NeuErstellteSimulation}., unten) protokolliert in chronologischer Reihenfolge alle eingetroffenen Ereignisse. In Abbildung \ref{fig:Logfenster}. ist das Logfenster nach Erstellung der Demo-Simulation zu sehen, an welcher 3 Prozesse beteiligt sind. Am Anfang eines Logeintrages wird stets die globale Zeit in Millisekunden protokolliert. Bei jedem Prozess werden ebenso seine lokalen Zeiten sowie die Lamport- und die Vektor-Zeitstempel aufgefhrt. Hinter den Zeitangaben werden weitere Angaben, wie beispielsweise welche Nachricht mit welchem Inhalt verschickt wurde und welchem Protokoll sie angehrt, gemacht. Dies wird spter noch anhand von Beispielen demonstriert.
-
Mit dem Deaktivieren des Logging-Schalters lsst sich das Loggen von Nachrichten temporr ausstellen. Mit deaktiviertem Loggen werden keine neuen Nachrichten mehr ins Logfenster geschrieben. Nach Reaktivieren des Schalters werden alle ausgelassenen Nachrichten nachtrglich in das Fenster geschrieben. Ein deaktiviertes Loggen kann zu verbessertem Leistungsverhalten des Simulators fhren. Dieser Umstand ist der sehr langsamen Java-Implementierung der JTextArea-Klasse zu verdanken, die schnelle Updates nur sehr trge durchfhrt.
ber den Schalter ``Expertenmodus'' wird der Expertenmodus aktiviert, bzw. deaktiviert.
@@ -303,6 +303,33 @@ Im Folgenden werden alle in den Simulationseinstellungen verfgbaren Variablen b Alle weiteren Simulationeinstellungen unter ``Einstellungen fr neue Prozesse'' sowie ``Nachrichteneinstellungen fr neue Prozesse'' definieren das Verhalten des jedes neu erzeugten Prozesses.
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{l|l}
+ \textbf{Schlssel} & \textbf{Beschreibung}\\
+ \hline
+ \textit{col.background} & Hintergrundfarbe des Simulationsfensters\\
+ \textit{col.message.arrived} & Nachrichtenfarbe wenn sie ihr Ziel erreicht hat\\
+ \textit{col.message.lost} & Nachrichtenfarbe wenn sie verloren ging\\
+ \textit{col.message.sending} & Nachrichtenfarbe wenn sie noch unterwegs ist\\
+ \textbf{\textit{col.process.crashed}} & Prozessfarbe wenn er abgestrzt ist\\
+ \textbf{\textit{col.process.default}} & Prozessfarbe wenn die Simulation aktuell nicht luft und \\
+ & der Prozess aktuell nicht abgestrzt ist \\
+ \textbf{\textit{col.process.highlight}} & Prozessfarbe wenn die Maus ber seinem Balken liegt\\
+ \textit{col.process.line} & Farbe, in der die kleine ``Prozessfahne'' an der auch die \\
+ & lokale Prozesszeit angegeben wird, dargestellt wird\\
+ \textbf{\textit{col.process.running}} & Prozessfarbe wenn er nicht abgestrzt ist und die\\
+ & Simulation aktuell luft\\
+ \textit{col.process.secondline} & Farbe der Sekunden-Zeitgitter\\
+ \textit{col.process.sepline} & Farbe der globalen Zeitachse\\
+ \textbf{\textit{col.process.stopped}} & Prozessfarbe wenn die Simulation pausiert wurde\\
+ \end{tabular}
+ }
+ \caption{Farbeinstellungen}
+ \label{tb:Farbeinstellungen}
+\end{table}
+
\subsection{Prozess- und Protokolleinstellungen}
Jeder Prozess besitzt folgende Variablen:
@@ -335,32 +362,5 @@ Im Prozesseditor lassen sich ebenfalls die Protokollvariablen editieren. Die Pro \subsection{Einstellungen im Expertenmodus}
-\begin{table}
- \centering
- \fbox{
- \begin{tabular}{l|l}
- \textbf{Schlssel} & \textbf{Beschreibung}\\
- \hline
- \textit{col.background} & Hintergrundfarbe des Simulationsfensters\\
- \textit{col.message.arrived} & Nachrichtenfarbe wenn sie ihr Ziel erreicht hat\\
- \textit{col.message.lost} & Nachrichtenfarbe wenn sie verloren ging\\
- \textit{col.message.sending} & Nachrichtenfarbe wenn sie noch unterwegs ist\\
- \textbf{\textit{col.process.crashed}} & Prozessfarbe wenn er abgestrzt ist\\
- \textbf{\textit{col.process.default}} & Prozessfarbe wenn die Simulation aktuell nicht luft und \\
- & der Prozess aktuell nicht abgestrzt ist \\
- \textbf{\textit{col.process.highlight}} & Prozessfarbe wenn die Maus ber seinem Balken liegt\\
- \textit{col.process.line} & Farbe, in der die kleine ``Prozessfahne'' an der auch die \\
- & lokale Prozesszeit angegeben wird, dargestellt wird\\
- \textbf{\textit{col.process.running}} & Prozessfarbe wenn er nicht abgestrzt ist und die\\
- & Simulation aktuell luft\\
- \textit{col.process.secondline} & Farbe der Sekunden-Zeitgitter\\
- \textit{col.process.sepline} & Farbe der globalen Zeitachse\\
- \textbf{\textit{col.process.stopped}} & Prozessfarbe wenn die Simulation pausiert wurde\\
- \end{tabular}
- }
- \caption{Farbeinstellungen}
- \label{tb:Farbeinstellungen}
-\end{table}
-
Im Expertenmodus lassen sich zustzliche Variablen, wie Farbwerte und Fenstergren, editieren. Abbildung \ref{fig:SimulationseinstellungenExperten}. zeigt alle einstellbaren Farben. Die fett gedruckten Schlssel in Tabelle \ref{tb:Farbeinstellungen}. sind mit Standardwerten fr die neu zu erstellenden Prozesse belegt. Alle Werte sind in den Prozesseinstellungen des jeweiligen Prozesses individuell einstellbar.
diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index a9e97e8..41687b9 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -535,7 +535,7 @@ endobj /ProcSet [ /PDF ] >> endobj 200 0 obj << -/Length 2496 +/Length 2497 /Filter /FlateDecode >> stream @@ -543,13 +543,13 @@ x[oF+(/6
A(5Ł"ĕdhb98A:@%SSy]ocf 5 P8v'#T[Mz"ULA3|2|j|
`OOv?,9]=wTW03\8,0 <q$LOMJfsSpQS"L $;Lvy)b}{YzwJG@Tq ;깪\PGGuMms^52NG75yoYIǼ܍Cˈeh[oZhmߟgh/K-T[2aVV:I4sx -Z=*Om%-Ο_RXi?z~<:&g1IlL]UúPhpPC<cݞʱA둅 53s˱F!T[
**+ce²yO%19KrŏKkݦ.}˻5 R98i$eYl8Ԍ;}|'Ē&5V:ē?O9<XxP>w[oPV9Vj{LdёVKMsۗ$X#4`Ĭ^Y+95T9XQ09?-NUjvN]uRol84Y)I)
R3Ns$=tN"(BQHLorVT!C0e`Y~g\g)zAjYO}grD,chRm5
;j[-"QVwRum -4;ѾBpP)oz(m;NexԌ]^hP%;я+2D+-оjvC{ߜv;֏N~:uX*vcdJxˡ, -Xs4=<q\ҀZf'D9Nlj
߬ʢܬ,PYn&@[/>)J=^h ЏQӽ'>;ٖHYǔ$ -1Y7vhhȩzPC*s'0I1d_ݮ<2XYS#
Sq7-rwd} -Au˫8/tu+bKWL|R~jPIYF1o^:>}YTElt-i U+}4to`Xd_*JYHf工@HCJ8g㊪ȭ$Z̜uB
lvӷ:u~rK9PŜAj5>T9&LpxɉpGy?+HC9ǓjH:"j54GV:E -_isӂT>#歿n7})\}niaTjQl?t1*rxbVj&egT1bDjTPW -+yj#v7p~Y7*~+.][&5VW^V4͜PgFRXl1X;><<V8ZFjE 54!?Ԓ)b$XZBq4#XR3Awv/j!G<!j7PW\@P{Bp"' #.|X=P$|)z՞7LQ *~~OK@'T[Nj<aZ#Bui)st]mu*62TN
L +Z=*Om%-Ο_RXi?z~<:&g1IlL]UúPhpPC<cݞʱA둅 53s˱F!T[
**+ce²yO%19KrŏKkݦ.}˻5 R98i$eYl8Ԍ;}|'Ē&5V:ē?O9<XxP>w[oPV9Vj{LdёVKMsۗ$X#4`Ĭ^Y+95T9XQ09?-NUjvN]uRol84Y)I)
R3Ns$=tN"(BQHLorVT!C0e`Y~g\g)zAjYO}grD,chRm5rDqZE߭(iv}1JREP۴w0"'\TS;~JvW +eVZ}e'$2DL9v>tI1TbCYֱ7Ti@s{.
xnSmvzNG=s 6YW-EYY*Lշ_f[}Sz@K{mUO|F-v-!,)IV'5:b(nS$ѐ#*ѐSmxOϡVT>DO@a? 2
ba]WydG<n +KW*DWMfI9!NAU&fҧS{]Ǽ{e + #y'TQF)bi\|(qg!MoIߖR~
+"
+V+"h1s 5MX~}..sp@AsոP昂^0eNAj&'Qb!E"O#$k +Y_u(|MR]|[bͦpqQFų/4PYT[QǠƓjQކC^*n8P09eQܯ@ݮtm 3,Za>^=xuZ$c7sBe,Hb`Dn4F4T[M^j*1Q'h4[GRK"<:bi ь`Jݵڽjjy +qÉ>x'ͺ*nϻOcQcDB
dU{"|pHXt2)#OGRXlN="gq?n|O,hRm5fO5x´F SȑbTSUUl"LϷe1Z/*B>Dz/(¸6Ywq³#,'S)4d1%|LNr +K?LpZ0Y?}7мsgdgbs#[|#{,T[
z݅4ؠfBB'֑enh55<zo/&@/a|FCMrK ȋyz1=<<6fXZM.uqT]X6t]wkgt|SmWx2''g͚?IR3A m@4Ĉ@4T[M"j߿12_,4RO]tPjYN/s#]Cÿendstream endobj 199 0 obj << /Type /Page @@ -757,10 +757,11 @@ endobj >> stream xYn6}WQj=ftntܗAI[,As)ʌ"h -6-" d"y 5![mIZڂ.BD>"n>.ΪqEy|<-Wn~t~8H ATX`
AvBͯB<(6&HJ0mӤILZ,'y&1S$#1
\-j!N0i(\K$eSN-QkfKI6!*'B**2)Wk*Ux]Z -<HBxINGuodĔ&nl$ʰK/~U;<Ҵ ;}_4_H/T5iA*Ue[Ne2y9FAs͏o^ZpS<(k*7'vs2fDyLDʰUՂV$iub8<PLy,4]qhVa#pV` ҤYø|X6)0șH!73j!O4:P_JJy=GB)b^% EAja9dT?$(潁~F]DI@N>YY럅ZzV^gI@"Wni[zO+cW!/gi ~]9':~)R fܱZ?d*LG'A7=Hk }l֤Gg&rFV`Pm7|J# -Ef>^-j!?R"L<EwV>1zy[3<,=2m1e0[=d14=OLFE34=y'7.3FCE1@Z0O3yo&;f>Vk.לY#J/4hN¼=T~y: -xő9#;vzKZW>WsA5z )>f`[youK +6-" d"y 5![mIZڂ.BD>"n>.ΪqEy|<-Wn~t~8H ATX`
AvBͯB<(6&HJ0mӤILZ,'y&1S$#1
\-j!N0i(\
K$eSN-QkfKI6!*'B**2)Wk*Ux]Z +<HBxINGuodĔ&nl$ʰK/~U;<Ҵ ;}_4_H/T5iA*Ue[Ne2y9FAs͏o^ZpS<(k*7'vs2fDyLDʰUՂV$iub8<PLy,4]qhVa#pV` ҤYø|X6)0șH!73j!O4:P_JJy=GB)b^% EAja9dT?$(潁~F]DI@N>YY럅53J,HDm1py+ܷ_Oֿ~Epx*=cZ,-ٯ+DO9EJ18;VLC$ga-Ú,5$S_Qz| +,t]Rz&OiybDlKE-[JHjǃ#F/ck[L׳`.zl@ŔHlL?W?2Xn$8k +1mbŤ-j<IN/fhΛZ9>9׳4G̕^h&-ќɭ)Xy{n~%Kt, "X;n/-j!<#sFv+.g#ѫ豵Zb^>蕃4"F-djAR^}Jo&7TĒqhQqQB&Fڔ:'Q/ŽD?z%JeepIgqԳULYQФjXܢYudEtzh +@)8|(Ӑܼ13XEE-Ƣ,f9鄲,9atZIMKiqu4} endobj 234 0 obj << /Type /Page @@ -869,25 +870,21 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 252 0 obj << -/Length 2297 -/Filter /FlateDecode ->> -stream -xo8W~0WM=nW{ރkPY^Xv")S4Lnٞp3t,_8,8^NW0&B#Wz0ŅV+~""3o9?$HHʲ?~XKkeYoj۫w~:\fpʝfxve %utEg@e -B0YFF>F-Wś*wi˒&R-e]UU[%ႣB3ڄ֟{79Rp{D:hh;!Q\sVah{#-y -8CM -zJ4L>y)072*I_ez:廙$.|to5^m˃(OlOڐ-͂!B8Bm1*6< ' - -7Rﻪ)]-/eTccT3+0ncUBəYP'i -&:UM -yC^*|~]bpjn|/me%6+cQngMxV *DIAڟ1ʓBp:WùJTe]WmeVKsS]uWMٟlJ˔d$GQ+t7iM` -ơtV W(CJ(q`ѺTFJu!~tܙdY$3
iJJDbj[%Dgr֓jq<yGK1y TaF0z|֗vIfz^kj=,Qk#BfY%&, -:[I>4|iGn=:lIj7rOs$)o%'fٴ2D(!KmFՍO=PVG눘*3(;l
/4u?a9J,UoPܗՁTV4^N>*QV{#'q|C tγPȄZg/Y& -8#azΨȠ" \ŕ<_sߝ/fF狃~VʲJW/ie 1@Lc<Z -UToJUVodQ>ͺ=?2$Yy:kU
%~.(`: -AsP%4UUEEU5._/}n[#lc3<Bq:oU" -<*0'$P&ţ:IlRY&1Au]xTZ7?ymetueG9[%r0?ь
B:H"'nOrv|#muia?bmQ4'UAyyDP`$rE0+ph;9,Je(eQNfan=JoPd)"EvtV ssR>$P(ţuPN7^@M*BnwᅰI2UBP _@&xF27bLod,f{VK}rWgJeFoiZ' -}-$PRDƣuN7٠*Ej:&m)'2c:/3=endstream +/Length 2300 +/Filter /FlateDecode +>> +stream +x[۸)h?+^%>n.[h`gc+Y^XvO_R$egݙ oCgC,<+$UO06WySb\ħBLUKZ?dNOC He-~nv}N_+/zT۫wapvsD~N=ً,Tt2[ X;Pf%B0U
">F-Wświ˒~Nr6\JDX^f *=(̃z{78GAw8Z
V(7%\2u1 2В@t<?/I86Mu Xo>kP%$ % ++pz(^Y*Ta`H{I*yW$qi}]oٶ:'թ;WZ Y,"-٩!5\qO(P<8p89ŔHP`Ӊ]zjE +s B8;U,eY]yٳ7UVbx#Y/r=UXK-궲eTAAĪX
vw$gz>vJG+p2N+dujGD:R[[DmjZ7ݺ\,g[KWZ*P=ߩZ"J$Q +ef8Z +W\Ze"+RwuSw^*R/ήOUuף[f6OwUw]^W`]D-F2 *1:QhOopN@8ZZ`#z9s>7F
F˧+ZuMOtK")|zT ωj;y(P<2ąȄ!Dv&Nw][wն= +mat/ݒ7/z\>F AEL6V0 +)D 1$'duޒJH'wsB,ޮ;CߏO̪U +YU"RJ<|ʓC:$#I0Gh原 +nLl;ZU[¹>)M>dJ(`z(9Prݢ +([()Q2AU%\;2Ȅ /'3lVIq2Ȑ)f{՛KsrVgeC*^J+?rG! +&5G4IpșWqՖr9v0pyc/)=endstream endobj 251 0 obj << /Type /Page @@ -1090,16 +1087,15 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 309 0 obj << -/Length 1629 +/Length 1593 /Filter /FlateDecode >> stream -xo6W`<nXW`[
afZ;a_?JeJOkkJt;~HBqı2]R{v7WϾ^B##%/T0D%gW7^.75+{z&~(oW?<{~Շ#-%}Zn1]Hʌv?H"\ -iapAJgpYF`"7JV
Uzn^>rjX{~<N8qLiĨl]R*!=8oF(XjF[yRgBBʉ&xZo8^՛_lYW -q 15H3 :Pz%s>K#TdM|xe $S7a^ġR8LFĥ$e#:WI!#VASo-<+uQ%ŮB1SKQG,ľ)qO<ؓo]c<4O2K$J`5 -9w0xӏ[Y"{S"AbhԉKon]GBIB
A
-zk$5uI+oE2 u0PeP5+mr=_Ͳh7+{A`AAzk!yȡ*7ut;iyȃ/|w<))*x'6wg5ߪУ\v+&O`;n0"DHxע7` -EEzk+Xw}53P)[jxl֛cR-$)⑦`5#ub0CEă¥TxW$w]wΗڹ=7Dۓv8H[$ \7gJFpTDekNE|B%Z:[PEEVpy<Ͳ:Z^͋87ɾ_ -,'OT<PE5H$);|XP/S݆@Bh#V=]oO]~j!m8:ͨܪ5r'_zkT:0H3@{eǺܧҥn.&v6:A旽yAxZonQt \cd0|Ll:"wy#ܸ)))k⥹> _0*G,C*'ZEd :-inj`ԡ^A5 +xKoF<JآiAȡEqY˒+EO%K-ܡS@>23<}R(86PB3\ܺ{/On&KVhdջ +d7kWp[beO}egϯpbOˍ30VظIt[3Z!-0H)lp:ިCFwjJ^}^S}]U:]sߏIGR""^0ɕ25tTJ?o#qmfL5j +'z&(dhzOoI<?mUŖuU0HAX'I?#Qd>c,y#:ǞZ2y|1C=BLf0ؤͷkW>@2uE*3XdD\JQN_6s=b=*BQUR*34u2Oaۺ<ݖ{kl>]IR"ɥ,~i(6|'uHHHP[K E=IA|H)vݤ Q%G]2z>_+~۶n0ɥwbZȍ}DdEPZiLDe~7,d.)RbD0M?nfMu Q'J.-jfy1
%=5$t5(tQZ<P%}}+I-ڮ^eC*m]F8^oøprHrP[9CE]T[IC<|ɶhMHQ8 ;RZ1 6$x6(x[.KČW-z#`yqV٤4{f['lHlP[KΓ
E]җW4pyeG{}쾶S47=oU,Gb L, gM!zmw
L'M_|R3,(QĊ$RV31!!Cw[H(#M(`%EZ(wSxS7(c}ڸnE>Ig530k2k"
!
+zkV$4uҮH/=l q{Zosmq{U@%|VDI+ N +|}v(gċK|t4Z愁VpSy<Ͳz[SR@v=Edd_zHCzGLuuQ%)gn0vWg{>kjExe CCxgҞnquq6qqu3QiPOxA%bT%ֲ_.a4cd7X&X~}S(]"Nhb颳ɻ)d~Y7,;4#}`Mnqjj**&g{}_zC#!_-#PEuZҦ0C915 endobj 308 0 obj << /Type /Page @@ -1182,7 +1178,7 @@ endobj 321 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 567.6586 254.8524 577.927] +/Rect [86.8628 567.6586 195.7829 577.927] /Subtype /Link /A << /S /GoTo /D (figure.4.7) >> >> endobj @@ -1236,15 +1232,14 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 347 0 obj << -/Length 1834 +/Length 1831 /Filter /FlateDecode >> stream -x[o6)h3;vm솠
e8Bͧ)2eGN%M1/<_x9fHIGg"Q3OIg8Yk?VùD\He^\w1-Th$8VWT&H'a\\5H5-u^>]:'x<ܔ6◳]2-"4A ј$j=ZY2D N$;ЉFܺhUȚt.JSK)MΩҳuʌ*/2l_S*fyq^mRs5n}y<ci>kޙGaL!J1M|T#Nȫ5*U {NK?g,΄-wakAI4gaLBUPd -qN@H[ڿd-* aU_U3\oSeAn`[4<Q@&Kp<tWKu&ތ1 f$ngQ&^daReHHa&a
yQnwf7_15)ЩF"&"axpzD`{y[yg<,Xj -(^gSN%CevL(q`{dBNg -&Ӊ2W!~}~_n+5Ҙď4$֩F$vf-=bTB6F%$*jV%`*HjZ.R "X٪F>~X %ΣL\Z}uJ)Tr3xh[CD
D*ƻ}!*]/\ƨ|rF?-x1XfgGzcNpe}O>n]oWXބ,VG%ܖ>Ob$,s"8kWK=Bq{Aqmٸ9cj ')L{Np&xm䖍slڴ՟ͭmxafeuN5Q=orCZ$# :IZL6"T2YEWic4kÌ#>:\olUs_JzL!xuT"D
D'kƈi?ps]g xY [!q^'A5t¬]w0Si*o'6A[퉌>ϋ"_2m6~!N5b)w%0|@DA<@wak5j*Xf*u+rKA|:WQt|ȔDius<45W
y=YbmmK,`S&Y:Qi--r~+N*)RkE#STTQLy, -[Y[^'(8rE'jY:_w ?BZՈ3DѤ'eF(G`lD,:F&46"#L%7bxj&^!QF(qS8iZM:8$jdD-qYI84}9ZՈ]&͠v(yE<bZM^:5KEԫ̋=gxM=yݵ_=G
^iE:pԫu'?% +x[o6)h3]!h>lك(PG.dkGJLґSuISb<_x9fHIG(!'+{3h8쓞6*\©_Ľd0K.ۀEl.["x1+9,_ȷh{<4Đ1ZEEi6 +(AgWN%C
+ +)3[Q͙A6NֳjTv7}TeDuI|<yՈGFm]L=# endobj 346 0 obj << /Type /Page @@ -1487,8 +1482,8 @@ endobj 404 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080813231100Z00'00') -/ModDate (D:20080813231100Z00'00') +/CreationDate (D:20080814002410Z00'00') +/ModDate (D:20080814002410Z00'00') >> endobj 405 0 obj @@ -1581,8 +1576,8 @@ endobj 414 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080813231100Z00'00') -/ModDate (D:20080813231100Z00'00') +/CreationDate (D:20080814002409Z00'00') +/ModDate (D:20080814002409Z00'00') >> endobj 415 0 obj @@ -2173,7 +2168,7 @@ endobj /XObject << /Im10 464 0 R /Im11 465 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -476 0 obj << +475 0 obj << /Length 1847 /Filter /FlateDecode >> @@ -2187,13 +2182,13 @@ kur%0e̫Sk\X,O%[,
n!xZ^s.E~[nrpkt
[W.^ &t cxCh#Z`!o:hT#36^[mcgu
PZJG$8DV pXff gC,"b-ub;-no{|چ/'c$eiM
j֣f*S5ޡxG`Op8H;2<ۇK
r{!V> l?ßh^#endstream endobj -475 0 obj << +474 0 obj << /Type /Page -/Contents 476 0 R -/Resources 474 0 R +/Contents 475 0 R +/Resources 473 0 R /MediaBox [0 0 595.2757 841.8898] /Parent 456 0 R -/Annots [ 478 0 R 479 0 R 480 0 R 481 0 R ] +/Annots [ 477 0 R 478 0 R 479 0 R 480 0 R ] >> endobj 472 0 obj << /Type /XObject @@ -2223,59 +2218,57 @@ Of"WRE+<nzM0"sqk{یT־Jr٢kFms*(9zl]F|O g}(mvy^[/F !Օ\ VZ?endstream endobj -478 0 obj << +477 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [153.6421 756.7859 168.0976 767.3682] /Subtype /Link /A << /S /GoTo /D (figure.2.6) >> >> endobj -479 0 obj << +478 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [205.0421 738.8587 219.4976 749.441] /Subtype /Link /A << /S /GoTo /D (figure.2.9) >> >> endobj -480 0 obj << +479 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [306.7373 720.9315 321.1929 733.0693] /Subtype /Link /A << /S /GoTo /D (figure.2.8) >> >> endobj -481 0 obj << +480 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [307.8138 153.5425 327.2546 164.1248] /Subtype /Link /A << /S /GoTo /D (figure.2.13) >> >> endobj -477 0 obj << -/D [475 0 R /XYZ 74.4095 793.4011 null] +476 0 obj << +/D [474 0 R /XYZ 74.4095 793.4011 null] >> endobj 291 0 obj << -/D [475 0 R /XYZ 264.6686 370.023 null] +/D [474 0 R /XYZ 264.6686 370.023 null] >> endobj -474 0 obj << +473 0 obj << /Font << /F63 220 0 R /F28 173 0 R >> /XObject << /Im12 472 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 485 0 obj << -/Length 2285 +/Length 2309 /Filter /FlateDecode >> stream -xڭ]s6ݿB3Y7gƝ6q3h-Jں_ -zIz߭}&[ 0|]JwVw@UD2(fHq}:a,(NM8N)F -"O@Ⴁ!eW_heHu)4a%/}xvgPi@di"7/2LA K1Y۳TYH(I3wxDHHuS'7hϢ~ `3J$7q,E$6t̎n$hbnMUŴ/ŏY|ozLaP'>ZɕnAw3Qb_D2E'MOam|eYWa-*5VX% FN,"C-俤qQmYCH9bunZcX gq&?쭨ו[~>L7%FfB\3{T;NJ7dC3Ɩgڡ}ZrVAڦ`3`#fk*56M}dם6ec^R-D$1OD$BNΏԋ -۳nZ07ϗ3)!zDs:Νq[¦@ -8ZݢB?[XA+?
o؆ -+B{IH˙ -oAI;k;q#7fu@Y- - -N|~]Sšhx^FCɹJ8@zLK7*E/""w~
s"d$(xto&H0Q%Y$wٔ[p@"3y l h :i0P m["n=V#AD=!JaIQ,sdhX:8 qq2 ]d
#)1 S;"!;
ie[H- tِu$uʊz@>(R^ Y$xr@;s~<g,[V@Rh$m[1-Y0jLIv6@;oQ"xtG8fuGaDxBW\V~is$9aŇGjojkUAHR
U83 L;,JM^ҁ! +xڭ]s6=BLR>dtuM䈑yG*Mg(˖A$ + xgL!BAٯSVi&BhN^E$[q +M-Rjp<_gb2{($Qfu+a0">jy֑E}Ȩ*S:Y +@E2Rr Fy%חRR,Q7e&H0snVTԊD$pQ}fpEEC58a(
&V|?.u8 &TO(P6js$.W%zl7%캜 peC@qt$XvD{3FJQtJ2sq N]EU8MT{$!}wMӏ;t ~\EVGFZz!OsjrCJ]4`bb;6X!.7 +,;o(P߅FEf_|p.#v=^TIZ*(JRS*:W]x4W<k + +J" endobj 484 0 obj << /Type /Page @@ -2285,7 +2278,7 @@ endobj /Parent 456 0 R /Annots [ 488 0 R 489 0 R 490 0 R ] >> endobj -473 0 obj << +481 0 obj << /Type /XObject /Subtype /Image /Width 576 @@ -2310,14 +2303,14 @@ endobj 488 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.7158 584.1684 183.1714 594.7507] +/Rect [168.7158 718.7484 183.1714 729.3307] /Subtype /Link /A << /S /GoTo /D (figure.2.3) >> >> endobj 489 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.1975 566.2412 134.6383 576.8234] +/Rect [115.1975 700.8212 134.6383 711.4035] /Subtype /Link /A << /S /GoTo /D (figure.2.10) >> >> endobj @@ -2331,18 +2324,18 @@ endobj 486 0 obj << /D [484 0 R /XYZ 74.4095 793.4011 null] >> endobj -292 0 obj << -/D [484 0 R /XYZ 300.9731 674.9144 null] ->> endobj 487 0 obj << -/D [484 0 R /XYZ 74.4095 615.4719 null] +/D [484 0 R /XYZ 74.4095 750.0755 null] +>> endobj +292 0 obj << +/D [484 0 R /XYZ 300.9731 516.4846 null] >> endobj 26 0 obj << -/D [484 0 R /XYZ 74.4095 343.552 null] +/D [484 0 R /XYZ 74.4095 343.6023 null] >> endobj 483 0 obj << -/Font << /F63 220 0 R /F28 173 0 R /F26 170 0 R >> -/XObject << /Im13 473 0 R >> +/Font << /F63 220 0 R /F26 170 0 R /F28 173 0 R >> +/XObject << /Im13 481 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 494 0 obj << @@ -3083,25 +3076,20 @@ endobj /ProcSet [ /PDF /Text /ImageC ] >> endobj 544 0 obj << -/Length 2768 -/Filter /FlateDecode ->> -stream -xڭZo߿2")c-wwتe)3RdYE<p>~B$bQUI 8_=n<f_r,JI\|+[R\oD7*f -CavGM/ -GmUzO2zP{5YޔHdqEDe,IawoK˃j_NkhfA^1"0\UyihZOm&&fI2v(N,#(eShwD5H|tDauQi~ӧkҴ.8)+TjI8bp15HIPd -h#y[w0qޣIFw -Hrb9ۄL͘,M+- 2p14{Xy ~KR(K7aE{ -y2%,<Zꙮx.FR?Wo2`oQ/
~[o2|wЩVȧ)쥩wNݏЙ|"3ԕD(&=z>X5Veqhc4
R+[Nh['c#w#QSEY(q40S71H`#ٜb'rrn/Mm^_g%3ǩtYpRt>ɢuSH;{~It퀓g܀k)<ۻ$pS7n(+Ub#-Tz;lނP3zWW{w臫[fgav/d)W- -2ToՓ2 -giQ|}@TCZ4V4\Iy?iҝѡ[ĈCB_V9a6X\':& y0 ydUkUA#;S3(}mNw= \h6~w2) -6CS|9Ly +e)UFQeIq1R92O[PUKӜ2͓wp]c~P0.bG4զh\جXvh/<' ~(Lr8[r-t(OwWRHco_5/8#uvL.b}!zؕ5BfJojE4
oHd -]\s~k86߶v 1 of(o}Oտe4)Џpn.VFNyA -Ν67"cpcҔuʼZ~M
Nꕵ`Al@^m - -H_+ -LRVNLv:.A^>%xX4K؈FA lsZe\g7/Vz;Pͺ+>$*`I-b,xvԡ(+f8ڽ=96. L@qNvP&۹xhj:=lEU~[F_|VD924}š*ox][?`wn{X7K8O!fklE} :_GRrw
k!"rP`rYbJZ70b.툖?=ۡ/ ͨ'd\ŘwNst\z9ͩ9sNqX/#kLcX2.}u|Fw7!`MW -6A+yX+2X5kAIʎQ HWqĉܟfCo +/Length 2729 +/Filter /FlateDecode +>> +stream +xڭZm۸m b7 .^+fw{dkJ[Iᐲ$[dcRp8|8/)E"VL^ĩM/wn1Qwj&u|y})oM +D,[:>Ezޔ{l^Z$TuxW}pיEȒ(߶&"t/Y%q_K)X"L"pO7BT,o$Z|Naɘ0h`\2Tp!4]ZJt#p\:aBJڙ{_X5
lO!S4a1Q:ܩ:
2a2MC&&_JE +R2\-=S{t:s?`_p)zSlmͯc[,XTEF%/[S +:mz2k;>?:@SUJ &ukvtX"Zktc<sAV +쾳(>G*yF`*IUa霃QBX?L~<cA@<Qy@r9֓}a@Є"kB9
P:d9H +2^U^Nf]~st+WM=s$'Qs/֨0:4fS#{jC# +)Q~ +زu 2]C +GGXX/e-lD4O$#+ *`z>XAuMkr8qeW
uR$:[ĐF'1(\2[J`j0U^Gm,цnYͅ>gh#99}=xunh+V岭?Nī}8\l|dQz٪SB`i@rz| TɀQ*K\'R٬n0T% i*8jtW1nG?\Oy +/){lm?Tc(n@5PF;˔}ZlC.c[qj%ʇDDJs4wKePe97'k3>5,?=ap^Z%gPx5a@N?'e`*֗n
Ip-3+80_4:½oո5)'/ɜNxn?Ki߬Xs\v/FM~ސXN0J_}dfg٬`/:[?/~/SnXTY^e;l )F>" TS=:c(0kĉRVlX;ab 0_mbgM{OX< endobj 543 0 obj << /Type /Page @@ -3113,85 +3101,94 @@ endobj 545 0 obj << /D [543 0 R /XYZ 74.4095 793.4011 null] >> endobj +371 0 obj << +/D [543 0 R /XYZ 287.609 530.5247 null] +>> endobj 46 0 obj << -/D [543 0 R /XYZ 74.4095 566.251 null] +/D [543 0 R /XYZ 74.4095 297.8463 null] >> endobj 542 0 obj << -/Font << /F63 220 0 R /F28 173 0 R /F35 193 0 R /F26 170 0 R >> +/Font << /F63 220 0 R /F26 170 0 R /F28 173 0 R /F68 548 0 R /F35 193 0 R >> /ProcSet [ /PDF /Text ] >> endobj -548 0 obj << -/Length 2622 +551 0 obj << +/Length 2858 /Filter /FlateDecode >> stream -xZo_G d{!Npצhk -(k-BQ)I]YR$Er -?how-fiyjf.U@1^~E]>W|g,azv00eAOyRd.bi8ϳ;e}}fW7?ǫNM#9K>^Lz\1봞92֢)W? -f?yI>(X1-FCVpQ>/#m!jGPta/vQؖLN+_)k|%S0Ti?*/0[TG~Z$Kl0{yBXm ]$)yc"ճʓ-¥?{ldn\枝ܣY3w0뇼l3W\ˠ?g37䖲!sלN\K\(qaM\ I$.8YJIv$O1uR۽..m0L0Gu_I1yCGHӉ<%NO~adf3Io
"m1!q)bCTڲ@'4c\d_hHDߔ'Jm·1pG]gaiÝrg\3UP5.Xo?;@H+f${I!ߤ'L$?G]pzye4%Gm_CxC 96nkLZ*[c -̈́d!WT3ɷaQdM+CTƢȐ5csQἫ@ -i3r+M;WPL8*^D\Cmܔ9oNXnjB X/ -,r@:>T, -TZίs/cSNu*bNeN|PHX^*I!AsӡsZpC0h( -5.>[K!<%ҡ1S<\[&Si>x7|pؗc +xڽZ[ۺ~?6SJ IqФ=A^smueyaI3Rw7 +?hD9pP3?1siB̮w>tOyy~?jZ=r30ei/VܕK鲹d||^\q.뭧7c{f? +/<3h[df^Sî=_)n]q_l+8Xl)2H\&5|\?80ؘfOu4DHʗ85_Qu!@hBir*cCin +@ݶqC<D=*Y-3f"}`M3!Xnc˴N+.XjX&,51=*
v{_,d|榨*߷b{gs洅sJ"o\'LXk<60%(4w_ Zh>g-O@VL8(W-Qh2D>oOveM%8 `hj`BG$jhgAh
s
vA*7QiӇwly[z".W@SZܐSC"m+m +\}!c{,_څRC@ۢӑYL)z}yIc_`*Ng0L.g8Zy{J2r>TOȌҰ7e9ץLl%K=s}/(:\ +)(d +8LQJmJr5*B[Hǐ"F-QJ~GܶGb+@{)CZ?tA0 .xW@ID/xs`J_O;m(霢p(^8m]@!xBྑxN +)! +<
֩FșM8\ B +8Ȥ;^ 9[`ff$/)䷡o ˙cZQGxq6$"LT +9LI؛@1^Ny8}m<uodYh?M +pyJ+Ax!PeaL,L<KS4\É/gDBEJ1839R:ץ2xgNo]goKkj>JG0B{6E*}fɺE@=`iBh +J˩w*RYuOT6E`\CD&X?P3ǔjǜV\E,T_Ѝ*%ga>Eסs=b\gM\6|HLdޫ@@],9n<}UIwPİr)Хڟ{tv=uAI>ig1? endobj -547 0 obj << +550 0 obj << /Type /Page -/Contents 548 0 R -/Resources 546 0 R +/Contents 551 0 R +/Resources 549 0 R /MediaBox [0 0 595.2757 841.8898] /Parent 541 0 R -/Annots [ 562 0 R 563 0 R ] >> endobj -562 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 172.7854 92.854 183.3676] -/Subtype /Link -/A << /S /GoTo /D (figure.2.15) >> ->> endobj -563 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [388.7626 172.7854 403.2182 183.3676] -/Subtype /Link -/A << /S /GoTo /D (table.2.3) >> +552 0 obj << +/D [550 0 R /XYZ 74.4095 793.4011 null] >> endobj 549 0 obj << -/D [547 0 R /XYZ 74.4095 793.4011 null] ->> endobj -50 0 obj << -/D [547 0 R /XYZ 74.4095 255.1817 null] ->> endobj -546 0 obj << -/Font << /F63 220 0 R /F28 173 0 R /F35 193 0 R /F26 170 0 R /F70 552 0 R /F74 555 0 R /F65 558 0 R /F69 561 0 R >> +/Font << /F63 220 0 R /F28 173 0 R /F35 193 0 R /F26 170 0 R /F71 555 0 R /F75 558 0 R /F65 561 0 R /F70 564 0 R >> /ProcSet [ /PDF /Text ] >> endobj -566 0 obj << -/Length 1302 +567 0 obj << +/Length 1273 /Filter /FlateDecode >> stream -xڭ[oF)x20}MUVf`d.FO3ǷI(2Ƈ?ߜC"$RqE4BG9v$m<Ǿ|'ɢi)y4( uМgߦ3,*R4fF4}Ę˕q?ޙʞv?fDLMS/Lq7z>MA1Jo{&%B(X`QӉ&N}Q'њF!p<LbSH`M1KbB:<NaeV0(Q, -#9-^L5:JEc )Xc!Er^25,AL;:S,fbO&T#ʴuZ %)yӚ1йf^3EY$vKHunom]-btDŽi:EؾۿUg,fҶYɘ<ϻ-Ӯvgfos` f
i5x>pz6m - @V/QXJQJ3 T^cC4
8HobYup"NG!D? -9:v{3IP̰/g($[{ȩQ~ծwnV^07qэp +xڝWKs6WHM#OhdbgN:m(Je6T.?~ +t"7Lϗ¢)3rFCiAO)py/bϒYt/ee=e!"KXq+|*DP>ѻ֚$~}E3ytkM04qkTg>lyCp8[mUC
6&ެ +(.w7x6T+eIK"o }MvWois(f1hI4XYEi7/n +lh1/<W:<ޔe0+8[t>M#\w{Ң)F,|3bM $(mt"ƨ%1άcj5B2nEX:`F,~2WMmkeƤq{(w\VWbM.]L#S`
ɂJ=lL,
M-B +i0D>. +# 5C z| +q\%\)kDO,(>vp5tăD*Tu#(JaMpp)36=0 =MpS,T]Z +il\du(TjU+B+mG9vĠ~m{m$hVx^O P"JK1|4uhI)Gzb#Q<sG뢓EVG}
JZSWIkfoi=} ůZF/o(A`w qF!xxLr(թϛNعV[v9J`۳=k?8Oq>t%~ +>A endobj -565 0 obj << +566 0 obj << /Type /Page -/Contents 566 0 R -/Resources 564 0 R +/Contents 567 0 R +/Resources 565 |
