From b6465860231b9cffe78e8c97be2fc8b93081c8b0 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 13 Aug 2008 22:44:42 +0000 Subject: foo --- LaTeX/chapters/implementierung.tex | 2 +- LaTeX/chapters/protokolle.tex | 47 +- LaTeX/chapters/simulator.tex | 58 +- 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 ben \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 ben \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 ben \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 ben \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 verf 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 A(5Ł"ĕdhb98A:@%SSy]ocf 5 P 8v'#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%-Ο_RX i?z~<:&g1IlL]UúPhpPC<cݞʱA둅 53s˱F!T[ ** +ce²yO%19KrŏKkݦ.}˻5 R98i$eYl8Ԍ;}|'Ē&5V:ē?O9w[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=)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~r K9PŜAj5>T9&LpxɉpGy?+HC9ǓjH:"j54GV:E -_isӂT>#歿n7})\}niaTjQl? t1*rxbVj&egT1bDjTPW -+yj#v7p~Y7*~+.][&5VW^V4͜PgF RXl1X;><&5`&3\LրO 4/1*Vj+n)j~=&Ĉ!=VC;D^w!) 6ЉuzvZ uy O=ۋ k3?.-qX_oӹ0b|.ofbz^LOA#C#OqY.V@S bwn.7z ]Ey].2;T۽?c:oY`hR0LB+Hh?s 1" 1V8V-Ak#5B*ԵOV*)1RkhwtRendstream +Z=*Om%-Ο_RX i?z~<:&g1IlL]UúPhpPC<cݞʱA둅 53s˱F!T[ ** +ce²yO%19KrŏKkݦ.}˻5 R98i$eYl8Ԍ;}|'Ē&5V:ē?O9w[oPV9Vj{LdёVKMsۗ$X#4`Ĭ^Y+95T9XQ09?-NUjvN] uRol84Y)I) R3Ns$=tN"(BQHLorVT!C0e`Y~g\g)zAjYO}grD,chRm5rDqZE߭(iv}1JREP۴w0"'\TS;~J vW +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]W ydG<n[ƒWqX_ +KW*DWMfI9!NAU&fҧS{]Ǽ{e~XeQy + #y'TQF)bi\|(qg!MoIߖR~ +" +V+"h1s 5MX~}..sp@AsոP昂^0eNAj&'Qb!E"O#$k +Y_u(|M R]|[bͦpqQFų/4PYT[QǠƓjQކC^*n8P09eQܯ@ݮtm 3,Za>^=xuZ$c7sBe,Hb`Dn4F4T[M^j*1Q'h4[GRK"<:bi ь`Jݵڽj񈆜jyB^#cDsoBQ +qÉ>x'ͺ*nϻOcQcDB dU{"|pHXt2)#OG RXlN="gq?n|O,hRm5fO5x´F SȑbTSUUl"LϷe1Z/*B>Dz/(¸6Ywq³#,'S)4d1%|LNr +K?LpZ0Y?}7мsgdgbs#[|#{,T[ z݅4ؠfBB'֑enh55> stream xYn6}WQj=ftntܗAI[,As)ʌ"h -6-" d"y 5![mIZڂ. BD>"n>.ΪqEy|<-Wn~t~8H ATX` AvBͯB<(6&HJ0mӤI΢LZ,'y&1S$#1 \-j!N0i(\K$eSN-Qk‘fKI6!*'B**2)Wk*Ux]Z -YY럅ZzV^gI@"Wni[zO+cW!/gi ~]9':~)R fܱZ?d*LG'A7=Hk }l֤Gg&rFV`Pm 7|J# -Ef>^-j!?R"L1zy[3<,=2 m1e0[=d14=OLFE34=y'7.3FCE1@Z0O3y o&;f>Vk.לY#J/4hN¼=T~y: -xő9#;vzKZW>WsA5z )>f`[youKbIM(HMN#{mJ^~jΟtz2|2$3vYFk[&e۬URhR5u,LFnQ h<@":Nu4RsRA6f!SjQ&Kc^>iHnޏA,"p}LDݢBtctΈUJ3tBY:-ʤJ:>$ VzH$C;&hA i6K/^0ca {Xsf#9la9 ,.Nɱ5tt/endstream +6-" d"y 5![mIZڂ. BD>"n>.ΪqEy|<-Wn~t~8H ATX` AvBͯB<(6&HJ0mӤI΢LZ,'y&1S$#1 \-j!N0i(\ K$eSN-Qk‘fKI6!*'B**2)Wk*Ux]Z +YY럅53 J,HDm1py+ܷ_Oֿ~Epx*=cZ,-ٯ+DO9EJ18;V LC$ga-Ú,5$S”_Qz| +,t]Rz&OiybDlKE-[JHjǃ#F/ck[L׳`.zl@ŔHlL?W?2Xn$8k +1mbŤ-j9׳4G̕^h&-ќɭ)Xy{n~%Kt, "X;n/-j!<#sFv+.g#ѫ豵Zb^>蕃4"F-djAR^}Jo&7TĒqhQ qQB&Fڔ:'Q/ŽD?z%JeepIgqԳU׶L􍩷YQФjXܢYudEtzhR4lBԢL +@)8|(Ӑܼ13XEE-Ƣ,f9鄲,9a tZIMKiqu4}E3H@1HwMтBuc,lzP5쉏b͙I$f`氅48&g/endstream 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{# -yNc]a zJ *p:_S) -8CM -zJ4L>y)0 72*I_ez:廙$.|to5^m˃(OlOڐ -͂!B8Bm1* 6 < 'N0chbNbH,]jl~2o^AaD!UB兒C)/{ -݌^fģuix!sॹ^ -7Rﻪ)]-/eTccT3+0ncUBəYP'i -&:UM -yC^*|~]bpjn|/me%6+cQngMxV *DIAڟ1ʓB p:WùJTe]WmeVKsS]uWMٟlJ˔d$ GQ+t7iM` G,&Pr-$Q/{# p\ju1gJa7uu#(BIqV DP$^?z9I&L0qh)2!sI*Ȓ)ogj[{q\w5U[n+GP -ơ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=PV؂G눘*3(;l /4u?a9J,UoPܗՁTV4^N>*QV{#'q|C tγPȄZg/Y&P0hݽӀB^j6TFPzS@GEa{T5~X*tbF@uV ~Q%Jc@(xOÃ^j6pz#G(Y,K7^Tnao8ug:9ℊ,>rY%Dg:2鴄) -8#azΨȠ" \ŕ<_sߝ/fF狃~VʲJW/ie 1@Lcͺ=?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`#z9 s>7F F˧+ZuMOtK")|zT ωj;y(P<2ąȄ!Dv&Nw][wն=P&ghJJ8}wC %΃L\8ZqJ(Dʥ(ۻL7ȍ٤qg}84 +)b6*%*[D㰞TcC8ZA F +mat/ݒ7/z\>F AEL6V0 +)D 1$'duޒJH'wsB,ޮ;CߏO̪U y›DVpJF|@Ya ?'" Z--T"-H[h~8n/9rTEeթeuK*`|i G/}|:Og(I,#Ȥz'wbb·ý̑/^&MP0hq@!sPy:PVխۃ?%V%b[|g&@{J(FP0hŏÃV7p:%ݬL_/;]Ukq\]ϲT5![S%BPm:XqO(Pr< 䄣 +YU"RJ<|ʓC:$#I0Gh原a뭨Tt"ä;W7K5O'uwm}m5n~Y:횪샎IeS%BphƆBC GAx3Z\\$ 2ȉۓ-_H[S?G?6E7-z?*d)$tNRr쟤PX#Gֳ1a[F7 nWΡxKIFQI +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`rjX{~K#TdM|xe $S7a^ġR8LFĥ$e#:WI!#VASo-<+uQ%ŮB1SKQG,ľ)qO<ؓo]c<4O2K$J`5Ql0O,bbH'z&:S*I!A"{&K]2z>_m[L[7c}.rd%6Qmt'V`57QaG_*|? ˟zkYK -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`gigEMJIk0K~BɆďOd _0*G,C*'ZEd :-inj`ԡ^A5/ ՕOts&8Awc4YOi!ЩI s.*SnMƨ|KZ#gX0n)`dH&q5Nendstream +xKoF23<}R(86P B3\ܺ{/On&KVhdջ +d7kWp[beO}egϯpbOˍ30Vظ It[3Z!-0H)lp:ި CFwjJ^}^S}]U:]sߏIGR""^0ɕ25tTJ?o#qmfL5j +'z&(dhz OoIc,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.-jf y1 %= 5$t5(tQZIg530k 2k" ! +zkV$4uҮH/=l q{Zosmq{U@%|VDI+ N +|}v(gċK|t4Z愁VpSy<Ͳz[SR@v=Edd_zHCzGLuuQ%)gn0vWg{>kjExe CCxgҞnquq6qqu3QiPOxA%bT%ֲ_.a4c d7X&X~}S(]"Nhb颳ɻ)d~Y7,;4#}`Mnqjj**&g{}_zC#!_-#PEuZҦ0C915te|S[ٜ"9dSvt)s)(t%5F\".ʔ1*v_k M3s I#endstream 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}ykޙGaL!J1M| T#N׈ȫ5*U {NK?g, ΄-wakAI4g aLBUPd -qN@H[ڿd-* aU_U3\oSeAn`[4~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(yEbS=.O9pr{l87kր\Ux=O &ǣLNؚM{=G){Fh04v(ĩl$;_mqendstream +x[o6)h3]!h>lك(PG.dkGJLґSuIS b<_x9fHIG(! '+{3h8 쓞6*\©_Ľd0K.ۀ El.["x1+9,_ȷh{<4Đ1ZEEi6Mi?H$*ZY&K"'lD##%w.U+r&("(KFgRaRg|ysE~}2k̊<+C1ǔ٦Ͷ۬yi_\,7{m;{(1)D)Ih!ZՈS5yuFd/~ÑeA0F(rV}8Z#!M4QPuQkC@[Q !m |)z(= Uu|g<ߦʁ\öy6#Kp<W K]_ /1 f$6L3ä2HHa&f Y^lwv_ﵰ$)ЪF"6"aypzD`y[sygtXtt`AREULn[e y;7~YfʮWY4N +(AgWN%C {L(q`֪\ :izU+L/ɤ_%n&1HDHcJ0ҘX1V=tJN@%1*^'QiW(SE5D*rݍAF5a J(q`֪[S :JnjHxo6Dy7 XuQhFݳoT#3Ft~v8]W3gaoj˛$ҧIrBВ$8u^'j:_(4( + +)3[Q͙A6޻NֳjTv7}TeDuI|> 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 &t cxCh#Z` !o:hT#36^[mcgu PZJG$8DVrT9e"Bb~Z(MMonzR**Tt317רCJa\\#ǧ-q  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 @@ 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ں_j+9a) = "Y%{J}8͔b"л{ %GwtI -zIz߭} &[ 0|]JwVw@UD2(fHq}:a,(NM8N)F -"O@Ⴁ!eW_h eHu)4a%/}xvgPi@di"7/2LA K1Y۳TYH(I3wxDHHuS'7hϢ~  `3J$7q,E$6t̎n$hbnMUŴ/ŏY|ozLaP'>ZɕnAw3Qb_D2 E'MOam|e YWa-*5VX% FN,"C-俤qQmYCH9bunZ cX gq&?쭨ו[~>L7%FfB\3{T;NJ7dC3Ɩgڡ}ZrVA ™ڦ`3`#fk*56M}dם6ec^R-D$1OD$BNΏԋ؁ -۳nZ07ϗ3)!zDs:Νq[¦@k;VC.ɕgS۞^iB|=!Xθgҵ4c-dm*Sjr4e 2[]RH(.!tOKMJ Ϧ+z ,&XYۼߵ[ACS`"j9!Xʷ?,Dut:*#Y#`?Q;ZV4([-06LWǼ޷,݆@.#ѿ)4y=z~WI( Qo{Tͩ~CT'ߠL00xM7ȣ h(a7MmH\#^8B3'|M)[hL@,w*٬o\$G#וI)-=Ҕٴ6-]0U¦ɭ .[(lcV -8ZݢB?[XA+? o؆ -+B{IH˙Yf<ʎS?:жC0@\Tx~.<\YR"uICZ:›O8Apv?ƌg*@AK/5O2 *@Cʡ7`bboˊ@MUBJ0ۙ0Z= lˁ_-pB}.3 -oAI;k;q#7fu@Y- ͒>` kWk 0x)\r[yhN盟m ܝ7 Iiꂯ/"\a:Ǫ]IC;k'Ղ - -N•|~]Sšhx^FCɹJ8@zLK7*E/""w~ s"d$(xto&H0Q%Y$wٔ[p@"3y l h :i0P m["n=V#AD=!JaIQ,sd֐hX:8 qq2 ]d #)1 S;"!; ie[H- tِu$uʊz@>(R^ Y$xr@;s~i*&%3}`ܲ왗g~?|X(?NE8#ѷl8&2O7g><ԍLy$V&6Q\}rw4E ~#dgTa`EƑUm00๿qx& Εa|]& /Y VƉz#8qendstream +xڭ]s6=BLR>dtuM䈑yG*Mg(˖A$"Ҿ'{I(BE^)w_I܇3on~x+/YH(9-X?AWM@7ڗNʠiB B÷tnuNHt'#5|ϮnG1@4) cFqm_qL4O| 55L$IX/dԖnAwb&"I*#]#@id"GH5aah-p.(vJHǠVTJ ?OlyP3!@It*ĉFqm9g fO];@ڪ2hA@8Ӑw]۴U[ l6gmvoR0*iӔzn~iS6 n"@F9v}SLT%R[.Z07ϗ3)q>ԁ}gܬV8G᪰G X8k:V Grv6?U`چAl|aE_2:BzЦ2@$`*)@-jy֑E}Ȩ*S:Y +@E2Rr Fy%חRR,Q7e&H0snVTԊD$pQ}fpEEC58a( &V|?.u8 &TO(P6js$.W%zl7%캜 peC@qt$XvD{3FJQtJ2sq N]E U8MT{$ !}wMӏ;t ~\EV꟩GFZz!OsjrCJ]4`bb;6X !.7pa3,v ;h7<]|(ns1 W p{V6Hq0 ێaU`κ _~bjf-y%>b k~4`1C~]yhN盟m +,;o(P߅FEf_|p.#v=^TIZ*(JRS*: W]x4W]|M(dPqW0ªU^R7PR U=!㓀 wi,@qwKIG + +J"i Cp 04,'0ΑYC.6a龮Tbk!MwEB:1%!LMߩ[ Aoܦ̦/˞!6Z!4#[rG)ʊZ ѢHyeۜ f/x"$Ue/Gzͯ qL4u=c# v[m[1^b[`A՘9m=[*7L͓7e,d'R}UNq#c߹-LSWWӓi_Yk~]ʐl_+z(:MuBE~Vd{U>|)j1/ck@!0k0qR a|7kl8¿5ʆz_Wv/xendstream 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

~B$bQUI 8_=nX5Veqh c4 R+[Nh['c#w#QSEY(q40S71H`#ٜb'rrn/Mm^_g%3ǩtYpRt>ɢu SH;{~It퀓g܀k)<ۻ$pS7n(+Ub#-Tz;lނP3zWW{w臫[fgav/d)W- -2ToՓ2 -giQ|}@TCZ4V4\Iy?iҝѡ[ĈCB_V9a6 X\':& 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(`%b JQݳp'QܣI>o,B9h[@p-$=: e%_^A8IzN| n h1v͍k~u -]\s~k86߶v 1 of(o}Oտe4)Џpn.VFNyA -Ν67"cpcҔuʼZ~M Nꕵ`Al@^m_ӓ -]R$Mn[d48\&˂aBt;: 8ेZ-*zrr2-FC)e.KxsyNBE C, e9Nj,x|gQ(i:,zwh2:@[G'36DDW l @6'S=UR)! /gaP)\Ncȵ8zǢp\I#Sx gs?5FJKNx3.E +_w1@zc;š#|D@p1&nb"2aڵ!,͌D2ƞA)5$pw*.Isc8jEeYȭi ;|fGxo>Ǯ/]_$gH`x)uۺ:j_$k"9J"["Y _7x8S,@=L9䄻gUo4Y` Y'pʛ?1|_O\on2˒^~.3Clf!dMf  -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[,[5wU8nb-vJ}6[eDs3(b|ݟ`Bs\hL)n‚kendstream +/Length 2729 +/Filter /FlateDecode +>> +stream +xڭZm۸m b7 .^+fw{dkJ[Iᐲ$[dcRp8|8/)E"VL^ĩM/wn1Qw j&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%/[SL~XIz"qkj|mYWecLW9)d\Tpңilg0YVӼV ^Bez:ЩDjlw&o)Gh=#D,]wc[sA= UNH^7{:CEi8r WTqw9՘rn}QYg_da1@VV=$sA7ϒoƌVm>f?Q™E^ܢDC(CC^W-f22[Lb}Wikc1QApMz:p9. .޵%whpI ?:@SUJ &ukvtX"ZktcG*yF`*IUa霃QBX?L~#rl SBf\0Gk@hqwDNXJ-T"XɁufÙ~Gف S` uӂmu)qH)8XSq!^`gpg,.6ي/|8";aef4/Ok~`j¢f%`"&nT0$l"2G,[|:~@#P@wv#pa2}>p$㗯[s7AVmg15uYFIRy@%Bkis#;*Q^ߗ^)ChQY|ډ!dzxj~V/t>;BkYߕ_=p(c +ز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_}d׉fg٬`/:[?/~/SnXTY^e;l )F>" TS=:c(0kĉRVlX;ab 0_mbgM{OX<x(ARDC|C;. 38E/Rxlגv8Z,Έbe 4iQU>mpGlL`Tum-=bI]1'>@ .? ?{h7Rzt`˂ J|7FA-҉䮲 I f^! >y]Z.K4|#߶vҝl'1n:.GQtkhԇ{ /ephw—WL pBg qmی6UW+w}52dNo <>e@oޛtē:ǒK'Io%aO-p88)DMkendstream 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?M+euf?649G+D9krD5OhrOn!`2=@5iB LrT$_DSZ&KX*a7d|E̦i7D Rc$;,*9C]pYS)Y[Ypٗ|dwJSySe;O``zޠt"eF 2 ˮܼ&[_Y dRWrۈE&$ -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~adf3I o "m 1!q)bCTڲ@'4c\d_hHDߔ'Jm׻·1pG]gaiÝrg\3UP5.Xo?;@H+f${I!ߤ'L$?G]pzye4%Gm_CxC 96nkLZ *[c)=^j -̈́d!WT3ɷaQdM+CTƢȐ5csQἫ@ -i 3r+᭏M;WPL8*^D\Cmܔ9oNXnjB X/p{\B,+7rKbl6TKV;җ cBS gsj|UroJo_O 03(ɜeJϢT3пg}L :1%Η+mrl)-T -,r@:>T,dx2އȸ{(0'o&l#`BhBD Be6&JUFuc-|{hQ =ϠxHi1SWr2a$9[E-{_EQ/p4}U:E-L* -TZίs/cSNu*bNeN|PHX^*I!AsӡsZpC0h( -5.>[K!<%ҡ1S<\[&Si>x7|pؗcuvCDQ !r7>Mv&U_6=VKŰei {}`Gٷ Ʉ㩢0::䖰 o83۫_++L3<眍'-e_ a&DZ-8r! q|m[),JN<(87yTL=LR./1s ^loyo4 ' NG쮀E |暑?E d-c\m8~p sIϱ^B5Q1j<6`CcMLZgY 8L#tPUuN|yfeQe5;:)Vph5L792zb }آszuwk#qA'O%lE">W{f B0iX$t(H"ۑ/t_nw}}R_(;:,_[6*x/\T=U`<y(XzSdixRΫ}41j5Fr‰, _e|Y!"o4 ;%tpKvnff֒j3Vm(9X]2Ra|]HN yQ1&/D*DvlV B)M9^`D7EtOyy~?jZ=r30ei/VܕK鲹d||^\q.뭧7c{f?RZwLWϗKL#9ˬOSpS2mJpŬzLΜs2j]zʺUzC Jcm {L 7ބ@P03NLuXƭrg޷}>\ +/<3h[df^Sî=_)n]q_l+8Xl)2H\&5|\?80ؘfOu4DHʗ85_Qu!@hBir*cCin +@ݶqCg -O@VL8(W-Qh2D>oOveM%8 `hj`BG$jhgAh s  vA*7QiӇwly[z".W@SZܐSC"m+mQ_?9p2}=a>R[4T.YXp0 H'z/d)-9a֣˲<.賿%QV̻WIki`CP>Kߣb?6P͜McL,V.4ߌܤ@\34WA:@Qg,V 5QPhݴn߃kFbnlhATѯa}|+-Eu:W|9h!oD/oQڔUdu !,/&5CO`F!jglO!L=AפY>o)#aZZYYBvZamfӳ1Z)RA_n2ڦa +\} !c{,_څRC@ۢӑYL)z}yIc_`*Ng0L.g8Zy{J2r>TOȌҰ7e9ץLl%K=s}/(:\־CuldV1LAoϦd +)(d +8LQJmJr5*B[Hǐ"F-QJ~GܶGb+@ {)CZ?tA0 .xW@ID/xs`J_O;m(霢p(^8m]@!xBྑx NJ@l"hVuڅ]`I9МD+qf(~(&ex.;2= :hM'Sܑ$ +)! +< ֩ FșM8\ B +8Ȥ;^ 9[`f f$/)䷡o ˙cZQGxq6$"LT:@x`ж#WڶܴQqw]9Z" :@:/aAgZd^28*2]2zf.2r9|!H\hpZ=1BIz[hU9g\(w} EjH@꧲NUk\O f܀-לX#pa.4%IpVDi1Lvtyk. ?R1 5A_ -e鯢&23:DY|Nhux.SAKGØ֚Yq0zy>,)a|V֞,B9axJ}SK:T5@ 3򰑴WHZ U-4~K7{|4ܑcbsVP-WB) Ê>t' }jR(2xL%_f6͓-*N=#bÎxj-y``CMݶʜqVݚhH>TSPr{)ޅe|l \xBSB[)2Jd{P֡y55USЧ r|t{ۖ_y_ = 죍g߶J}a<8 $=p1zpIToROdyKnm8p/6 +9LI؛@1^Ny8}mJG0B{6E*}fɺE@=`iBh{kn0LXZw;0jKv"šgGiRyQ -1-AI/#jLKn|q /5-$}'zۃ>D +J˩w*RYuOT6E`\CD&X?P3ǔjǜV\E,T_Ѝ*%ga>Eסs=b\gM\6|HLdޫ@@],9n<}UIwPİr)Хڟ{tv=uAI>ig1?o "*F: Fvendstream 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!ppz6m63 - @ V/QXJ QJ3 T^cC4 8HobYup"NG!D?΅(ƫ5UVW2VI2*2O3PHb(#mmr;OLq4KMڮ9ʡ' 6jQ$ԸVv*p^nh 0ӧdMFt[^OH4tqEGi8%04Q.LWg+Zu(gOIN4< 'pu=~ƱfU#,1kX 30-ŀ5Ee\[C/ %nHA:Gףw_3đcHT?!4 !KH);[Ue +t"7Lϗ ¢)3rFCiAO)py/bϒYŒt/ee=e!"KXq+|*DP>ѻ֚$~}E3ytkM04qkTg>ly Cp8[mUC 6&ެ +( .w7x6T+e IK"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(Tj U+ 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%~ +>Aendstream endobj -565 0 obj << +566 0 obj << /Type /Page -/Contents 566 0 R -/Resources 564 0 R +/Contents 567 0 R +/Resources 565 0 R /MediaBox [0 0 595.2757 841.8898] /Parent 541 0 R +/Annots [ 569 0 R 570 0 R ] >> endobj -567 0 obj << -/D [565 0 R /XYZ 74.4095 793.4011 null] +569 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [73.4132 546.8494 92.854 557.4317] +/Subtype /Link +/A << /S /GoTo /D (figure.2.15) >> >> endobj -371 0 obj << -/D [565 0 R /XYZ 287.609 342.786 null] +570 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.7626 546.8494 403.2182 557.4317] +/Subtype /Link +/A << /S /GoTo /D (table.2.3) >> >> endobj -564 0 obj << -/Font << /F63 220 0 R /F26 170 0 R /F28 173 0 R /F79 570 0 R >> +568 0 obj << +/D [566 0 R /XYZ 74.4095 793.4011 null] +>> endobj +50 0 obj << +/D [566 0 R /XYZ 74.4095 629.2458 null] +>> endobj +565 0 obj << +/Font << /F63 220 0 R /F71 555 0 R /F65 561 0 R /F75 558 0 R /F70 564 0 R /F35 193 0 R /F28 173 0 R /F26 170 0 R >> /ProcSet [ /PDF /Text ] >> endobj 573 0 obj << @@ -3242,11 +3239,15 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 582 0 obj << -/Length 1353 +/Length 1352 /Filter /FlateDecode >> stream -xڽXKo6Wh7޲niQAGKJ_Rd9x4pPcDL%&@0\3aElځ!rvAĒLk,o-1T'է}Ѻ"Yymw Nƅjwh ˳eX뼖RIRΈ {b3e $cLcp}TF1&MpBBd:j(q0YfQ= bP%U5ۣ݃MPP6NԓdT}Sȋ$*oՀk$Dd+:&+">(aYƓr3JX.f ͱIsXY,Ȯ2A5"ݱֻ|ޔmː|dYrɓnx$F)S̨N9ä9R n(faCip= jج-8OFt|hC_gN휹A;'!\׹rb]D1E4qt0,HiUhbre FxN<=Bwl=d\C Tɲ^w&s9L:ڳ9ݡ5N2a܎DzD%|K۰p;$rL>j;-Hy3ڠ@>*@2ЁvWAfMp76@cC\ 2)]TvR;EPbqrĕ/Qym*|<5*ڕӠ"T/ 84tbQo۵Ox?l?ڠ#&1\0Wn3LNwס3ݵCC/cFm`s7p5E7{s) ٝyWo׸9ܕeq$vź*&v^mDCy!z5q Roz|KcVyj0 CY7/ k\C\[L+p##S i`𶐚RזVVP:x?Gendstream +xڽXo6_GX~[tCaȖA[%{GR,uuC|:1,#JL&`,-g4Yگ/شC۫ٛ_H,ɴ]¹%*ja[PnHsAt~QovqaZ+UX˼RIRΈ {b3e $cLcp}TF1&MpVBBd*j(qA,YfQ= bP5U5=ۓMXP6NԳdT}Sȋ$*oՀk$Dd+<&K" >(aYƓr3JX.gͱIsXY,Ȯ2A5"ݱֻ|ޔmː}ɲl g bI;Sn3b%?.ZQ rIsf PMz͂MY>v-#?+[p+ L}P|hC_gN휹A;'!\׹rbbh89`XҪ -R!|@x< {D5zd;e?*INMps:t(gs&Ckt%(d¸;1uD%|yhGN}> +> +KPyܩՁN||ħt5c]< ǣKx$^I^ +{o@`ZG+4;$|, `FAoc_@(5]߷ŗD 7nFGH#i`𶐚RזVVP:oEendstream endobj 581 0 obj << /Type /Page @@ -3900,176 +3901,94 @@ endobj /D [581 0 R /XYZ 263.9246 185.0508 null] >> endobj 580 0 obj << -/Font << /F63 220 0 R /F26 170 0 R /F79 570 0 R /F28 173 0 R >> +/Font << /F63 220 0 R /F26 170 0 R /F68 548 0 R /F28 173 0 R >> /XObject << /Im19 578 0 R /Im20 579 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -589 0 obj << -/Length 2988 +588 0 obj << +/Length 2113 /Filter /FlateDecode >> stream -xڽZݏ۸߿6fO}tsmr!-л{Ю[Y[Zؿ3R%C @pf8|?>SՓJhp>yd%<S7n􃑓Yc3-L?-~X>W["/:˦vv4t^; jqU\9:AXaxJ's1ERG*YT 6H1[?Z"եmp[O]K-տ5Ij-ȵ-)^@_Ш9 aXQV|5t*EcZjbFեmܼIY!x.A%5[; BҦ@cCF?nЪ+UF!V; -9sn~#Pw1s;ݞ*AIjn-,r,ݚyhP>qzBHuip1%""л*T)֭AQq  QFȾ  t*MD^@O!za'b=*A{7(dXzD/q$l\էF$DsWaħC/U\wW?a0~1|qk10r*g-.OP*Rӟhy^ qP "UAd=^g xn5[3O w!yBqGui(!Tl^a9^k!r0jSa?t_ OX0HO <8"w 9z)ĝcɾ g1g[V993ݡ/Q ZNW3>()졠]uF$@J -< -ma ^+. LZr "ͳrsu8{h"< -}q6=Jt CK`^5tH;}"\L2c ÈTr 0:(wWd(XxϽ1 f4"Py'}f![endstream +xڽZmo6_6wߒ-HhrN ɴ$n"Ç3gq?HXy"5*K0/i+ҷWND!-KBG?/Ec˔Hh,[Uf$b?v(Wqk0W; dH Aއ12I FB(KR8ӠI$Պ[^{@ +ZdwEDjl>]i̒T09e+4 SbEʺ K;Yk"\!BhE?g\C"xVGD:<d!9]1E />jlm t^&tN9*_:!<:ea˧jEnrpwL5ٝEiRM;l+L!$LcP``!P +rF5p'׉Y /1H$0fL $I5P: Pڜںt+L iyrT zP< Xi6ED|"O* 1wq`,u*P b|VjuNy'1vvc <01k(R Z[D*' Yl>|G?Ok +EBf)OPزTi+"|_"eD:\&(qẏiOb_)\CTXS2ƚa [uw\y|Y53 UĶs*Ww+2 7PNȹdR\$^cXwR }y=|+0BndXSL{g̥RoA&=g b+X7>e|Q4MƉg*Y՛r(:8aSk񯡭T>((MċA_SXԏ/[7ժ4Qeŵ&a!y *:sam7˒vO`CDs{;C$9?4]EK ?nbm/*Zʰ)|`gxg^{K3ޕ]Xc=eǑ71َvkmW^ePY}\u7bIG׾>7uvq`1hf +`4@}שe P,2కY&X:h9ssz߹Vr܉0R7|BbXԍocZ`N8Af(k@P D Έ1Ϧvead +UMTΔn*8oF}M dvNYaũZx-BS #~9i> endobj -591 0 obj << +590 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [343.4855 450.9387 357.941 461.5209] +/Rect [343.4855 452.0198 357.941 462.6021] /Subtype /Link /A << /S /GoTo /D (table.2.1) >> >> endobj -592 0 obj << +591 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [225.8926 423.829 240.3482 434.4113] +/Rect [225.8926 426.8697 240.3482 437.4519] /Subtype /Link /A << /S /GoTo /D (table.3.2) >> >> endobj -593 0 ob