diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..30404ce --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +TODO \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7871c65 --- /dev/null +++ b/Makefile @@ -0,0 +1,46 @@ +# master: Makefile +# Makefile linux v0.19 +# 2025-02-15 (Rx) + +CLEAN = *.aux *.log *.toc *.4ct *.4tc *.idv *.lg *.tmp *.xref *.idx *.ilg *.ind *.out *.out.ps +CLEANUP = *.dvi *.pdf *.ps *.html *.css *.png *.txt +FILE_TEX = linux.tex +FILE_PDF = linux.pdf +FILE_DVI = linux.dvi +FILE_PS = linux.ps +FILE_TXT = linux.txt +PDF = pdflatex +DVI = latex +PS = dvips +#HTML = htlatex +#HTML = mk4ht.pl htlatex +HTML = pdftohtml +#TXT = catdvi -e 0 +TXT = ps2ascii +RM = rm + +all : pdf html dvi ps txt clean + +pdf : + ${PDF} ${FILE_TEX} + ${PDF} ${FILE_TEX} + +dvi : + ${DVI} ${FILE_TEX} + ${DVI} ${FILE_TEX} + +ps : dvi + ${PS} ${FILE_DVI} + +html : + # make faulty dvi, run first than dvi + ${HTML} ${FILE_PDF} + +txt : + ${TXT} ${FILE_PS} > ${FILE_TXT} + +cleanup : + ${RM} ${CLEANUP} ${CLEAN} + +clean : + ${RM} ${CLEAN} diff --git a/anhang/anhang.tex b/anhang/anhang.tex new file mode 100644 index 0000000..3b2ee5f --- /dev/null +++ b/anhang/anhang.tex @@ -0,0 +1,7 @@ +% master: anhang.tex +% Befehle v0.2 +% 2011-05-31 (Rx) + +\part{Anhang} +\input{anhang/glossar} + diff --git a/anhang/glossar.tex b/anhang/glossar.tex new file mode 100644 index 0000000..5f16475 --- /dev/null +++ b/anhang/glossar.tex @@ -0,0 +1,106 @@ +% master: glossar.tex +% Glossar v0.4 +% 2011-05-31 (Rx) + +\chapter{Glossar} + +\begin{description} + +\item[Abhängigkeiten] { + Ein von rpm verwendetes System, um die Verwaltung installierter Software + zu vereinfachen. Jedes Paket enthält ein Skript, das dem lokalen rpm + mitteilt, welche anderen Pakete es zur Ausführung benötigt. Sind die + erforderlichen Pakete nicht installiert, wird die Installation + abgebrochen. Gleiches gilt für die Deinstallation. +} +\item[Andere, others] { + In UNIX die Gruppe der Benutzer, die weder Eigetümer einer Datei sind, + noch zur Besitzergruppe gehören. Es ist generell eine gute Idee, die + Rechte dieser Gruppe so restriktiv wie möglich zu handhaben. + Siehe auch Besitzergruppe. +} +\item[alias] { + Ein Shell-Mechanismus, um eine Zeichenkette durch einen anderen zu + ersetzen, bevor ein Kommando ausgeführt wird. Einen Überblick über alle + definierten Aliasse erhalten Sie mit dem Kommando alias. +} +\item[Anzeigehilfe] { + Programm zum Anzeigen einer (Text-) Datei. Es bietet die Möglichkeit + einfach vorwärts und rückwärts durch das Dokument zu navigieren sowie + Zeichenketten zu suchen. Wir empfehlen Ihnen das Programm less zu + verwenden (u.a. da es die selben Tastaturkürzel wie vim verwendet). +} +\item[APM] { + Advanced Power Management (''Fortgeschrittenes Energiemanagement''). Wird + von einigen BIOSsen dazu benutzt, die Maschine nach einer Periode von + Inaktivität in einen energiesparenden Ruhezustand zu bringen. Auf + Laptops ist APM auch dafür zuständig, Informationen über den + Batteriestatus bzw. die verbleibende Arbeitszeit bereit zu stellen. +} +\item[Arbeitsfläche] { + Wenn Sie das X-Windows-System verwenden, ist die Arbeitsfläche der teil + des Bildschirmes, auf dem Sie arbeiten und auf dem Ihre Symbole und + Fenster dargestellt werden. Manschmal wird auch lachs vom ''Hitergrund'' + gesprochen. Siehe auch: virtuelle Arbeitsfläche. +} +\item[ARP] { + Address Resolution Protocol. (''Protokoll zur Adress-Auflösungs''). Das + Protokoll um IP-Adressen dynamisch in physikalische (Hardware-)Adressen + umzuwandeln. Nur möglich auf direkt verbundenen Netzwerken im Hardware- + Broadcasting. +} +\item[ASCII] { + Abkürzung für American Standart Code for Information Interchange. Es + handelt sich um den meistvervwendeten 7-Bit-Kode zur Darstellung von + Ziffern, Buchstaben und Sonderzeichen. Der ASCII-Code ist mittlerweile + per ''normativer Kraft des Faktischen'' durch den ISO Standart 8859-1 + abgelöst (Siehe ISO 8859). +} +\item[Assembler] { + Maschinensprache. Vorstufe des Objekt-Kodes. Programme werden meist in + sogenannten Hochsprachen (wie C) geschrieben, die dann per Kompilation + in Assembler umgewandelt werden. +} +\item[ATAPI] { + eine Familie von CD-ROM-Laufwerken, die an den IDE-Controller + angeschlossen werden. Es gibt auch SCSI-Laufwerke, die am SCSI-Controler + betrieben werden, sowie proprietäre Laufwerke, die ihren eigenen + Controller benutzen oder an die Soundkarte angeschlossen werden. +} +\item[atomar] { + Eine Gruppe von Operationen, die nicht weiter aufgeteilt werden kann. +} +\item[ausführlicher Modus] { + Befehle produzieren im ausführlichen Modus Zusatzinformationen, die auf + die Standardausgabe oder Standart-Fehlerausgabe ausgegeben werden. + Einige Programme bieten die Möglichkeit einzustellen wie ''redselig'' sie + sein sollen. +} +\item[HTTP] { + HyperText Transfer Protokoll(Hypertext-Übertragungsprotokoll). Ist ein + Protokoll zur Übertragung von Daten über ein Netzwerk. Es wird + hauptsächlich eingesetzt, um Webseiten aus dem World Wide Web (WWW) + in einen Webbrowser zu laden. +} +\item[URL] { + Uniform Resource Locator (Einheitlicher Quellenanzeiger). Bezeichnet man + eine Unterart von Uniform Resource Identifiern (URIs). URLs + identifizieren und lokalisieren eine Ressource über die zu verwendende + Zugriffsmethode (z. B. das verwendete Netzwerkprotokoll wie HTTP oder + FTP) und den Ort (engl. location) der Ressource in Computernetzwerken. + Im allgemeinen Sprachgebrauch werden sie auch als Internetadresse + bezeichnet, wobei damit (der umgangssprachlich häufigen Gleichsetzung + von Internet und WWW folgend) meist speziell URLs von Webseiten gemeint + sind. +} +\item[USV] { + Unterbrechungsfreie Stromversorgung. Sehr großer Akku (aufladbare + Baterie) der bei einem Stromausfall den Rechner mit Strom versorgt. +} +\item[WWW] { + World Wide Web(Weltweites Netz). Ist ein über das Internet abrufbares + Hypertext-System, bestehend aus elektronischen Dokumenten, die durch + Hyperlinks miteinander verknüpft sind. +} + +\end{description} diff --git a/linux.dvi b/linux.dvi new file mode 100644 index 0000000..6851294 Binary files /dev/null and b/linux.dvi differ diff --git a/linux.html b/linux.html new file mode 100644 index 0000000..d6fc5ef --- /dev/null +++ b/linux.html @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/linux.pdf b/linux.pdf new file mode 100644 index 0000000..6ac64ac Binary files /dev/null and b/linux.pdf differ diff --git a/linux.ps b/linux.ps new file mode 100644 index 0000000..8e4b6c6 --- /dev/null +++ b/linux.ps @@ -0,0 +1,26074 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 2023.1 (TeX Live 2023) Copyright 2023 Radical Eye Software +%%Title: linux.dvi +%%CreationDate: Sat Feb 15 14:29:14 2025 +%%Pages: 164 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: SFSX2074 SFRM1440 SFRM1000 SFSX1000 SFSX1200 SFSL1000 +%%+ SFRM0700 SFSX2488 SFSX1440 SFTT1000 SFBX1000 +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: D:\msys64\ucrt64\bin\dvips.exe linux.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2025.02.15:1529 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: l3backend-dvips.pro 0 0 +%% +%% This is file `l3backend-dvips.pro', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3backend-header.dtx (with options: `header,dvips') +%% +%% Copyright (C) 2019-2023 The LaTeX Project +%% +%% It may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License (LPPL), either version 1.3c of +%% this license or (at your option) any later version. The latest +%% version of this license is in the file: +%% +%% https://www.latex-project.org/lppl.txt +%% +%% This file is part of the "l3backend bundle" (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% File: l3backend-header.dtx +/color.sc { } def +TeXDict begin +/TeXcolorseparation { setcolor } def +end +true setglobal +/pdf.globaldict 4 dict def +false setglobal +/pdf.cvs { 65534 string cvs } def +/pdf.dvi.pt { 72.27 mul Resolution div } def +/pdf.pt.dvi { 72.27 div Resolution mul } def +/pdf.rect.ht { dup 1 get neg exch 3 get add } def +/pdf.linkmargin { 1 pdf.pt.dvi } def +/pdf.linkdp.pad { 0 } def +/pdf.linkht.pad { 0 } def +/pdf.rect + { /Rect [ pdf.llx pdf.lly pdf.urx pdf.ury ] } def +/pdf.save.ll + { + currentpoint + /pdf.lly exch def + /pdf.llx exch def + } + def +/pdf.save.ur + { + currentpoint + /pdf.ury exch def + /pdf.urx exch def + } + def +/pdf.save.linkll + { + currentpoint + pdf.linkmargin add + pdf.linkdp.pad add + /pdf.lly exch def + pdf.linkmargin sub + /pdf.llx exch def + } + def +/pdf.save.linkur + { + currentpoint + pdf.linkmargin sub + pdf.linkht.pad sub + /pdf.ury exch def + pdf.linkmargin add + /pdf.urx exch def + } + def +/pdf.dest.anchor + { + currentpoint exch + pdf.dvi.pt 72 add + /pdf.dest.x exch def + pdf.dvi.pt + vsize 72 sub exch sub + /pdf.dest.y exch def + } + def +/pdf.dest.point + { pdf.dest.x pdf.dest.y } def +/pdf.dest2device + { + /pdf.dest.y exch def + /pdf.dest.x exch def + matrix currentmatrix + matrix defaultmatrix + matrix invertmatrix + matrix concatmatrix + cvx exec + /pdf.dev.y exch def + /pdf.dev.x exch def + /pdf.tmpd exch def + /pdf.tmpc exch def + /pdf.tmpb exch def + /pdf.tmpa exch def + pdf.dest.x pdf.tmpa mul + pdf.dest.y pdf.tmpc mul add + pdf.dev.x add + pdf.dest.x pdf.tmpb mul + pdf.dest.y pdf.tmpd mul add + pdf.dev.y add + } + def +/pdf.bordertracking false def +/pdf.bordertracking.begin + { + SDict /pdf.bordertracking true put + SDict /pdf.leftboundary undef + SDict /pdf.rightboundary undef + /a where + { + /a + { + currentpoint pop + SDict /pdf.rightboundary known dup + { + SDict /pdf.rightboundary get 2 index lt + { not } + if + } + if + { pop } + { SDict exch /pdf.rightboundary exch put } + ifelse + moveto + currentpoint pop + SDict /pdf.leftboundary known dup + { + SDict /pdf.leftboundary get 2 index gt + { not } + if + } + if + { pop } + { SDict exch /pdf.leftboundary exch put } + ifelse + } + put + } + if + } + def +/pdf.bordertracking.end + { + /a where { /a { moveto } put } if + /x where { /x { 0 exch rmoveto } put } if + SDict /pdf.leftboundary known + { pdf.outerbox 0 pdf.leftboundary put } + if + SDict /pdf.rightboundary known + { pdf.outerbox 2 pdf.rightboundary put } + if + SDict /pdf.bordertracking false put + } + def + /pdf.bordertracking.endpage +{ + pdf.bordertracking + { + pdf.bordertracking.end + true setglobal + pdf.globaldict + /pdf.brokenlink.rect [ pdf.outerbox aload pop ] put + pdf.globaldict + /pdf.brokenlink.skip pdf.baselineskip put + pdf.globaldict + /pdf.brokenlink.dict + pdf.link.dict pdf.cvs put + false setglobal + mark pdf.link.dict cvx exec /Rect + [ + pdf.llx + pdf.lly + pdf.outerbox 2 get pdf.linkmargin add + currentpoint exch pop + pdf.outerbox pdf.rect.ht sub pdf.linkmargin sub + ] + /ANN pdf.pdfmark + } + if +} + def +/pdf.bordertracking.continue + { + /pdf.link.dict pdf.globaldict + /pdf.brokenlink.dict get def + /pdf.outerbox pdf.globaldict + /pdf.brokenlink.rect get def + /pdf.baselineskip pdf.globaldict + /pdf.brokenlink.skip get def + pdf.globaldict dup dup + /pdf.brokenlink.dict undef + /pdf.brokenlink.skip undef + /pdf.brokenlink.rect undef + currentpoint + /pdf.originy exch def + /pdf.originx exch def + /a where + { + /a + { + moveto + SDict + begin + currentpoint pdf.originy ne exch + pdf.originx ne or + { + pdf.save.linkll + /pdf.lly + pdf.lly pdf.outerbox 1 get sub def + pdf.bordertracking.begin + } + if + end + } + put + } + if + /x where + { + /x + { + 0 exch rmoveto + SDict + begin + currentpoint + pdf.originy ne exch pdf.originx ne or + { + pdf.save.linkll + /pdf.lly + pdf.lly pdf.outerbox 1 get sub def + pdf.bordertracking.begin + } + if + end + } + put + } + if + } + def +/pdf.breaklink + { + pop + counttomark 2 mod 0 eq + { + counttomark /pdf.count exch def + { + pdf.count 0 eq { exit } if + counttomark 2 roll + 1 index /Rect eq + { + dup 4 array copy + dup dup + 1 get + pdf.outerbox pdf.rect.ht + pdf.linkmargin 2 mul add sub + 3 exch put + dup + pdf.outerbox 2 get + pdf.linkmargin add + 2 exch put + dup dup + 3 get + pdf.outerbox pdf.rect.ht + pdf.linkmargin 2 mul add add + 1 exch put + /pdf.currentrect exch def + pdf.breaklink.write + { + pdf.currentrect + dup + pdf.outerbox 0 get + pdf.linkmargin sub + 0 exch put + dup + pdf.outerbox 2 get + pdf.linkmargin add + 2 exch put + dup dup + 1 get + pdf.baselineskip add + 1 exch put + dup dup + 3 get + pdf.baselineskip add + 3 exch put + /pdf.currentrect exch def + pdf.breaklink.write + } + 1 index 3 get + pdf.linkmargin 2 mul add + pdf.outerbox pdf.rect.ht add + 2 index 1 get sub + pdf.baselineskip div round cvi 1 sub + exch + repeat + pdf.currentrect + dup + pdf.outerbox 0 get + pdf.linkmargin sub + 0 exch put + dup dup + 1 get + pdf.baselineskip add + 1 exch put + dup dup + 3 get + pdf.baselineskip add + 3 exch put + dup 2 index 2 get 2 exch put + /pdf.currentrect exch def + pdf.breaklink.write + SDict /pdf.pdfmark.good false put + exit + } + { pdf.count 2 sub /pdf.count exch def } + ifelse + } + loop + } + if + /ANN +} + def +/pdf.breaklink.write + { + counttomark 1 sub + index /_objdef eq + { + counttomark -2 roll + dup wcheck + { + readonly + counttomark 2 roll + } + { pop pop } + ifelse + } + if + counttomark 1 add copy + pop pdf.currentrect + /ANN pdfmark + } + def +/pdf.pdfmark + { + SDict /pdf.pdfmark.good true put + dup /ANN eq + { + pdf.pdfmark.store + pdf.pdfmark.dict + begin + Subtype /Link eq + currentdict /Rect known and + SDict /pdf.outerbox known and + SDict /pdf.baselineskip known and + { + Rect 3 get + pdf.linkmargin 2 mul add + pdf.outerbox pdf.rect.ht add + Rect 1 get sub + pdf.baselineskip div round cvi 0 gt + { pdf.breaklink } + if + } + if + end + SDict /pdf.outerbox undef + SDict /pdf.baselineskip undef + currentdict /pdf.pdfmark.dict undef + } + if + pdf.pdfmark.good + { pdfmark } + { cleartomark } + ifelse + } + def +/pdf.pdfmark.store + { + /pdf.pdfmark.dict 65534 dict def + counttomark 1 add copy + pop + { + dup mark eq + { + pop + exit + } + { + pdf.pdfmark.dict + begin def end + } + ifelse + } + loop +} + def +%% +%% +%% End of file `l3backend-dvips.pro'. + +%%EndProcSet +%%BeginProcSet: cm-super-t1.enc 0 0 +% This file is generated from `T1uni.map' and `glyphlist.txt', `gl-other.txt' +% +% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; +% LIGKERN quoteleft quoteleft =: quotedblleft ; +% LIGKERN quoteright quoteright =: quotedblright ; +% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ; +% LIGKERN greater greater =: guillemotright ; +% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ; +% +% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ; +% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ; +% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ; +% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ; +% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ; +% LIGKERN nine {} * ; * {} nine ; +% +/T1Encoding [ +% 0x00 +/grave +/acute +/circumflex +/tilde +/dieresis +/hungarumlaut +/ring +/caron +/breve +/macron +/dotaccent +/cedilla +/ogonek +/quotesinglbase +/guilsinglleft +/guilsinglright +% 0x10 +/quotedblleft +/quotedblright +/quotedblbase +/guillemotleft +/guillemotright +/endash +/emdash +/afii61664 +/perthousandzero % PERTHOUSAND ZERO +/dotlessi +/dotlessj +/ff +/fi +/fl +/ffi +/ffl +% 0x20 +/uni2423 +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +% 0x30 +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +% 0x40 +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +% 0x50 +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +% 0x60 +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +% 0x70 +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/hyphen.alt % HANGING HYPHEN +% 0x80 +/Abreve +/Aogonek +/Cacute +/Ccaron +/Dcaron +/Ecaron +/Eogonek +/Gbreve +/Lacute +/Lcaron +/Lslash +/Nacute +/Ncaron +/Eng +/Ohungarumlaut +/Racute +% 0x90 +/Rcaron +/Sacute +/Scaron +/Scedilla +/Tcaron +/Tcommaaccent +/Uhungarumlaut +/Uring +/Ydieresis +/Zacute +/Zcaron +/Zdotaccent +/IJ +/Idotaccent +/dcroat +/section +% 0xA0 +/abreve +/aogonek +/cacute +/ccaron +/dcaron +/ecaron +/eogonek +/gbreve +/lacute +/lcaron +/lslash +/nacute +/ncaron +/eng +/ohungarumlaut +/racute +% 0xB0 +/rcaron +/sacute +/scaron +/scedilla +/tcaron +/tcommaaccent +/uhungarumlaut +/uring +/ydieresis +/zacute +/zcaron +/zdotaccent +/ij +/exclamdown +/questiondown +/sterling +% 0xC0 +/Agrave +/Aacute +/Acircumflex +/Atilde +/Adieresis +/Aring +/AE +/Ccedilla +/Egrave +/Eacute +/Ecircumflex +/Edieresis +/Igrave +/Iacute +/Icircumflex +/Idieresis +% 0xD0 +/Eth +/Ntilde +/Ograve +/Oacute +/Ocircumflex +/Otilde +/Odieresis +/OE +/Oslash +/Ugrave +/Uacute +/Ucircumflex +/Udieresis +/Yacute +/Thorn +/SS % Germandbls +% 0xE0 +/agrave +/aacute +/acircumflex +/atilde +/adieresis +/aring +/ae +/ccedilla +/egrave +/eacute +/ecircumflex +/edieresis +/igrave +/iacute +/icircumflex +/idieresis +% 0xF0 +/eth +/ntilde +/ograve +/oacute +/ocircumflex +/otilde +/odieresis +/oe +/oslash +/ugrave +/uacute +/ucircumflex +/udieresis +/yacute +/thorn +/germandbls % or /germandbls.alt +] def + +%%EndProcSet +%%BeginProcSet: cm-super-ts1.enc 0 0 +% This file is generated from `TS1uni.map' and `glyphlist.txt', `gl-other.txt' +/TS1Encoding [ +% 0x00 +/Grave +/Acute +/Circumflex % ? +/Tilde % ? +/Dieresis +/Hungarumlaut +/Ring % ? +/Caron +/Breve % ? +/Macron +/Dotaccent % ? +/cedilla +/ogonek +/quotesinglbase.ts1 +/.notdef +/.notdef +% 0x10 +/.notdef +/.notdef +/quotedblbase.ts1 +/.notdef +/.notdef +/twelveudash % ? +/threequartersemdash +/afii61664.cap % ? +/arrowleft +/arrowright +/tieaccentlowercase % ? +/tieaccentcapital % ? +/tieaccentlowercase.new % ? +/tieaccentcapital.new % ? +/.notdef +/afii61664.asc % ? +% 0x20 +/uni2422 +/.notdef +/.notdef +/.notdef +/dollar +/.notdef +/.notdef +/quotesingle +/.notdef +/.notdef +/asteriskmath +/.notdef +/comma +/hyphendbl % ? +/period +/fraction +% 0x30 +/zerooldstyle +/oneoldstyle +/twooldstyle +/threeoldstyle +/fouroldstyle +/fiveoldstyle +/sixoldstyle +/sevenoldstyle +/eightoldstyle +/nineoldstyle +/.notdef +/.notdef +/angleleft +/minus +/angleright +/.notdef +% 0x40 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/uni2127 +/.notdef +/circle +% 0x50 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/Omega +/.notdef +/.notdef +/.notdef +/uni301A +/.notdef +/uni301B +/arrowup +/arrowdown +% 0x60 +/grave.ts1 +/.notdef +/born % ? +/divorced % ? +/died % ? +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/leaf % ? +/married % ? +/musicalnote +/.notdef +% 0x70 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/tildelow % ? +/hyphendbl.alt % ? +% 0x80 +/breve.ts1 +/caron.ts1 +/hungarumlaut.ts1 +/dblgrave.ts1 +/dagger +/daggerdbl +/uni2016 +/perthousand +/bullet +/uni2103 +/dollaroldstyle +/centoldstyle +/florin +/colonmonetary +/uni20A9 +/uni20A6 +% 0x90 +/guarani % ? +/peso % ? +/lira +/recipe % ? +/uni203D +/gnaborretni % ? +/dong +/trademark +/uni2031 +/paragraph.alt % ? +/uni0E3F +/afii61352 +/discount % ? +/estimated +/openbullet +/uni2120 +% 0xA0 +/uni2045 +/uni2046 +/cent +/sterling +/currency +/yen +/brokenbar +/section +/dieresis.ts1 +/copyright +/ordfeminine +/copyleft % ? +/logicalnot +/uni2117 +/registered +/macron.ts1 +% 0xB0 +/degree +/plusminus +/twosuperior +/threesuperior +/acute.ts1 +/mu +/paragraph +/periodcentered +/uni203B +/onesuperior +/ordmasculine +/radical +/onequarter +/onehalf +/threequarters +/Euro % or /Euro.alt +% 0xC0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xD0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/multiply +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xE0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +% 0xF0 +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/divide +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +] def + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/@beginspecial{SDict begin/SpecialSave save N gsave +normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount +countdictstack N}N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto +0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale +ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup} +ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale +llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly +lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N +/erasepage{}N/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{ +count ocount sub{pop}repeat countdictstack dcount sub{end}repeat +grestore SpecialSave restore end}N/@defspecial{SDict begin}N +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 +1 startangle endangle arc savematrix setmatrix}N end + +%%EndProcSet +TeXDict begin @defspecial + + systemdict /pdfmark known{userdict /?pdfmark systemdict /exec get +put}{userdict /?pdfmark systemdict /pop get put userdict /pdfmark systemdict +/cleartomark get put}ifelse + + /DvipsToPDF{72.27 mul Resolution div} def/PDFToDvips{72.27 div Resolution +mul} def/BPToDvips{72 div Resolution mul}def product (Ghostscript) +search {pop pop pop revision 927 gt}{pop false} ifelse{/BorderArrayPatch{} +def}{/BorderArrayPatch{[exch{dup dup type/integertype eq exch type/realtype +eq or{BPToDvips}if}forall]}def} ifelse /HyperBorder {1 PDFToDvips} +def/H.V {pdf@hoff pdf@voff null} def/H.B {/Rect[pdf@llx pdf@lly pdf@urx +pdf@ury]} def/H.S {currentpoint HyperBorder add /pdf@lly exch def dup +DvipsToPDF 72 add /pdf@hoff exch def HyperBorder sub /pdf@llx exch +def} def/H.L {2 sub dup/HyperBasePt exch def PDFToDvips /HyperBaseDvips +exch def currentpoint HyperBaseDvips sub /pdf@ury exch def/pdf@urx +exch def} def/H.A {H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF +HyperBasePt sub sub /pdf@voff exch def} def/H.R {currentpoint HyperBorder +sub /pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint +exch pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def} def + +@fedspecial end +%%BeginFont: SFBX1000 +%!FontType1-1.0: SFBX1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecbx1000, tcbx1000, labx1000, lbbx1000, lcbx1000, rxbx1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFBX1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-229 -316 1737 939}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E4875AA1B1ED6A435C02C357D527BF5BAE9F3163F8850F +4267F16F7320BDD6979C2F8C665632114CE1D7FCD000F5FBD3E05848929A6E47 +97361D305E2B3EF0D3289006D6D4A92B4915A07861EFFD2EAD6D0E44D7F2BC50 +0393AB5D4E20487C48DB19B78C49FB68EBB7ECED723428C77D753A22B7D69614 +D9508C82BA58E2D874CC9F68A68F2A40B655CEC8A6308B67DD6ABE39F97FAD75 +03DA383F4C166B7EAF7A3ED4BB7FC5E6B5D2832CD0A6587B17539297FED807CA +ED127D2F0B4D1835845D8E3FA03981EE7410C5EDBF3C000051861E7C98A1CD97 +D8CFEF6B875885BFF5832E8FCD91B4780EBE0E908E59EF5D3FA8CC9D67787EB9 +9FF5335E365F2B9EEE281ACC85039C952D301529C2A7B52B3A174115FDBB2268 +D98A22B25EAAC4F57C64C0C1DBC34B0FE96C1D9DAC2B7FF6749250D8502C5C28 +3B8CE334C9E727CD19A3AB4FF6D3339E7E9C3F43BAD7A78D4C7113CD45530995 +E6A70147ED0D3BE8A22B346818368B4AA3AB2ECEBDF089D4134F08780B4CE5F1 +D96EA7AF6FC84DD5FDF8C9EB273059C87A568B0E6B0D41B1745D6DB55C621F11 +5E7797466B74ECA431199CB2C9D974DB020DE52EB9C39B2CE83FEEE98D229076 +8C6B6237B150DFDDCB233858DB62479384302233B6472BCE3E34BAAE8F821E9C +4B6ACF55A88DCA7FB297973FA132DA117F14408B47E95061999AA8D57F86006A +0F217337C5B80213B35036A05E5B863C4B3F93FE87AC239CD98BCCE78BD7C817 +71159A28849466B7E07C570C17ED346CE6AA98AF0EDB06BFB7420354918C26BA +CAB4F96E9B9C4E5FE9866D50071DAFABC91AF2B593263B06EF6385AF5C270462 +49FF831571117CCD7926BA32815E16874B0E2D3A3D7887C8F9F74EC967F32757 +57AD4D7A72049C663EDF22096DA11F805E841EA116064442141A4C4829C02666 +A5665B7B097C8EDD95A5FBD0D23202142E52C14B3245C688EFD4D00FE28C4BD4 +53EA9222492F7617EAEBB60B94C6AF35DAA2888C53D6247D7A1A68D9C9740033 +956BE1DBFB4DB60AF26F245576F263D44A4542676EA145D5DF350769E293EFD4 +C57F4DE9D9EDD0C81B64C843F7F61C412DD78E4013384D3DA97856B78F2500FB +EA58C37126EFEA3434E7DA1138EBA92FE0C8C865BF24C35C73E266483C66E080 +B81C4D136EEF2B51E6840441AC698C892FF221AF73EEEF0D2F421758C0A49C28 +5C168DF1F6355DBCCFF4DD34204F7E609092B06884E084BDDE7EDBB646CB6B5C +6E85EAE6A39A649CFCBB35F1FB312657E2BD52AB35B72F30CF7096D1ABE76480 +E25CD23F66DEA111589CF73FF9D12D9D37137311D23479A35818415B6807AAB6 +8211037F4F2C1768DE568BA23DA148F1C2A62E72A0CDF05C62FA4A936307F490 +02F8E71FF532481524AE44E882415A8279A8A6BB7C88AE260A1A9EC3BF9850B1 +F5DF3173CE039A9B9DF41E8F4A8FBC0F33D6FCAEA089CD2DF10F7812735A03C6 +2CC3347B3BFE57D69E4A17D06902D0051AD66140461F97C7AEDCB211A759F59A +36F28F6C40CD614F18EB5CD350DB066AD380471D52712B846F6BD4ED67C974DC +17C5108C24B4D83B5F3302677863C484767F184102341ECB3E82079C152B12D5 +0AF4E1B2519FBB2B7795A3F534BB79BE229103559EC5765A12B8BEE16F96CACC +FBE56DFC9DAFD054A066FD8312DD85DEA51F6B8472B15FAAAB37346ABC3F9701 +384B7262E3207884A85FD01AAA407F3E0678C703BA5F08E67DAAC94324D3B14B +EF489478642E3F3B8CEBAA1954000E454840543F4EFD67A22B4CBD389C249A86 +EA1764EAD2D65F03B4F1FBDC5981E013A7629E643DCA18801DADDBB19519EBBB +C38D9856EA271F903D7DAC8682D940369E1D74F535D8F0F5EE3591699142AA46 +84167F7E934AC46E268C7B0C32FBE96169D38F2640A68E4799E30622361470C8 +7225E9724B8E7C4743B0429C01500B01C7229F68E7C55F697AE06D755A3A00A3 +46AB3AEB98D4FEFE2F224F803DA611B3CE40694AE73296A0548B20E742D3EC21 +A464E65B1A3374FD4E55D9BB9088B7277B4729BB449A25D63E933E146C5A181C +0C4119D17C560CD0AED396939FC9E3F3C8E78C6A13CD716D9160BDDDF55F0712 +FEFDB965955A3AC5F7C449DEB7674CFBF8E1C02FEC04C9534EA4C93E5DE59E8B +8118329ADFA510A2F181F50F2DFD29ACF7E235A5D4B210ADBC891E9490903FE7 +0C0C54A61792B270A46C6CD8A15A68E120BB0793D327C91A222334012F989F67 +0CEA6AFF3330B151C5B943261AC39A38778C937980087C603274ABAAFCD95955 +7B57C838629A22823CB0C5496BA5C760B3FDEE138C0213688E636F163B13DFC8 +A210CB04CF3726514865CAC51A0D4A311BCF72882149633DF4B5F5D00215A04F +0BC5A5BCD11F63134889FBF544F4CBE0538F8236C60C596F6C2DCE689B7F03CF +B7C926DDD1139D8A35EF0AD14DF355C3A9DEE55B1B17DBE1B7F832232035CF71 +0DAB7C416541C9150BD9963774565D76A4A20E2FF7D42CA3610F7EF714B0DED8 +8E90FDFE976BA027B72A94B02BE8128D8630107499F345E2AAF565924E3C9020 +983B10203FAA11C1548261F2C84E0320152664DB1F3159B5B1D3F2A539E404AE +E2FFB606325BEF16B1F01F0FDDDDCAB7C11438FF7CAB4DB8AF5DECC6A14DD87D +8DF9ED2BDFE8A4478437A31D1490C53B9A81FDA289217F14F95AA889359C4B7F +90284DF89C04819363F2A2F47ADE59A5228F057192D917E2BBB3858FCC567BE8 +8E2B8501CA1CC8DA7A308B33D6A3C41958B7BF321CA77D2426404A8117A856D6 +229A3438C09E0B928D129FE88F353173506B7869E186B8EAC1C72A0CC352C2F6 +1B59106D35F59E74D464AE942E965742AFFBEA7999822623231EA9F31FE28995 +1443BB660C75E8E5D875C17A110D24D1452DB2F96FD40D8CEFAC25BDD8ADBB70 +DAE524B7ECBCC9EB81E50A2267D8F224042E79BC707725C13B8B2561638A24AA +26840F14CB58B87ECB47D4E266219353AAA14C871A230401234B3278BD81024D +A99E76416E7339222BC8F3050597DDFDD7DDBC7DAF0903167D6A9A21E32A5699 +0745270E021D0773C49196DD8C31CE41EC5FA3939A2F969D2949345DBD2BF827 +2D734B9E3A70F3B6B19FC5CBCDD213E552199CF9EFFE60A923A2E921D80FAE2F +EE189B633BFD84CB2921D461A2637C80EF09C352CAB169C4DB747D16796899F8 +19A7FB751434B17FE63C3AD72C9900BC04C5AC88D56889ADC5947B51C5CECB79 +955D2C14E5507462E0A0A1B035DDE8BACF0DEC60B30A0B74589614C11AB1D3E9 +EF88750C9BB160881B459FF3A535895B925AE0B79688C14175584FF7A1D6A5F6 +26F377CACA8616749D70DEF8FF5B36958EEF8C6777057D96CFB0497AF968B801 +465E27FF42A412CD417BCBCA60D2AFA3E293365261CEDE87AA82D152B394325E +4B961D3D3A3B0130EC2ED6E91A17370051FEA4082EB3348AFEBA93505EB3806B +199D1BD512A070197B92A583F92792C9F7980D866E46A77149FB8C0AA830E7B9 +3E7E6432C4420B870792BCE5BDF0FBE0A3C0EB6E07B6A326B4A665E0EE1FB1F6 +7732C26CAE4FC99030B6830B81793E9D328A9F0FD18863E8D30D7CCB6C785B49 +091D16821C97EDDAF556BD6B97DB43DACF1B88468986BA718FBC25D1459F04EA +286BDE84468B0A8F0AA8A1B609F032B4D0C796C291702B6EFBC07680D1A9AD90 +07EB369B2A6B80AB337112A758917F06EE76CFF1063E50BE9FA2FB84BEEADCA2 +AE4F1A1BCEB919F48A57654E54C86B662485354DA8E555FDC1F948BEFEB40895 +345FAEA6B669ACE727C3BED1A6A1552D6604D61C0F73B6994CF761789549DDB3 +E6A84840206504E661BE6D41EC3510E6735180291E72DE255479D8E1AA7A59F5 +DEE6C72D9CA6F9C7E02536219A4504B13B5CC9877459E17F98A36A628FFCB7CD +A2E20B05DD71CF004087F913EE0CF4B5284A10A66D9E69D16EB9366483B8C867 +AF2D6B548B1C8CF9FAB8BD3B084EFAF64BA95B4BE0F00C4D63D49BC74DDA6BF4 +47584457030A7ECFAE2312D2AE59880B6F30506AE63643CA48AF904C2B7577E9 +12647E74A2438275975373C64D9ACBDEC7DDDCE3D915F0FF2F8A192AF1FCEA7C +2E384AD62F4436EC6A4626970849E9DD01E74BF07F29506FBE9E2404FA2BC108 +F38C5251EB0D329E38BB4354290EFBA46127656070359652536BC114DA2B1971 +84911869F859DD5D76F54578660E86C7C6622A8F4B89A4F193D6CB6FECC60EA7 +ABAB892A6E645EEC2019A802A795C607AD737EC11E1102125E50ED736D9EE1FE +C5369DE08A1DD6CAF629346C4086912C0CDF69884FD1C519E63BAB119D174083 +F0604636DB8D805A175BE0CDDDD8AE32B1AF866B2A3E1151CBB4AE529A37FA8C +1A43E63EDAFB7F07D1E393449D509579650E646A0650D1FB8C48524027C2C470 +C9706434B122F8D1D4994219F7E089DB937DDD11D60912E4AF5F49BBAE81C860 +0B84C8FB7257630404DDC21DC75F7066D54A6DF72141640FD378C1A9E505542E +D950A6D66AE823D871F573A06508CD3DAE99183A214CFA004F89A55B08F38F54 +489F9B8F29AF2CE3B416648CB164C1D59C82FD020879779C83CF9529ABE6FBD9 +44A86907AD0CC3D09CA0A2B443672CE1CF12416F2ECCE78AEE68E5C4E64CB9AF +AE1BDC07940F57F6ADE8678E6952E324213C13927CF20515ED111EB98D6953FF +D8CFE1C85969BE5AC5245A0270CD53E72372D08F5F4D7616505CB27F53885AE2 +C67A85AD9A9D3FE324A15B6CA922EA3648C55D7A0C894E432013030605F7BED3 +4BF377544FD581C7773D3785F01B878C50F06A64F7524D5EF232464EBF592354 +F37F2F1460A76422CD0FEA03DD5DD3E1BAF1A82429A2F79BD6AE2858ECEE53D0 +18076D984CF6E0EB68D9F9FB686915B7D6CE94A091A27E7846225571201C4BB0 +531D4F530689167B7DCE26C4E57448972797AB4538300093A2A349951A101A66 +167148E248778F395B9FCF93583F7495F3C14F12BD4707FAB8572443E109AFDC +5D6BFEA0C061FAA09BB6C117FAD1A368EBFC1D1853D0E4AD65927F0BEA4F9E6A +F05D219AE3C52E5849E0FAEAD1708AEE4A5EDE831BD5061B48A05336B06CD0E3 +0163CBDDA91A4DFBB8CA5ABCA3387C78E203E7B34023EB633092316912DBB68E +47AC50519F10097F93C13CF007E8425204F3689196CB3E238C3B225CAFC0484B +CA6BFC0A34A7F8A58BBFD92AA5A14E7CB52FC8FAA962335FBE5462A516F74E79 +A2396E4C040D7FFF695DCE0CC5BBFD3A2CD8541C74E5286909556C240E5413D1 +53F57BA02C839AB44CD8455282DAE1FDC15A43243CD258A3016BF42CBF8CAAFD +F066524931EE8B4B643B809D60FB5CBA8A3852BBAC8DB4DA56D55EED5FBBF274 +FD4D9F7F5ADA8EEC22C2ECBB71191D7EC26121DFDF26942ED277F7AB2E72FAB1 +D07C7C2AAAB9D14B8020B9891044169A6047973DB0C63ABDE3F9E88F8E503BD8 +B3BF020BEE0FF9F9F09F607A207B8E2CF3F01D4A9F008088CF31AF7FF1EC792C +2392B23C81B8AEADE7A834103F9E3DC40386FD630C8FE218D3D8F5EEE6510210 +CD76A8825569DD5805E27E9ED87FE65C7F1BF8FE2E9CC24307BB472A26E09A88 +988B9240BAE845D02F68807109F38D7E0D59F2A114F7BFA8A7789F12233BD5E7 +43EE91D52F97832A211DC8C3C5AE86A4D3FBCB6A8C95F5BC442DE263AF082589 +283FE0E8FBA39624091AFF61C4566B1037798938BD3FAD9A644A43B19BFB5C07 +D6DF8B7B270BF719BAE8A38B7880373F04EC2C85E89347297578194EC04225E4 +D559D34F0656643C77D04F4BCB9D5A84F4DC5981E013A7629E643DCA18801DAB +74765708DDD28131006212EDE6D70A3C3C4DB5CF6B7A6C97B78A390B3A9908AA +71E7317988141158140A98E34B39934FC130D53192DDFF0E73C16B94578EC769 +DA4EDD9CA56300FA86E8A76DD009F4C8B70A8C5D57C4B364F43A8F323499CC71 +D32CE6183A4F1284AC8D02FC2268D05999DD688729F3F1A4756F41E46A4617A4 +3ED2D2DFCBBDCF4B31E1DEC971A1C6109116175618903695445936C76C908AEF +EC6935789BFFDB8444B169B214D6191D511982A5D8EBED7726AEFF27179B9CFE +8D25F3D84D7928EB4E2FC014B928E6388FEABCD9034F7EFE58A9C1BFCC5B0C7D +ED1C09F9B895E2BB386B7304DC9254BE07A66C6B3FC432808B9EBAB6113E0F83 +45AAF6266FA2827830AD94DE90C4CC2C0D54217CB6BA4B3F58880A43FD7A9F5D +3AD608DE293094158F2C092B42A314497D1EECA7C28B4108155D9B9E6F4CE186 +73A6BD70F95395A16AB3B91490A3347C1E8C514DD2C2AE685F7131B04C23ABCA +88D3E224CF95D71A7642E98F9246DEFDE0F026FC3AD193A7606E89BAEDCD9E57 +3A2B023352069E8421F03B33D0AC09237FCD7A4D9F18FE05FC57E1CAB90E183B +80ECAF61FDB1FA32883CC304269EDA7C63CB63C2553F8D12679FFA6A788BFC54 +9777397882A8DAA878269D544BBD869B1E74B020D93EBB8C77B745B9E63DDCB2 +79A4E2A54FADCFB041A69B2440F139BAA9ED10CA008619187874775B6F2A92B2 +6CD967182D07C139A2F87C2614D35717AE2F463715757CA99983272EAB35BE26 +35391B5BB4E67D6BE2FFFA9D1EE4836317FF21F754DE565885040FF301194F49 +D8159B1E87359DE2D0ABB855BA0A223B94F37BD3B8FDB30356A4B4830D49C639 +FCE1C3E450F191D1CFFCE79F2D98C7A7D9183C5C6D7F0B041FAA80451A7B560B +A88DB7FE3C545D9D20CD2C692DF06DA1487FBC4AB1C182B473FC7D44D42C6EAB +31789982D566148A8AC791AE68A887F6E971A1E8120FB303DA50EB8EDA3E3D9F +D637C98BA46A6161F9AEF2C2A4CC41A26404D3DC64AF36F41E2198BA6995E15E +405C20DFE02C8538C79938E28DC379674E791E48A5906BEFA5B5D6BCCDE5361A +6063BA0E864A73FA19856345A9C04E2A535DAA3639B351C8EF330672C9584275 +E75209EF7FBCEC9D6079042E52D5BFAD5BADFB97F60008C8EEC8B1FBBFCE7715 +4A660DCE1AAC1991DF0505EFFFBD41365DFEA97F565EAB194767E00C463AEBE2 +BA17C1F8E4E425B6F416A191DDBA8D9CFA81E056CFCA2B187B618457D95CF089 +1ABB0F75E21E453BC7F38F4F15C155FAC20C095B5A17BEE686432C5CC60A5139 +20219A9C3DE1C0002ACBE4E6B0DE069E16C074B6D9BB7D6DA40D9E9D312B1842 +D19530E3C0D286CD97A2AA75E27E054821F0CF01D3A2B352DF1E8CA079D390E7 +F470BE569C7F7726C499CC47E422D552BFC12C9271BCC7992E51350F356C38DC +521206E27433B3811E933EFE0291FC8EBFD7AE5F7D3926CA6A8DD12C7DA1F709 +613BFFCC3B2C4652C278E04C5FEBDB60D448A71944C0AD98B624B44418CBEF1B +314ACED7703A43AAA189775711FD6B227EDD789CB048EFA1406B6AD6AE0D448E +CACDD13D4BDB155E282F16C0D10B3D25692D2A0359B146CECB8C340B13DDE462 +7DCF4A87E739CFD53910FD858B645C5A7CB1C291E74BE9D49BBA557DA56ECA50 +BE1AE4819EA3CB6949FDE5F848CD7B8C96F4A69193C84645BD8BB3E6F5817FEF +B6A9645CCA04C28761C297048E20B253BF7F4EA55162095C40077F2B930CE8CD +62854D2E45FB4B4704B2B0829F70D8AAC4DCA63644E536EC77A07FE286AEC17C +84EE43E34976DC33831D413CDC3B1ACC69E996737C23FC740605CCC919367B9F +2E3512741C9D2CB621AFADEEDBA88264CFAD208CF29AAFBB3C022BFB46EF9318 +B0D1D0FA8B554BBBD608D100D3CE0DD582512F551FB4F940E0C71D74CFDDA097 +4D737E103CA77A11F6744B7561C355BCD589E09CBC9FB3375A9AFFC80FDC10ED +8071ECC75210254578FD8D13A390A174B5CC902BD49F8D2D25B23BCECE99C8CE +9706831FFC4C7C88E2047322EB5208E9BD0202C8FB9F555F5D00A2CB5F5E287D +4C7399E3BB7383FD1801B12956FFB8952F6B5C40ED58FFD567BAB11CBF0A27FF +EE1B6DE181D826EA00D6DB6626528F6D9BEEA73207E62033C05E42472AA6B33D +2295D7CB77C33ED9222E73EED5E2DA57359590620136FE32AA1E5307535EC597 +A24C398F9F1D6454D0B1E18027FC4E025334A0B671378BC393A6640D1BD5FADA +CF4EF71CF5AA3B3CE67AB71E903C1EF066032D121CCCD51B7AB164EE9A217E62 +77D93A34269C50D65D14B6D619AF7C3145CB811D1BF67F12622FB2A85FB38FB2 +C1513A254567392AECBD0B990D4A94887DC1FBE339D79B6A45362E893130561C +E8C4F1CC2324C36A5BB2BDDFA7B5861F7FD2003D4E6116D675D4E7D946EA7530 +CC446F6FD2D399C25D37FF1C96F47B840E5B9E736C6777940B35745885B03CCF +BB8A76F6B639809E47E99E08452591BD98D198ED988F593D51FAEF870AB3B0EF +002D08404E8FA08109DDDB8BFFF895B7C475C0D7E5E46F213B789DEB04C11ECB +017C724DE96BE736EE4ED2A55C611CAD37C667CAA3A1DC91334DED6FD2DA71D8 +B5414924DB2A1ACFFFEB527E7F7D118FF2285BCB09BBC8A2BE1E24528947E0FC +59AA8C81BFB345F7957D4BE9CE80266A7ADD72CDF37CC41CA56F360C475D1D04 +7305ACC70C168F2800D2EA87355DBDE6552FA5B62E7E587973C1DCA5CB5F7B29 +6BCFBC760C630F4248ABB4FDA0EB69FD636A4A1BAF9D06B018DBD0CF0B5F3FA8 +433ADBD62CB6D7DE95255E3E091947FC956BF321AD8775464C15D5504741E503 +D9D110E04F7F21903E3EF619576A29B00ED5C55AD867DA9A1E7C873D1505AD87 +8BD665189D45C42481317E363ADB4A40DE034C1D5F3F39C77D67B04FF700D5F4 +A778F8F4CEB320DB0FBFDED0207DF97EE708E78C118D43A76D5826569AF97A3D +3D87A01C3F306A300D60747719BA2B0FA21D59E8456073945B10B7644566CA86 +7B2E61628FA5D0C8174C9ED2CA50CB5F9A34957DD7DB8FBEBAB47D638DEDB570 +48A7E249980B99E4D965E5BD0087BFA2F7C7EDA5F26E06A035C8DB2668A67156 +09CF38C9D79577253F56A4AB8070B402A4427B2F0C62477A65CCDE8F0739FB31 +02DB7A3A4BEABF501709F4E57075B9EB5BA31FC1D927CFBDEC077373FB39C1AF +C85DEA0EFAB6F0ABEB3788972DDCF7C419C3AA968BA1399B1569196ABDA884F5 +4D66ADFFC21A7372F252749D61FEE51A98F0AF6D75CA7F8AD8E47127B6E19D3F +215C8D81410F813119C10797EB572C39AE4ADA7378F5817029FFC4CDA7715EF8 +DF43030A2EFAFD1DED9D5E4008BACC3C3D7150122533C24435D71ADBB801D898 +72A0240E51B650320EB2BFDCA8631CCEF816E7AD2773295B40002BFB9868AD6B +4ABCAC26CD5104C87682A9BDCE7871DBA5BF8386975ABE4951F31BF88F7B480E +1DAC365CC6540ECD955FEB3D89021D601516A98806BC4BED2B581910D933D8A3 +E7CDB2231F8C1B8256CE65253EAA542CC2D5F3E82565A1B10C3DF13D99B98484 +1964645B04EF081B1A849FBE540F323C88FCC49DA6B6366C4777D6602AC0DD27 +232EA50E2A559E241D622A11E5561B3B27A8DAB963F521332589A9F81F469362 +42E35EA4157D316540FBB623075EA030A59617F9FBA5684EEA198AD04651DAEE +F3AAD4731C3B6B728350843DC67C978F8BB4F5DCFA902BC1F61B40C762CD6F39 +971298918312250C1BB477C45FC6C909A8EF59BB3C3EAA7CC90CB9815BE36A8A +8530A2F86A5C4AD1A8CCC3E6FB3DB7527838C1C2F3FF4B0F4529C475E5D473CD +5AC86BDD95625D45A946337E128E6F1B4725DE64D2F80D67D92527F7A73A9BCF +436A83576C05417DC1815FE05578C4908A3723066F0C6AB5F590022B006A4269 +ACA5BF825B65EB7CF6955084AA74B9E8459ABFA31EE70895261E4A26107C6FA8 +32D6E9D53AD86867FA122A09081B2218A078EDF6C2650DFCA450A40DA90AB5C4 +007CFEEEB69904854C75EFCC59DB6B6EB827D68C47740F38315FED206DCC84BA +E29DC18FB2233A129E3C9D192686F821CD8B8E0DF82300C96FED2157FF87036F +394019EE90ABA712CCC0EE9CEB498D6A4D18C9770F7AA5F09D532FF5C4720EFC +7E47BAA4BAC36A066787B4AA4E19A1BCA26976AAA0A75D95BF4AD2E4DF3C2F18 +57163757324874875C5BFD32FA1257A105B45C11C210BDB0C8F7D62D2446A2E1 +FB257E73BBE8273919B910FDF1355C3BD6CFC5AD30A1F01D735B9C65A77E9ECF +4FE4054DDC6BDE999656B1171998082C301592E9E69E5826A2014C48E0C1127D +F0A2C22BF13135C42DE5B0DF613D9C67D2ECF30C6D9C73C4C422B55C3C865A12 +EA75ECB0DE30DD21EA4C9472CFB58C1C592AFF7AA54AD78A2F035B0C49585B69 +6E0DB2231A78C23918DD7F7C2D1E3B1B30D408169D105E4738D324485F219F49 +0174186824FF78EC89C3C0B62F75CF9AADCDF962A4F9020E18A4962002AA2090 +E83E13D06B5E3612F98C3C20EDA5FB1C26E6273B5066030367F61287BDD609A2 +80F3A95B9FE864C3012431411F730A85163632A426DB77A36FE7E234C13F17FE +ADAA14BE6CB518B59E217CE5F72FF6A8AA6F7E60C99D0E6429B0C12535CF9BF8 +1ED0E8E146357115058BCCB9C1B0E02641A9766AAC156BE4C2E1A8EFD9A5DDCB +6281B494D7B3BFD99F2DADD5AD8283DC9CD1C81B96C76F6219BCFA296AB82953 +060686ECEAAFADBE92BF875EAD522265BAAB799AA11B693A21404CF1DE6C9482 +8F34F883AA804CC9DF1B84359F2BE1B2B8034EF99D0D13AA5A3E43B33A04338C +F4144D61D939425066EDCC16FFD6E0296473615B2AF9C8BEB8E15D5966673336 +8FE2ADD0B52AF04530708DD6D3DB42638D842513A0459C118252A2354035D16D +F7EC19DB9AA70BCD685C61048664823515FB1231695C4950A783BEBA01BC0A2E +3222C566E817B163BE580660FFF722F9898C5E52252A446634E8EAA563C249F3 +399B62C0F65D89FC7AEFB909D80E2A4707E6D93B90B1ABA25258F72D78E99222 +86067E8076B2BC1991EA24B6D0A285F575BC1E7A30964CD561BFD0EFD69F8505 +6DF0ED391657D970F922144CE6093AC5929C9CEE82C261C60A36B89E9FA44FFB +F740B69F81A0769DB1070949E863ED09359D65D5351D5AA438BD9114FEE0A12C +240CD8679CF2B600CC410078661B1E9E62B48838A442E796E115B6D791D64047 +A5758ADB937DDD11D60917E99D0FF7E8549C065BFA6B4DFA01B0F4C98D01E0FA +A239302D33A5A672B4B3BE25BCD5DB7A27DFAF2E79627EC89466DEE887E6F026 +DFFE8BB7708AF53B123F4C64EDBD8F4A736466C2D0C37F234C195A50ADCBBD46 +FE6B7A73FEA9D1AE580701ECA6AE8458D4A8AFF7DB2216CF619AA1EF1065CC45 +36857CCB51017885692002CAC58C1BEF504628A1C8A2156C3A3DBBD88EF33834 +B8179D97DE69FD5FFDE7E732DCB7A1F4002F04E2F446068DC6617BD38C3D6467 +126F752AFBD562352AFA557EB1EAF606759A8736C4D7EF91B7D0AF9CAAE89D36 +06AC1C5BECB2B5F6DF850FA22E4A8CD564651748440458FE15849FA8B3641B95 +162BD9F3CED35FA7FED19C518288F75A9109CDF903D1B6695D190EFFABAD1649 +18688A7F91D336D86313215962F305F185977880A991B5F92AA738CB3CEBC260 +BAEAEC4FAFAA990BF193A31861F5C069414614B71FED4DA8637120EF6349D42C +E0E011E8ADFBF1D4A22AD9F0893A1578D7E7E21F12C6246D4C94705594A7B5D6 +B23DA581131E25F2176B442077110FCDBB59554960D15D21EDC18263707E8AD8 +2B89484E22408BA5D2BDB31A8646DEB04D49153CABFDF3AFE473ACDEC6B96F17 +F4BDC5AF47811BD88DAC338C575BBB015C15EA3271DD6AA349720167FC776773 +9B2771CA370E04B1283F6DA838C89D04F32FF315604E4FACCE665D840B3BD946 +646F58084A79CDB93B7F7605FADE2B995BB94FACFD9D615C58CD10FE31337AF8 +F3357EAC2414615844E2C2190BAD524A2FD68F1A2CD474FB42B6E532E3072DDD +0CDE818EE9F94DC84E41AE16AB2FA79F76CF2E6B75BF81997F9E7D4EA082CDBB +773E0190794B6EA84BE72B3C33A60DB606E6FED6A7C8736AC83E492590CF363D +CE5A3CA9B8B8F2BDCBD49F4CA39AB596B688B16D5058F6AC045E2D52D69BEC6B +01240D9E8717F8EE60F889B407CFA8688F1BBAAFE0B32374E5E67D44D8941A96 +71AC983FF159171D6532306F07A1188ACC0DB7DBD22E045A3EFAD242E0E029EA +A738F049131098BE193B0005084F016F79C7D0E3B9B01DFA8C95B646438C413C +222E4BC5A3437EE861DA45FE0335B6EF780BD59AF9034B6415A095A36EEC56C4 +F4521DCE96F737291D9C280381E0223EA3D9F4C16E56A0379FAD0EAE9EE79971 +2FCE00B4B05FAB8708747BDA3A623F60D71D329FFFC47FA639D413BB920E8DB0 +E6B55EB3362970F7C8A643EF209301E392ADA904567791416861A6D85365E647 +111177FEDF2B60434123A76CCB566350ED68DEF618B911E1AD17E5B6ED645AF8 +E20479ED81767ADBA230CEA0F5B50E1DC65CAC236DD509C826DCB5C6F4457708 +16A949A718630719AB27743A55803F83C8AA64FA122A09081B2218A078EDF6C2 +650A61FEEFE4891654D1C201DC87673837A2826B193D0547D831ABE919EE0EEA +3AB8BE5653023ABB2FDDFD45ADB4CF5C03D8BEDBF035951E36AE8C49C7D202AA +BA714EE430D3A3366C4F413D27D1277B3C215742ACE0696DE2C57D667C3D9ECE +E2F49FEBCCE117DE99A2228DB44846C8F562D1982A2A1094AB21EF3D421F8C86 +E1299D3063519013E542652254598167D892DA454AD64E1A593A3CA2D3517334 +4033886AA71F211B5A1F74FAEBDEA9A4C42E70F0A05D53FCED333B4654679360 +CEED85B22773F34FFB3513A3947B5BFFBB34603E10881D95D6E94709694FED1B +A2D87D319733418E2837B639FABF692EC3441D1AD42312C32FAE78D58DAC2B3B +F15A00652A73AC9540C40220B9301C3E4DC7175221261629643BE95D946750E2 +9D403003971F3AA3883640ABAF6B71B0901C56761D99504182F03FBB1B774C33 +7BEEDDBAF01E6F543202E2BE9E532FA80F7AB7585229EE974FF60CA13AABA554 +C33CDE358305F6D366FAA9C090DA827BF8D4065C79B423211A102450123EB750 +2DAE7A2D8DC42EFFA90CF8ECD225A46DA5ED77A15D81ED6A4D68FDEDD8872948 +F79D515844703719FB4CDAE4E7320FD0816287644374DF543AE4169BD2EE075E +34A99C43D16849F47A94BC31763F5B08FBD9B21015A30F225860619511814B81 +C3BF0A43E9D0EF916A1D070115EAF2ADC5976D595E9F38DBF8A4D47694EF41CA +5122A37879AFE47282BD8DE63C20D6DE6221FDB43A673DA64EB78A90B374C341 +D37EFC66E73874F3B4498E76A6B8907CACAC7E45DF14F44D1AB2A79192EC0E03 +F7379C72BDFEA79F07950623603F7AA393C77EBB5478A1B33004A8DCF20A3083 +956CA58278978640496EC445F0783D71E6CAF83789E733C05325E3D72EDE10EC +CC6BE8159AD4DB2803417CDB58AD65327C76C36434210EF96C8E56A8631EF5E2 +935768B18496891EC3EB57EAB91891E0B859F8A683E418A82371C3226F2E9E0D +55F9289601D57372F930AE99DE7B5BC27F3C464816AE9870F9BDFDE1C1212225 +1164E4969A133789BABF9E45B9CB8D78359EFBE01EE9D29DFA646B168453CC7A +F118BB135E70512342821DCB61854E9E3974FA104191188036F0ABBABBAC8EEC +A20CAA7CF4F1138F534C157498B450E8975CFE2A95052CD04DABAC6A8F14996D +2F3732CEA7240C30C602488CBF10A13A0F9DBEF2456260FCA8BC87EB7F0C5240 +49BC8EE3279079C9898BA278E3ADF09CBAAA0BBFFEA829258652E30577E17551 +81878441DEE7F78A8B621C895EFE961C62995A8F81712EB5368DD1AA4B5B97F9 +BAC5DD1273DFF82FBE82B699130F44A068AA259E874461F2CB540D8796DD85D1 +4E0CD0734FC36A8DE2EBF77506EAFDAE7D8522A5EE6D687C0818EAF0655635F1 +5C9397B97292A18070B37AC59BC28CE1D63504D171434A37484AB3A29B3D1612 +CCAE572B540B3D0A89647D9FB87134F56F6DCC55F486D051CE75BF34829B048C +A599132532DEAB0C62F99D6215811DEAED85EC0C7054E2711EFEBE674EFF1AA7 +5314AEA30AE6B7970427BE89D484F142667DA1FCB3F11CFE69CA3E8A11FAF8B2 +F92E5D4AC255A4A6CA3A94517F78471B3DB6E0A556AB6FA71D6747595CCD064A +A9C5C0695714AD559846D98AE7F80E84757E245AE864140B729364F831B26C86 +ABBABC5104396469AA031FBBC18627297EE08020406123178AD80CB3B7858FF1 +783DC42D70A5FCE12BF9642AC302116AE5F9E0807322A30F2C85A46F7A0831A9 +E8B79EA6F9721C9A91F3BA4D6B84E9BE81F5020C9C6D8A7DE7561DF090E57859 +BF7B0A382D04F0BEE41B0D4F56461B71D2C8D874D96193A28921609C9F73DD86 +D9422DB39237BB6E42B8FD638136E8C4217335F84A671893F033848E694D1AF8 +566A58B62F7740A9F04D7B3A3F822EBA75A109DC57E4D9F86D9F0D1201773A9F +FC5A8153006042E52532B2ACB83E6E44F4644C3719BCE7B41186FF93B9564AB2 +6D43AEB5B2B6FE121AB5189DA14A17A7FEC8B7C64693620C756F7A35435C2C2A +E0B4A917AE2D21CEFDC3600EE49898F7DFE1216842F561843A78AF3AB8114859 +7A0D1D28FB20274901B4FDEBAB1AF06F3AA19E84C050257AE6E91146AC59D717 +ABCDAD9841B0405E8330F083721AE59F76460F868CD85ED6EF42C7CEED52F61A +0246DB7CE834363871997EF58276C01093188DFD2CEDAC61D013E74E4C5B2ACE +37EEDB6C1F42165F0D500B7462E0EE3A1B3099CFD272D8366C232F482E77B424 +7E32DE6905244A51EDF2A7B19D818A194DF5F4DA3D811E3B6A9E5D5C9D1B0BAB +171159950356877A42D5AEE902297FAE59B499C192207C1E52F523C2D6CF2187 +35DB5BF97339DE634BCA38D1B9CA04634CE05977717B9DFBD96F34889D8E8692 +6F1D9DDA18302BF499DA71DC7AF1EC95FF78F8729DBF56818496DE4C37CC3E54 +73E7FA6FBDF56390CB43F1B98D4A904A967192428DF16174C419FB348F87800A +0FA442833576F1DFF8A4A3C511DED888531C62D875C06C017AC81A2B9FB0AEE7 +5CAA38163570DD2256DEA034966CDFAF14446FDA218D7A7D11F4378793201625 +51EB286316BC445AD9100CC36FA3F1B9E6AFEF3A30F9F10A290A72F7B03E71CE +9FBF2160F43CD0B085AD61ACAC72E1C2A3D5F55D71043EEACAB4AF35777924BD +391B64D0C66FD9DD339DA74C13304A57326AA1BCED41BCA3E1B7323CF189E8F4 +CA2AB2AB764164EB6255A67EBBF05E3BFA7C93C305D31A1FDE5098DECA4D3E0F +C764756E43FCED0A3E233EDCD4E2960DEE39A60ADFFF4AB5642A1690F4DF203C +9D8D06B5836624C9D518A31FE70C0FEA7029200660AFE7D28D7A4CF7392AB26B +BD124B8473F4A75DA8B0C03696A4273C4ABD7EB69ABC51274F44F002644FE2D3 +6EBBD0E69EF470B5B3F6D751629D040634C00C46F15DAF66220033FC4BA8DF49 +530F291C8F08653DC98102ABCA29EC59B21657AB009B4D730804DFCA40F989D2 +9FB6CDF2F3CF0B34C4DA272B6471FC0833B286C859B2B2ABB2DAE2729E7C60D9 +F2F3D29ACFBA95D3C56711B973A84C337E3DE0D77F8E3A08A3F85108059CC8F4 +B79EABB1074F6A2421027DC09638ACC6B4147DB0B35A81C1EE3FC07EB212DD24 +C3E29E771B8EABCD056A7DB020A9C8DB7310B30ACC0E95EDD828788B03730BBB +645158C330DD6C25F5C946972D0A2C9F2E9B7F1455A21E9CDC5D38E7C88581CE +D2F7D8A82A0A632320C29752F3427B1C5439237C7C3B16AB5C9E056B03771F1F +9A8702981FFD8D0F6BCC51A92EEE16DFAAE11DCB3AE8005EC7A717A629B95B6D +961DACF5990AB6036C7B7991A34E37C30AE62474388039D526F4717B163F96B3 +ABCFFE3F56BB227656D2E632D35D77B6AA103892DD8395012E009402264E9228 +2A3BACDCBB84E285F02E8E4826A267DD44467D5A1894CF0168FFB26B48E63348 +5AFB0057B01B3D9AD98403325368EF44DA790A7CE48E133432EC52D00C0CC08F +1E5278A92EB0BC314C3C20A3D4D06A61BA6E00507E17A1957B9D1384BF4B1DBB +CFEAC2331E9B3F8FF89176B073E2627EAF91AD772925981E416150FA75784605 +0C63E44A36A8A45DDFB0678B261DC1AF1A437A2FC0E7D60B8A70B1A65CEB1F75 +30CA2D43EABB543EAD24FDC60A9427AFB7461308397B37EEE3A8FF3B2B91A39A +A982B877AFC21A4E93DCE51C83850C75 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFRM1000 +%!FontType1-1.0: SFRM1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-189 -321 1456 937}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5 +19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC +BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07 +32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1 +83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE +0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A +A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6 +516CD0E25BFA59B67AB7E0571DF3F5BA70AB52137D9E6A79EFADBE70CA05AC8D +991D0895C8FFC747FBC0E9A7212BAE6560B9E2B64FFCC58112E64A3B4CF7ECF7 +595F51C34AD1342F5678FE1E62EC5A389CF04E82B5F832914B91F921F30A7E32 +CA3919F57A2D9DE844CAAAC0DC751C255C9916595E8C9532E7A0A84A0AEFCACD +83EDE059FD06EEE9951473180B517F25F609F347DBA012AE9F004DC3C771777B +BE812787C3C50315D67254A384EB65F260943C6E16B2CDC64E15EEEDC67C5544 +8ADE9981A6867405E46222CACCEF79F9DC8674268BBBE1EFEC2187A75FB7FBF8 +CB2DB2134848DEA2F9CED443DCF561E7272B38F830871B2A5196A787924EF556 +4B7E9093ADD414ACBC10147944D216D351CC744DBC13B0749FD0A129D7C47983 +7FEC7FDDECB3FF4166FE295814B8EF751B79196DF6FB2F28CA8CB00807F682E5 +1F37B8DBFA6963E77ACF4A16586D58C87B0F882FD7BAD0A5173202958267F567 +6D66D0511364EB31556C37BA1973151C35046863FB4F3F5E6434479279EE110A +574F186803F47B3DFFCE8A700758EF5B1454D743C31F70320373B12B3FA61818 +D4DED23D33423BB468C1610787ED614AA483E565C583897348E103F9B8D3BBE2 +95EE9C60642320A6556B0473D5AB3E00227B644687EA1B5D62766532EBF8E3C6 +E105F157863766F3433F2D3D6443D6DBF4C0C7733A6C43D3F0B63E6E826992F8 +F56FDBB0B23B97C837400FA677D32B6563608ED2BD5B87FF584841E420EB974A +671D66EB4518FC520B2692F52DF89CCC70DC8FCED3E9845159F6762D7D2C4458 +3E0F20151C81A92B73C1348788254F5AA4BF1F6A90B740568894E50394D15265 +8F6D1D8CB753FB82102F12F3902D9C67DCDE0775F9F16E68C2BEB3D4B29207B6 +C82D11D73A625335BC9571966D364677DF808FDEA4B7784A38A53B57E3F467AE +3E6704C92955A8E123FFAEA8C23FDBBB78581FDB01ABDF721482503D5D4BEB26 +9165C99E59F4F6E88D8CD565397F61F4D17676D9BAD3563B81971217CBD93CA3 +AC91506346076655F1B8285F5EEC8C4727895355279B646EB9B00B0D294FF452 +EB2FCCDAABEFD7DD747CA2F97096DB78BC5B4F33E36E859A0D7A0DB938280549 +F8A90932CD017D54E39521E1028EE18EDBBF2455AC2E09DAACD30A86AA92DC31 +F0BBC759AD4869F599D83FB8BC86E3BD4A284E2E82C45DD1EA7E0890575E6E4C +2DB9F41469FA0DE739AD3BCADC89209196D299E09079CEF395DC2A70940DA034 +DCE2C7AB98523D657C655970855874CEE75CC9934D7DACDFEDF479FDEDA13258 +BD937737ED6FA58D0496515D1B2D11787AF5B3CB7D4F09208C69325CF4FFD794 +091A4DD09F58A59CDB325F71E11B279ABA45E3C444DDFED494334254229F2E72 +6E96CA1F968CF79186B06FCACE3742B72619BD06A9473B47FBCCF1DE77544B32 +8063974D2735AFF96C84071892EBADD347B10ECA38157972C9A1269BFE3A40F7 +B947784E7034070E228B10956579A459E9A60023F7355DBF8B24815C2EB9C520 +2574CBBF7165183946BF0855A6705D3285A0ABBCAD9B391515116E6563EE5C77 +7AF6971F822276AC94DF755F2C331D399630166CEFF5EE61FC25482A27A59C67 +F6BC995ABBA6D35A5FFAA4E16B4F7D7B334EF6F60F14C1BBE3AA3E9EF096E1E3 +CA6A025B0EC8953AD6C2F443F277A926075C78F67A481930CA7EB216D27DDC17 +99EE994A9C6D56FD69EBD2EE17EA6226F610CB203BF6483F93831F1DAFC7FE3A +7E0341523137D15DF9FADA0222F682EA975B9A0FE57B68B6E2072E8471E8E1DE +C8F02D57373A3F45BD25A5D100A62E5F90CF487125588166BC45AE15C26C48A3 +28457F8DDE1B9A4E296F17D9EB213CC78DB5D71ACE97A8E6377DA1F5B663C8D4 +63A530CEA0DA8AE15D87C580FF2A494C87324C49CC23B381D85A2B273D403BC9 +A5FAA23F6B7E2B852D6CB5B19AF299BE05070F67D839C7BA77F888E53B9D0728 +77F347295D3323B962B29E516AA2EC3487967126A4D505B68B8ACBACD4CFFA79 +C3A4D0E7F45181695BB10DC043CBE90C041CD8520DA248154A027B7FA3F3973D +5E5DAE85EFF80726C5DB385567B8FA2B27F8DC41F785D2BFD9EE938B6C2E86BD +4606AD75F9F16E68C2B94A667D01070F67D8CB2511F5EF3A827131B1DD0D052C +2476005A1EDEBC9AC7CA679188B7720F0FF1802C039F55650CC9AC2850F55A17 +2C818ADE9504E306C6A3429FC1F514CEFC54CC2A4C966EA49CB9904BCBF450ED +E88F49AD867B128A574DBF3C8C09D9B7F9F720A3D8FBF0E8994F7607576B135E +A8014797E1511ABCB1F5F9B35C2341AE8BCF590AC8A3AD9D18269C29BD2FBDB8 +D3000636A6D9C15F61827BC9EB53A3DF5646ED689A3A01AFAC57CF5808E562AF +D0465059E7002AFC5AC62E5002D7CC4471B6DA35508E5CF0EBB0DA86B3581FEB +D405E2DF4995E836833B9534EE4F2DFCDDD5403C4C5AF522389ADB619D0DF878 +A65A73B44A62602FC06D7C37FFED36B636847E880C47CE31EB460468C6D06CC5 +F29689F0FD106DC919F2DB97E27D7C36391C9327B613A6E20C4A6B5705A80FF7 +87401A2F7BD6B48CBCB5431ABE1DB91BD8B65B30BDB06F9EAE5C64F292FE65EA +9CBFF5420E1B4C5DC949A35319F1FB02C490601A26C8EF5EFA6A887F7E1A9573 +CC39E1C0780A5D0DD42AE1D121E834CD0FDE0E4558368ED4C9B9130B00709320 +CFA25163E0E5C555651712F633F8F24D7ADE309E666CF4F05C5E999B0E500966 +4E3D82E885359EC625BE764127973AE6010DE8A92F452AAA8B1D32BEF386BC6E +15ABB14326FCAE62DDC2A1958FE7638125C91B3ED13812B6EFF198199758C120 +D03EB41C03C56E20179FFD4E655999B661D1C476AEB5973CE69A3C8DBF06A7CC +ED42CCB53AC532762E1A54EF671424A2E6684C80E5607CEFC855AC63FB13FAF9 +EEE98BB69AE1782711CA313E81263672B758FAB13CE9D787E7D4B7036ADB5FBD +9FEFC0F4782E29288AB0A8ABD239B17BE769B82A37B26E5F9963FFA24D977794 +F88ECE6D6008630B4F7646041CD6C6C0B29CBE640B989E0752A8443CCB4EA973 +02E19FFEBFD80D90F23AA6EE8E3C008C7C2F16D5A531A7E313F6AFFE207A1F8F +A9D24452E08631330B4C30F4E981FB52E8BE2AD8034CEC24A841A28CCF3322F4 +5574FBE8689B6F34FB4627BAC95868EF73522A4ED633E2CFF9A4DD5C219CC0E9 +91E8B6B9B0696FBF5E65BD79BDC69C348FC2524EED6E49BA6FB1FEC33D7C6324 +668DC5DF705E0EFE29C3A8601D82402834D20D3CB962D172A14C13C2C86740D2 +DA0DCBC8E73B236704943549541DE220987E5176027BB3D5AC01795D57E4FB4C +EC2666C8C06F7757ABD0B7F1F83466480BBC5833BB37B7665EA3BD2558215B49 +AC3C1E9915106D6B97A2EED9D211BC8305E2D7B196A2249D59016FE4CB1C046E +68F81364549078339D6FB0E715D445F9369FD91F7B7C0602FBCFA569DF070920 +4A00809328EC63868DE184A7776312FFFE2B7501B1E588E2B70EFE6CADA01E79 +CC8700A39F7B7DA629D93C114250FA49CD5F16A05089503CD73F3361360EA136 +FE44E7DAAACE9C74769B6872618C1395320985A53C7CB0DA5729FD6B8B048528 +EFB0F86B66F2CCB9781F343137EE043A22712F3F51586DAC0D147978DCF09D4D +3A2D9480E07C172B81E44D4DB3188D35E1CFEBBB38036846D12633F13C4BA05D +52F72F5C0D4E6CA31EF0F39B860BDF90249F2B235B1427CCB20A40492CC4A8FB +539AD45A38B76497D80A8B7AF26A59DA0602C7EF9A4CB2C0745582D5D6260EA1 +3D49E1573DB49851973828B8BEF905E8FA521F1FA0321065F40286D62E664D81 +8DCDDD6A29190FF97C12D90452DF1DF9AA2CA014EAED39B0BC791CDE9C70737E +25626C59DEC242CB3C081AB834161B97806438B333EF11AFC18ED4775A064259 +788D78796DD33BF10148AE1BAA7FFFAEDEE7979DF757694CB3ADE837241DBDDD +37DD43FB4027DD39AA60FBEFC12B4DAD3AD12EA9CFC3BFA870214855862677B4 +713D8FEA45F22BD8D609336543AEC03E8CF42DA72B3E5D6AB09DCF303293E880 +25FC03B9C4879345AD1FDCAFB9194883B666786428120B80078E0C04B5F40223 +B60F924809EF5F38944863516B1C688CE1E3572CF0BF7446B17C513209E4044F +8B28FB154BAF8EF1405978DABD2F9A4F2FC0427B454CE247406B5A01B394B4C6 +41F602217EBE743E52D94EC0088091C6263682315E58B68CAC41419555F92E08 +EE7C8370B7ADB8F08D421998F8DD0DC2ED0F38588227F1431F9AA22FEA9FAF77 +A707FD7F9AA276CF34AC73912F0958C2F689B13DF2D7F68291161607271C1DA1 +0D85351AFFA20A22DCAFD1078CE8E79A42DED1B447602A97D3DED89CB41046EC +41C4D5B5325C879B537E40FEFD464159E2397AE82855877188FFBCE3AF1765E4 +7108C50E9BD10AD9809F58BF1F5660BA66C40FF3E62111B4D48F2782919CCE63 +682DB54D66BCF146221638F93B29D9C8144528823B9D79AC9AB985A03517B416 +1844FF5677729228F91CF9419C211717CEBA4001AB49D8B8A94F8D1D590C14DA +2F7B6B1C2624E92B59FFC977DBF5C007D632AD6935F76BBC3EB3ADF327838CA0 +C04F9BF6A6B0D2DB80195D322488113D5FC1E425878585E0708BC0CAB941CB68 +E967F8D7F2C6FC5873175D3B653FC3DBDF760C0D2608EF3DADB5D1D5EA98791C +93C4398C60C1489AC0DA39E8D28E6B18EFA8208BBDB2C711E3B3295A5491E559 +67512C4EE1692C12AFF153CA9E91EB5CCFA2126E044794B3667CEF0FD3198B8E +FC588C6A985902C2DF16622A26831BA45C907DF9D9410893D24365A1D19CAA69 +5881B695C3D547C9747DA67A23B9A87807C932503F52BDF41DE62C18ADA69B09 +AEA5E8266A1832674EBEC0916BA32DA8B967CE1CEB22BEC207BC312B4A8DD4E3 +5153EBAD8682D940369E1D74F535D8F0F5EE315044835014FCC43576FBEFD17E +BB62ACEFE400C02338AF26CA3EE7B25D42BA4C5C356DA9C22977AEEF396DBBAE +34DEB75EA204DB698676C28FF29983C0988726A31D7C11E8560D477061303940 +7E813FCE5339E17398F0B6F051EF41ADB299E3F576C929E5680908CD52A45686 +2E66212F96F1D3BE6F94AFA536B3C2738EE521A993F0661E8255BE8FDD3EF0D9 +E495C71C16E8F2201CA9FDA900953245324E826E80FBDAD6ADFF67656FBABFD4 +010FB6D33CD575992925EBDD62DFBA3D35D55EE80B4A55611E04D9E5E28D5220 +9506E2DF3B85F29E5096844429BD3B5BE9CC74EE657CFE3900D0D792FF2E8F49 +8806FE26C4E399F7B9BEB0B0192EA36BECCB4FAC4B2C39D17D7C1FC856F84BFA +C0997C4B64F4EC148184BA941F87B05B04A44635666070A2604FEE68C1EF9CE0 +DC02BBBC83B9CE6EAA99DBF849C7D569C08D537491AAE125CEF48277419D5B9D +42F0AFB220FE1F5651FC32E5CF38987F79AED993627B44BD9FFDED7A6F36F438 +B5E728D9798A83E2D683DE957E2304F1054566E859C89A76097703F90B3D2BA9 +BCFC6E40DC39A24FD0F31AEA147E0EC8CABCDD9D716CD39D041B26E1AA080040 +5E649EB90036D6E803D24BDD81543C85587D13DF3FD8A6A91993F1B4BD11726F +A50B328B951327E7A4A16012044DC1601EEAFEBDE6D1D60558389731756044B8 +53D85D68057D7C25FEEC44DFB13B165AD35E35A60EB9A37784E071411ACA7D8C +2355ACC540F7F845B1EBDC5B1136FABC9898C0045B421973F879D2C32DD0F3D2 +5D9CC5B0F297D8C6BDCFE81247787555106A2FFAFEC0CB2E4B7428B5428706AA +068952F0A57E9DB9546218CE3C509AB37AE526DFF66FBAAEE72A36C2C5768F08 +FC478E693CA782840AD51A78B9176B981848E7A9DC280B3C3FAA822122BAB8CC +35A44930D8636B2F07B1DD3E732AAB5D69D4A30E7BE6BF7928523C7041BD697C +EA852ADA1044A34E643E60741675CD8B9FC0159EA688DC47D37F90DADB5A85E1 +22C071132A2744E10EFA7FA87088F23A970B4F9B36F73F82034D0B4AD4AC6CB9 +BC76D448CE2D8DB1CF6EE4E0146BBECC86A7C56A5A1B655FB8EB19CB5A713FDF +7284FC2B2D09B0B8FFDEA90804AEC20DE776803F3506771657F4D7CFBA20D687 +E830A0ADEB9EB679AAF16A793C795088A101B9AC642E653A7A546FFD4CECCAA8 +32BE2232C9A39DC4C6641266B504F4133F43F762533C0E13E3524ED380D62F5A +AE83494E800D98DF6A2F889D44EF3150FC863AB1B6C5736B1FAD195930E38827 +69F3B7DF6369ABDDBF433264ADE5E9BAE8DDDEE1EE1EDDB0B6F44A5C3C8388D8 +0DDCB95422DC7897E3FD029622B079B1EEC38158A075C9710FD0AEAAC0034D03 +FFBFF6E811A8097DEB8A1F648AFF48B5A186252584DF6EA1EF675A72FA6E672E +653A7A546FFD4CECCAA832BE2232C9A07682B34610E4CE877C4DE85FAFD0906D +6BB88669293AABEC94BD6D06CFABC41D1859DE80B807B5830AA855A897B28DFC +7828AC1BE8AF49C5A3DC879BB24B63D22748DC95A1D511491AFD77D8BF875A65 +18CD5A2DB0C9B34FEBF0919A12B63D73E79F15367135DFD3B215FE7DFD9BDEC2 +C0412837F0A2E9B7D4363E5D0A84FA752EB7C29EBD2C5E8F6EB0A297182A3985 +51CC886E5A19E8D9AD7324AA50EABE80B12BB30E74A09791A69E8620A52EC3A8 +AB379253CEBEC3F5C9C4BE88EB1EBAE8F6D2CC1DBA8CAAFDF066524931EE8B4B +643B809E1426011B2F452FE8C92F1B38AC79BC78224A2C0F0DAC92EEBB2361DF +7ACEB2CDC389E38725FD89FB0D5217F2A34C58415F911E38E26CA48E21F1F31F +93008D9755D3255B2E0968CC79DB078607D9E5AF149937614D06397DDE2F384F +D189E5136ECE43EA90A0EDD01061E252E8E2F8CFA34D66ED29CCD43370FD434E +51A376D761E6DF3CFCFB4160988C29BC96128F689842FE797BA444A7A0FF25F8 +9289D62D7C911D06B86C91A1E0B3FC86E9738D251CE8ACCED62D592B4694BBD2 +BB7FCEC26B02C54C749BD813E240AE1F661391E66D4409C7210BF0CCD3E848F5 +52EC32AD5AF9EFE01EE2F7D960BF5DE71431B3C6E0A556B83ED4532E4A4E5F67 +E75034BAF939BD5A4E8EBF98755417A2C60F5216880128C5AEBB8A63CDBFD347 +616A8CFAA4AF967900FE599D419B3E98788FF5AA215AFDF36D368AB252A90256 +D81DD960168D72DAD9012173FF3779A17C4D92B28D33F2551E3E00F37A5491C8 +1C8561C0B04A431C1369AE535F8EA8DE3987D75B1E1BB8613D29CFD0DF347C77 +57429B3ED5E276760600701FCB0003EC0186A79CB288231E116952F311786004 +C7913C15DA6BE2D4218538E38DB1AECF44C0DAEDDDC52073450E1D0158DC9527 +87AF955D358C2D3F4C69964CD769E23DCE351E8BD62BB51A570359B46D665EF3 +11786004C7913C15DA6BE2D421853B70E1A4D4F3A0DD97C43EAC87B96A7173D5 +A38636E1FAC744DE320B8B122D39F10352BBF568BA9C2264465E8D19D4C4866C +85133F8C439BE79BF5D08F25EBDAE2ACAF8F3FC0CCBBD7A84805F1F7CFDEF2F5 +2928C9D34156E130B30845DE7F9B0D7A5E03B4F7AF641A5930AC881D8D0D4AE2 +55AF311148ABB4A57C4DA652E88C10A996DE90718558CEE283B040661E9B7445 +B58EB98A49CE1E2551172EAEEDC2A846BBB6A77D2794F0C75B22EEE0710AEEAA +D6759A354B2CDD077E7C254BA45E826FCA111DDD916C4EFAAC6519F12A3082E6 +226C93D19DB05332FED3F4DBBCB44FB8CD1C47E9A5659E22B8CBD28D1EF8711A +8E4C2539A3C17FD3FFBD1A8EFF2E61B1104C2314787C93884718FC3859F08EFF +D58A1931BF7FF2E9351F8081CA1B667909178CFC5A5B6817001E53549A5BD519 +5BEB8922F749F972377DFE7D88F87E5E1AEE2D4284E72EFDC72D49BA5F1F340A +8D3C885C570F51C6F3CEF4245E622D47714FCAA5E510A0253444804882A2CF15 +2B69493F89BAA4D02D747B6E53EFD1ACD66F22FBBF85C8DE9D5DB388633F9DF9 +CCBAA6F264F12C0831B90650E6FF796DDCD038BFF2B741587C180639107C57FE +9C1095E92602744F4B88B1AD96FABF35E5041C903E56525E0AB28F0A67AAE0C6 +F93E704F1C5E888C22F4D6F7671EF6F08731634F36F5486C0C62DA4E88A65084 +7CDDAF51794178EFF76BF0ECECFA97A44844F2C7265A9B8D14DA068701D41BA2 +4544943A94E0617916CD9B5842461677E8ED3B3DC02B7BD50B25959EE044DB05 +12EBAD4F21562EFF1EC4E1FDC621C6736115897330245583F65D11BC376F454C +0CC154B5135B8F280BD3825C00A32FE56D7BEF7F75313DCF05136E95B38DF069 +9EBCA0A210C5E777D703D001ECF3AD674633503183EB1202EFBB23922C143745 +E1899670DC72EB5AF530BBACF117C32B1C37326D1172F83F6E4DF93B37E5A9BD +24629ADA33D46E968C096BD2B59BBD6B0AEAF29BA638D5D4DA3E39779820AF55 +CF39B694B19D25E02F1DC0EA20A85F61ECE8CD6F2341E4B2B406F5A9586A71D6 +76BCEAC105ADFC8720129AB61332FB53DD94BE7B52C45EE8EE6AB9BFD7B29BEF +E27A8C9C6D82787AB7FD22841B30970621A8ADE7540E7B4886DAAB96B8B60125 +A657200C1D2D12EE46826034D47C94F21491FC191896A757AF0F5A48462F4B18 +714570E828171F7982DA499CEB3C9522F47D6FDD7BF7665D5E620A49442650EA +B7D7142E9AF347B9DC248CE15DCC30D6C965254861F2FE3BA1B36BB58251B4B2 +167B8099030EE98DC45A14C3DABADA52F7E810AA9C7F5B34ED9CF5FAC9A909AC +993EB3A8CA04128E8C3B1CE63411A6ADB9D8037534F0AAF3710FDC1F68870CAF +FFA036ACF817B9D935BA09BDB2BD2F202EA11C93F641BA7E255A40730CB36392 +024F6B77F5D52DDCA55F782B503636507E7346FDED8910263BB8A345D4C31C7C +9BE2B3B134698392E1D8AABF0CAD0BA04B6A8C379E8F18B0D51BE6378E8951C1 +AB1434BE0F4ADFA90C290380675C55BB5D25990858F9950B2105D768E4C06545 +E2A69BD792878F8CD495E612AB7F69C4AC6C9CAC0D5C43F34DD264B74C33E48A +5954E5CEC8CA5BF03474C7F89058F35449E2776C0C2F014F452F4AE94D024861 +06E74890AE46E8806E0CC17F1D6FA59BE00ADCB94518350DD55D257C407D5701 +F27DF103E8C7856C0DC6C79FA850134EC9DBEC4061F5CE6F3AE545C4D18EA378 +B79D32124F0B79C6564B623298641463B641272F116A04B48E4CA78F87D3790C +A9BFCB7DC21FE03209DA00693D9CB3C1137B02A50EAB16B7876516AB330944E9 +CD7394B2D2658B0A72CFB4FC78EBC0694A7AAFC80506B00336285F6E1D74EC6A +529276BA8085E5D0CA8F2F54C75278C63C4E17CA02396AE809F8A6677FC8E81E +005670DD492FB86C8C3E80DEE3F0D2F3C03E8D75A11697B5771B7639B4216AC0 +394E07BA13E71C7D8A7B16AC233753649362532EA8E767C866100F4AECC33C74 +4626BC93742770042B68700C7ADB6D6268C6CDADA8D7B00599D180D5FE2A1E41 +E35F1C0B6DA34B5EC0AC9E788A8C87311A129D4EB71F228FF00C51B6D63894D9 +565EE90A4DDF3B0074DA8A1592EB66C3B7E95C4C14180EDBBB319195B4FB5440 +704743BD67ECFF2C289B6EC80410E89871D4821E9C70F5D3A28966341F55F22A +1A4C42821CACB711C29A09E8D1072D6BBF5252C84E876ED3F3E43B952B8DC7AE +5A8B25FE56025D1E03BDDED01767FCC6000D70207FC70D37070F5B0D106BD0A1 +F0E113EA7408DE17270F382924E673236F2FBBF0F795DE914558A9810ACD506D +8CD923F67F3777161586A6D650E484DF8F20B17770A899ECF7DB3731D4D33251 +1F813DC70321DB05369F62CB781FCAAE577E685DD676801BE1AB0FC229362B82 +982DA971454EB802987E5501DA8EA065FA381428540B3B0001152CD22E6C0CED +B62F977BF59CCDF352AEF5CEC98B2AEC9A0F8CCF1B595692D8C42636EC20957B +96CBF675C9D13E71BB2C0D0068D230FC3F11D355152474D61CFD9BA4493DBA37 +1F4CF2448BABEFE1F5E38E2A84081166327F296E625F2269F1EE4D93A067C3A4 +8A78F4AA5C96E4ABB6871520582B40F2E8516290DD4760DC8B708B296A187D3B +614F5F5877995245811092207EF621E1686B9AC771B016CF2C7DAB6DACB80A31 +E1B33580C645F4BCB0B429D6094D01C8BC736AC1D3CE0D4C7598077DD5924D35 +EDE2356FC248E57688DBCB1CD87EF5BF4D6FEF3616C3EDF4BB80DF7CEF71ACE2 +03006FF4E50ABC4AAFF34B845C005021D361B1BB1F23EC79C6E98C1667EC1E0A +7DAB9B9F3DB822E16F835B969F3FC7BFEDA3E33FAD4CB7346CFFACB29AC7A630 +35395B75507C46B38A4A09E1B8A2CCB6FC5784C06410099461CEAF8BB08896D4 +31D38B77816D558BA7A05B4DB72C28FFED5E34F70561F435178AC46F7AD2B6A2 +A8D1867ECDCEA772E38994E49999A23FD525A93099A987EA3C3416AFE6E29864 +DDD831FE989573A6DE8AF156A8D0417FF6F4D9BA458A0FE8B00FC5A6EAE384CC +01E20107DF513AC2C635F5828C128960D5B3F3E0842FD9132E92F00A68A98796 +CCC53DEE5AF9E6B5DA3EBDBBC18E2728B70126C263CAC0EAC007649795CB7776 +5A74D97FE8B87D7FE41763E18C53B96F6DB935E2D897130FB3F600A76262EBC7 +3D2D3E8DD5D28EC9D16AC2961E1F093615F3E5D10A37D1144592AD70FFB10F83 +DBC3338A1BB28D84FC50720CEB18CED093582BE0EA663B99BB4CED70B0431D37 +BC29E9681D4410342172682B6DAAD517BDD6A32DA33C079243343180E56F9414 +F72AA5BB626B931C275F9C5AD7612EE77CAFE3711C76586750F31BA65ECD856E +5BCAC6D529C46848DDA6FE3EAEDC5C41D19409D8CF51720AE7837C641BFD3079 +29D62456F464DD7D8E2BCDF099DCDE1F6B6CE8DAA0BEE0938B7D40ABB0C57DF1 +6B6048B4A558974CB4C83E3F70FB08ACCE9BD667E58364AE46D4F4AF22C0A0CD +C20364A249BF60CC1DFFF10B1ED54EDC99DE5517BAF7AA0D7F288CF528E455DC +9AC54A8102CD7A576EAB40F0D0CA4801F424D69A724D418605A426D915EB6BCE +2D0F431A5CE630F950E2FAADD17D7C6ED1AEE0FF936230894C9911769AAB9A72 +71767465AFE981394C851B35D9ACF8CFE5C2150A488BDF0D81E0B7E35B3CB7C8 +922183D3892A8CC337251B70DD75AB7390AEB5B34134F0BDC8849017E6E279A7 +BF7795EE5AD68C63CFA8C1DD510CAC1BBB198A84CBF789E222EB83144C542046 +EB6060C26935AA8F1F8D9C3FC0CAFF1AE5C069CD440A00461078C14376C82766 +4C51A803C44A5013815FF2EC95926E01FF028E56DC12124D38623FB1FD89BFF5 +2ECC4A1BA79B217190BF48F54C949EF40A8A7C1271DCCFFB46ED354F2AB7337E +A96A1D6C04C268E3045EC92A2308E4A25E17EBBD3FBEFEAB15171D205440C232 +E10BED50531760A1463EC3CF8DE45A26E0319414B3E5133BD9A43FB569368CFC +1F8BA65B989EFC42DD47D29B449C4B9F1DD67FA6D478AAACD06A577D0A9FB44D +EC73EF5733B4A4DEB8472E22785F697CB4916D30205E266D3F7770F8281CEC24 +388C07AC126C285E59CE23C697D991D64047A5758ADB937DDD11D609100F917B +42523813CF4F8A74B712615F447441851E757C430D07C67621BFCE390F10F92B +B5E9468D71D10AF765D23741D9345282E2018F18C8F005173602E03A07034BCC +C65FB19A3871CAECC66DF8DC54EC7AE555280E1BD2B9018BEE92F66AAE7DD0B9 +79E7FD84ADE13A16BF7C51340B9C57773FFB718B9FD4D6EE00630EAD7137A71E +9FC635A979CF90125943BBD69BCD56D88C433C5CA5E3F07B504E908773850F02 +E89503FC4D5C824FA3F837727FE4D97D30B38678BC7F77BDF9F0C795DC9CB0E8 +6E742979B4BC35B21A7F81134C3BBAC5933E282CD716F228A606828B8E6E872F +6E46DADE776BB893DBECF6620815D6D6ECC9CD08F15DEFD3D410330FA1D555EC +239D0DA342BBDDBE46A7FCB37F78C6C09A6F0DF67334FD7EABF4E9A9F4E75602 +719024384AE314BED285D78A786B1A04BBB4265653EEF2AC449E37F2135D39C2 +092FA7DF485C5AADCC85A4104A252260FB1699418350033C88A17BD22D5B8EEA +4AF468BE2852E7BA081CD08A5F38514940363641C3C037849A37A4527C4266AD +041A0F7A56D8BB39B19189835567DD7EA54C5BDCF51E0FDFBAF5863D5FB3FBDA +C0AE682EC4A0095673EDF48CBBCABB37A353D5AE542F7B7EBB1038F33F33A08E +9E612654089FB6B85EB67D7B31CB24F35F0A9AA8699F31645F9509AF217A8992 +9306EA02852E12003CD89164893FCA621E0AF8522BD20E05A6BA3316CAD5D793 +CDADF56B75C9A52EC270998EABAE13DAC16BA52E8AAE7C580041DF517F3D558D +7D98EC3B93642CACBD3E8FE8F4808FD35F710006E9F2EEB2040077A42E6A25FB +F274F3789D4D3B9539DDB367F3BE01BE4D6B0EF52B6518C2B2317FB1A955D68A +53069F03377EB88E841ECD3072365A3FF450809C71527A14CB217413130F9658 +D7857661E288857D5BB6FE207BD328A97C303954357590AC4D0EC6DB8F8616F4 +6E6C717500503C36CE442ABAA8D35177DF3F665058B0B982AECC3EAA92BF39AC +E8A813469AC62066CA47D69C82FD0288B1C55398E3F09420282B50863D939EA7 +116A494CE0D68E445B018ECF39D3AEE018D3E3B98EDD5554A6463E16EABA9BD4 +8D1DEB79600B1F4D57C7FD7A7DA80FD5146802116EE821549AD15884D1756478 +B78D3A6FC553C1FA5A97C01552FE083BABDCB88F755431BB68863A34DA7C86AE +CAA35C48BB64B4B9DE4976D3C7097A5F62DAD48AD3E7BC1285BE587D51AEA022 +B8867448A8D929876A8B375B3C445C622957F93EC2CFF4A38112253D07A1F828 +0C91C83E77F2EAC611C06A7E02B157C4BE8DE6F4FDA8371DDC2696F12BFD9F1B +31D65374F86B851D58C07D20DB255719DF0EDB7781C8D9463C682991802075C8 +AE72E7FB4BF52C8C2D95421AF2CB54C593677426C6D0EC294E3BC3374F53A1D7 +0ADFCCF251C95E573ACF3E5DE59E8B8118329ADFA510A2F1836A79172636D743 +A4D33F0BD5B5C693F731D660C96885001F3F4CA545832861BD92C322ED4A8E14 +806565F8C904911619B3B05F34A15CC60CAAD7DF9652119950277E7964053575 +CFB18094E53CA293C6602DCE097B2DB92B71746D685D5D88A2586DD7B8F64A52 +8D29C32EA49B9DA7471032F2ABA7F2D89DEE9F59A13B50B76D005F2D6E388D4B +63CA51ADEB90A95DE5C9F334426B3EC30DDB469D66A81A5BC61E91F8C0960840 +2664EBAE7082C8380BC3822DDC41E023D7414D09F2FC0B379F3A8A84E3BB231F +9B2D4FDA8A06A8FB02CC451ABA497FCF85FDAB0BACDBAAD309619A2CA7C68BF7 +AE91239E54248CB1AE02ED3D28CD1D2708911CCBAF679C9D6F260BD2A6D148A0 +89F0402B564F9A0B31B8840EBED276079C6A29B819615D731081835DB43C7781 +9CEB2AA0DF2D07B1BE6EAFA649C5A3DC74F0071B5D1D8C5383DBB1B4105C2D00 +48907A221B0FE19F131F26103E07C7885E94E5598E11FD14468E708710814E4F +E98A3779E97488393D556C18476D5206C04EA0645F47A7640BF29080DAA5D287 +C196BFF347D9D4BABF5CE04A509A7529A4E4D84599E3B4C0DFFAC91E984817F8 +9334997182998F39356082EA12B5BA25921AA3185EA401BB176112EDF3D0ECC4 +0266A3DE542FD2CF9DC98399C13F00E0B01E0BFED2916DA849100D42712EB7C2 +87243CD48E619E16A99BACE7553F33A8985DBF807059240AA65971DA9C4C79CC +191098A788C4646BB81067A39E32C8D4C68EA40671CA8909B83401087DF4FBD1 +94F9C62EF8EB433D315848E660F72108B209F14EC8D335BE1B062DE650DE9BB1 +BFF9CA0E21883DE7D67ABDE015CA7D03FE1FCCB53C770C20329431E05A25C793 +F814F77CE4A017188A7DDAD6553929CC3D4191BFD4D7780EA5C25BDB0E7D662B +DADADD481F0558AC737D1C1372F88A320C8F34A80717643047B73BA735CFCD93 +112678869F9EC14910FCA6AC127441BD7F65D06BE9AC879A7F002F2694C151DE +9D68E5FA8B3C8F4B855F57BE96D5EBFC0AD2FFCEF17F5BDD61EF6C9A95C90FD1 +4DB51EEBF226D020096BD0202EB7D1B85B203D71DC802866F884E2647569EC8F +9F1245D214DDE740B263D9A538AE56022AE04350D46B4AE6895648A6647F99D8 +64B38875095F67D4B68E9063DE5C868497F871571001F5B5763C5272D5BBD073 +82F306CBF79B11A249E1B9C1772CA119E01A3C758721DDAAC78B8B4AA109ED4D +67AA2FECCDDD6F4DFBCC8A504273FDD95DAB24200119B9A8BE338EDEF1C988D1 +2BD4E77D8379AA37C11C3243C6C46734FF9C269DCFF82B299B7BCC88580EA5EC +51A2326F5B57ACD40FBA8779FDE1B0ED350E58ECA8C116B0EC2667B897304315 +4385D0A04140B7BBE1AB371CA5668E1E5AC382DC237A96167BA7715C81513995 +DF7B508A91B883DF2E8B2B45333B54DA9BC36D66FAB2CBA341191BF2E84BCB69 +94D5A492315E83747F36CB582254E6F14B276CCDD7E1E30FA4BFECD5453DEF72 +F7588FCA4F8DD487B705F6FF3F998AF47F1BAB2B9AEEA816B0DA4689320C27D5 +5D6D42315A9960EC61FDCE1FC102475F6EA711612F51064C1375A60F63CB797D +3BE9741989A69743A0569753D2395A6CF0EA32DB89C4892DD310965D3F3A00A3 +6873363187DCD47E8E39FCF5B78CBDC0D146C11DB85A74B7284F8444BF4BC713 +FEA091B8862580DC663B6844213A610437CFC4AA00510EB514056CA27646ABA7 +858456FD04C0BE7AFFAE88C5E56401F247DDB57070601A1360806DE93E5D88DA +E112CB8F8B6686EB6236DCB4FEC22BF887732D21C4BF9C53691E27BDD6281D60 +DCC6D3A05FE0F58FEE4DADE7EE275A371776FB79877E9A77A16719FF757B9361 +F48F2A0823C7CCFBC26B35BBED790AFBF4716E9CD8372C59F4AE94766C9C461E +ED1844C189A7F1D1AFE72642854E0C5E43D2AE7D61EE2B7B8779CD0D3E7F8E73 +38A79CF0C5819A9A8CDCF4CD8882D559198B59EF59DFB3F56E9249A8191F204C +5BEBF539B76FA60AB1CD339143A15CB7EAC8712A5D5B92A7B79CBC628EB50E73 +9854F244F7B59619EE36A1C85BB7192F87B72ACB84C0F9D52E5F0DF8BF5E25DA +D0349A965E4466035BAB154B8F3C28E19BAEFB623FA554D12CDFED2C855B2BC2 +E470CB86162614120B54BD95F313C1F14C320D8BDAF66CDE0511B6D7FB93D4C8 +AC572A492BEC78C976F9B4165BB746197024694C64C8DDA0974AEDE1C46B8EED +083BED57BFD8E466394883715698FDBB55430598CCBEA37041B1FF2E9E99C78D +C45D6D5D01D476F631946F54F5945BC4A75469CE03D65AF43DC59D837BF28DAA +3980F04CCC2D7FFBBF6F01A6CA478509ADEB92C3C1606B841225DD3D01AFC838 +1D8A30D4AEDAA325E738C72FC8229E5002BAB528B651453B74EC7118F9F9FE58 +4D6F61C26FF13156802B06D04B796FDD9D2B486FF284D75457A3FC425B1AAD55 +0C460C42C4C5AC5C135BAFEBEE34DF997F391CC2CC271EF0DC7915D3083ADB81 +237263893A7CC9B59D1956EC43B1A4AE3889F157C763A8743F3DDC3F849B8F31 +C368338D4FA20A89A2C1210FA8F050922F3DA13FBABAA2A95E793F10CC82282F +3905AF8B6EEB61950789AF6149BB14E1A18AE25730C7CE088FD4D25C4D1B4176 +5A3C79DA6B0E44871C0E2A39C6E2BD2B0AB081101B5CEA0AC7B835081D34527B +654AC7A968C8E4EEF1D929685172314F229C4938C0C18413A91662A2ACFC5E33 +BEE49D5CD8A9053C4A55916283D3AE3E969B1891679577F03C266DA099E46454 +C8D132931D518CBED0BFE6617ECF77FB24711E8C7B3313C11FA4A8013DAB16A1 +0CA325F86B45105988A5DC2579392867265EDC54F602600D793D7CE20653D104 +C311031D6E72D301BB4928183F945BB972A75E97525BCE5C2A5F846493965B86 +036C1C2A1B12B93C55CF53B62922DB54494B8ABE3E9B6B9C726058F9B534D697 +2CA2FDCF3F99C38D8C17D0405F3C0E647A56F4A7058B4649EAF7B15BAFFDC872 +D390A5B6075CCCEDCAB1BFFFC5A186954BF0B3C66C43811A95C2607FA17E62B9 +6F907C1065D53E3CCC31BBEFE476CE6AF4ADD419F31A482CD8EDE2640505D01E +D2CBA76163E8953B05579B70673CB11777144DB4342851CD8F11C73E5A2CE665 +85F6EBB3B1630E964009A517AE7E2D36D0C5B1B39721CA229407D8E16E180089 +CA9327899DC435FF62F707245EA1873D8189A334296D5B2099B09861DA698F77 +31EE15512C771DBF6E6E96B79D89B14378A944C43389184887A72C73CBBEA534 +551B621B0B88FB20A84FB754F4AA529D7AD34068CE5706F79B728ADEE98C30A4 +04DF4EFA237865F0095DF158630025EFB0799BE78D87DAB64E94C76D82692680 +5CD2F40FEC3CFDC8582C713A687EC6C0A5E9963E339FCFF3EF65737BBA057571 +9683A82F295CC10C7A86428A8269A73EB4845D66672EE16C2C9A0DC99D40FBAF +79DF5255EA9DEEDF46FE59BBDB204441B2F839740750FC73EF361E8125689093 +7F2AC7AB9A6276132233DC18FF6C4F96BE9F2564988CA7910E254B37951513CE +DE66BBF0DAB8F52D5F1791300EBE925E98B4FF84E9BCA58E5B6ADC9540C40877 +AB46E6998C88CAF186F54B66AB78EBD69DB38DCE2C4045AA18F93EE4F20EE15A +80922E7F6808F6D3D3B1157996499E62A25E0970AAF1F7868CD51C96E6DC93F7 +835B961D5773960B7FA5FDF4777540594FF82B8B19D2EBCCF3ED63BCDBA70CC3 +F6F3ED3401585616DF113DD4DEB1EA2C932A23FA3ADEDF84310F44AAE5CCF0DD +FC4D0D406EE0E668E0EAE88AB0D16E09A99E4C72EA50F480FA6B2F9837FD834C +EB87B37B31C0801383E1CFC7619A4238DC959F2C3C6AC0641D807A73D53CC692 +8B4BF5C587E21F69B16A5202A3ED4D20F3082C9860C3CBAB7C2DBCB1D5C39965 +A1A945A7E4EEB4D05F5616E87BFC745DAA833AB3812B827A8AE110035491A6F4 +837796FA1AC64C81EAF9F3A57E5060CAB20AEF8A2D21395645159D92C4F32726 +592D7B317DF7E8BB6424061685298B7C569C32ABCCBB050ACB124BCBA1E9F492 +529A4D41DC73278FBDB7C6F82ADDA2A6D525B63713F11D96815F822397F6871E +3FC22C8A6C6B2C375E88A5295D9F8789E8D3879C7488B16D1C3AD49F1991EC26 +664D656730254AC7F1480D6E0B7F79930EA265173F46C360D81500CAA3380992 +74575E5AE0F0B4123BC69BA77555B30C5F20D6423F700506C1754C47DA7EA9FB +1FF12655CBE768CA40A646AB50E0476FCE499EF2D4CE9EB8614EA93E5834A9B1 +7B2E04835062CBBD054DF9F1A45B2065371FB87E476D71D80E45D7C5195487AD +7403162B1CE0265E667784166B3C1BC9D0AC7F49AF93E0348D3C52CE2EE78D91 +0A3D85D8B373ED489696775DB25FCFC9B9FC05A45C10773CE0AFDAE183E88D99 +E4A2B6F771330A2F066ED625A5CB87C4C3E47CE7306BC056F04A6AD85235537A +888F6AA22A84AEC9C15DA416E6170DC83651416F363AE572995EBDFE26B98A82 +71082D8A38397FF8982844C7C42E96BA14A294CFE5E14B6F7AB8C8106B22F17E +0A8DF41589F93C6D742971BB49CF9FB1351F56F11B411AD32A29D3538262924A +EC04A06D8741D88BFDBCD715BE7684F69240E676A518392FF44DC13CA27ABBDC +6DAC585A0146119160E1D6305F760F0C3DFB52457B85F05C703C7D891263A356 +F299E58952B1BB205A4FB7AE1A3E71CD547604F1C057230387E69EE3EBDD89BA +01A344CDC17A9B6C6A56786C79C1CB71FBF7DB6F3C5E2345AE0363D9AF3F7868 +9488BE1512ADFB4679E9ADCB4BD3C7889B1768CD1165A7ECF7C230748B4D43AD +AE984A2EFA67914E6797683A1C6924DE83C9F6115A46EB4A738D4D1B7A19CE59 +3F7CFCA18D2890D4EE7084A0F0DEACC058A26E78DD8F59E6F7D1206F47BC4807 +0D5D2A7B6613A6059BBFB269983DA248CA257133853FBD2B2CD561D77AD9EBDA +40AE6DB52A3D840D87709876F0DAEE782A4F1B6E7C7D05A0F2C06395049A5EBC +FF9027F034BEEADBBF25D6A675E8C3CD1F3714F7157D63214900BB2A56D157F7 +0C614D104922A072E77B91D87B9F50B070B8F9F2D5431ADF2DD666CBC84E0AAF +80376CC0A2849FE8A5BCB27E593C37692E48E153E87FB77D2906008E9C6893AE +6F1377F5D8BFFEA2C4E1A10BF2EBE7036CA283DABF4203FF3AFA5B8B096B7182 +DEFF4302EB14D713F6538C76449770EB63832153E04E1E586F4DB63F11EFD1CD +354B1B3ACD7BD7B2E726B2BF7A768630104E4EAA2F2FC4F2D5DA81D081A8EEFF +AE5024BBE62CAACDCD40E260F10F608996D86A08F68E2FF2CF3E143FE320D764 +E6DCF94D7C3385F30C4BFDF476B100480F3B40DBF5E321D1099070CF83F75B4C +B86C4FE9CAED2FF7964E7C7DBA4CBEE6EBD0E4D5EE626FFD23DFD8424C33C655 +577FE44242FD95A6033F2BA91FCE09CF9E89175A0A0FB04905D71580CB868148 +885E43ABBEC897894D778BD72DEEB4FFA07C2BC55C4704B970D84AF32264ABBB +6FC4E9C977E844BA5AE72D19F193D625AE6361B5DEF5618BBBEC2EF96C91D6D2 +84672F72012BD5C72A78A58BB9640985FB01A3A6A7418B24D10183B5CD08D3D3 +1A2429A898901994E96B28436E323A9D18B5DA32D588619A6D10FEADBC5A0896 +9B2095D927DD981A4DCC531FCA3BC4DA41AAEDB35BAE6551E48D536DE278F124 +C0E2D311976E3B5CDE12271DA013AFEFDD3FFFEA7BB7366169C7DAB9A8C12093 +B0FA8B5AB97973E3EBE6EBBFE821C6D234D3847DD5D451BB61EB8F69DB497209 +DFCA29CF6B05C2A539E454A833428E3C245F63AD753E6B8EF2856D53EDD735D2 +CA4D2241DBBCD9A1D9D48163EA0BADD699E3DD5313625E40E581CADDF8F29974 +F34EB2C8F93DA261DD56CE24F44DF2CACFF757875CEC053034F552980C6929A3 +C21A4E05617D927B89680550FF94C172B2E90D59FC41D39E3AAD2C1DAB7829C6 +7AF87BB9C826A239273EF3661D9C2D3BD95A63E87C0DC8AC431599A456BB8E4A +19E9D10B655ABA00F976A6514D087441946D0964464CAA489061D23C5E6379B6 +5F2C02487CAD8E464A21EBE90FF65FA880B57AFB0A794A561A9EB5AD0B55A5E7 +37FA60320A8B34DEAED8656E62980FD16E47677380A60BD3C0B382A4F657446F +9F0DF83E003DE39411B2C99B5D8DAE44AD7DAF39A49B2859D0CEC13CE69345AF +65168DDEA7ECA7E3C2937F86C0B93B2CEC360CD92B64011DDEA7DF738916AE68 +A30BD8C08EC5CFD539FB3C6071F24A4548FD972BA2F5CB753A9C442BB96B33AA +DC06D300CF3352D18485589A9255A2640D37BCA8009422B6DB991A10FAD1ADB7 +32152C74DC0012147F03DEA6FC8FE091D3850ECF6735B7FF1AB1B80F946C4EA7 +03E72080FE9BB5905FF1BA8943C8D3EBB2EB161C49DF09463BE2ABB6912DCC33 +918C78091B323F6B3EE1D5CAEA627FACFB67C0C244FD69FFC908509CE1C667E7 +C883904CB80DB6CA34F062428AA1B50859D07BC50C959AE81CCE029A7831288D +CA879DFF0401387EECA5E46664B0D76E043C9762B28BA6D4C780CA91E7083D1C +F08B773E9C8BD2ED21F792BA32152534BD6B30AF3583CD768AFCC1FB292D1909 +D0101951F88963779FE98BFF377FCA7FB2978BF9E8BDCA822015BEBF31BD33EE +5B8287232FCEBCA8A9878024C8C42CA46C0A050FE3319681EEA60EB4669044F7 +0A9024954BC595310AD2659197B9A233973BCD557833F0A0E852F5A081FDE5B1 +A0708514C59DEAC58B618AD7E10A5340D1230951241EDAD9513A336FE31C9D5B +DBE230214EA39F62778B20A4BA937D8FC53DFD1F14D146764CB379859AFF033D +A604E798C3923224C039B1BF463F26F5DACA0773266CF98601168701648DF177 +B4FBDD4FC9056DEC6CAB42171DFAEDDA9BA8A497AE06A7F2521CC61C4E2FA00A +8DCBE94336B45A95087FC532923D1A1AE9830E08DD79788BE6AFD7F11A297758 +E1888D18D8983EB795EA6B370E32F8C78F1A8E5B25385346931C6259DF6B0418 +2BEB763EE08083DC221DF03C75D4C06720A02AF3EF669C0AB2ABE7E932AC4B07 +DCF4C7E5FA3219250C9F671277693F54DF5C1E664DBFEAE956E7DCE5DA95D92C +324F04A10104CE1D91243874F996E88B64FEC0A46CA36162B38D5224C90A3E25 +8616226A63FA0446BAA65A4E3379FD81994FB41052B99B12F0F01914F52FEEBC +C45C2A9C63BF05404A856F15697C9696F868696F21E9FC20712332249076352B +60632503BC68AD8766F29F995DB38863F71FD046CC587AE2ABEB2694329A18AF +0D6FD06EBD703C5B35355DB1AA17F60E3CBE4214C1894A2CF5FED8100519E992 +707D086FB54D3FC39D3921FA85A90EA43E7C2CFE06E79B733D06B31B4215281A +78D241F7174EAA552C3E20ECDD5870C14F29BF30A65C8AC0B72897693BCF134B +C6B9F8CF269859188F397DE34F85A03674F3F43020C5764E424069A877AEE504 +BBF768B02DA90EC811B2C559642CC8227658790BED33BD495EF8FCB444DF9610 +8FC16F11398B13E8FC23303CB99F5F7A9B0E290D82CC694AC1D3E69DC5C4636F +8B89351558E97E3EDF43DCC2092C0CE0D630C8373482971420BB65588C4863DF +29EAB9832F503FD1CA0E76A8E07AAEF69AEE709832DFAFB61EC72DFE52CFD761 +0FF0284E04A25A425364D4AA0CA853AE758A696F08DF98ABA55B86393F0DF124 +8EB752CCE51A5ACC7371AD8EB908697F0EB4B27FC16B07FD930C08740D0F823F +FBAECC5A9ED534297E4A210C5394F4F977CDAC91A146EAAA960CE16F65B7F93F +C0817CBB32BE067CB37DBE12C40FCF4AE2DEE1DC6F76696268D3EA51A2A3BD29 +48B2BE3AB36FB87F4EAC185EFC7D8F39C19A4C2A08F9FBA68F8F0E29C3B4A715 +C1755CFEB2E5D49C87DF3CFD5E52869FAE6A4E6FED88A1015DB3A4FAEACA2103 +1CB4F460640CAD52A8366A6EEC9B86939E4B1E2CC08EF4BC4CE8D1BB2A79E9DA +68ABE7BFA41520D095B5D1FC684D727E0519AD893C7B90B3003BAA253070328B +9D23125A15E5C68A12E31D1C9A4780C07EFD9D6C4F919A25249D21B2F675488B +1E266F76A0EB30B5171044E8B7C51FBBA3B6EBB9E0F4BF3054703BC41326FC87 +D751A61DD13E9742A04E8FB930D69E8C6052BEEC1C32284C18778A30635F6CD4 +820CD2B7B29F82D632555F457DDE73585735DF906EB9BEF67DA0882AF9C2DD2B +BBEC442567DECF96528E26DF456FFE79F91C7F078ED9E32E5B2F4CB49884247B +B4DE0132DB1D5285ABDD98A751D177A3FC323A4F386362CA3C062AD76F899DEF +1A8311F6E1EA5456D523EACB29FC2EB6D05D9B52248BC88ECA10D7DEC4F1A1D1 +696027C72ABA3E2690AB1F95147EADBE3A1D9409E70C657861FEBF000BECCEF1 +10A492C7B858A475089016EAF9EF44C990C5BC3E7B8D7391DE32F3E8A2BBC304 +3074C5C04E0F9326B879280CA0E93EF1287BDE0877C6680C840B55DC5D44B8A1 +1E810FA580237546805BC1859132DE7086B845077F6C5C3261956A12960DAE5D +5340341AA79036FDD1DBE609FAB6D51CA8DD622FD548D1926AC57233A0DCD3BB +5CD36B005B47D735CBB91C000C49DFCB43CCB8883F681433A844A24D143DF658 +154BCC6F9EAFBCDA7780A3DF92D29B5D153C3258B306258058269AFB164330A6 +DFD4B07E4848B6FA40143A2FC741D4C9C4251B7B722CF5991D46E863BCCB2A98 +A6A4ECB03C4BD4A5F0F4B7EE685E8DBD6DE45C7B0C8634CF36C4CEBA7F6D1872 +D8CC8ED911DE1B53E63A559E29B17694C5E0D30714E269EE6A8B70ACC1469933 +606076389B064A1D781B565F312ADA8AD0C940AB1F80E9BDB2CC071373DD7671 +94F6DDADB05F7437197BE9392BFD89FA01D6AE0992FBA0F82DAE487F9AB62411 +9477E489104C53710FC3AB90523B51170638FBB54D6D223CD107C9F6F7C0C0BF +D494EBF7AB56CA569945089543B0973470B712A104DEDDF2C94AABE8FAC358D2 +7CCE604975B5570489940D9EAD24E7D879935AE6E34C80C22326992CCB41AB8F +50A8F11521A81DE6C033F412085A485D63B784EFE9F014F69784D569FD1221CC +2E1D2C8EAB712F077A05F407E7D032A1604034E203688C8A6AF0A8C021DF2255 +1D01B655E705E5AB74B5E0DEBD9B1406D5DC7056F996271DB8EA51D36AC279F2 +E3C16AF962AC6643550BC4C1E7DB6CF7AD08CD1BC7E551777FA4697CF28EA2D9 +986AE687DA6689E61665193443A05B270E5BDD52DF309E6743A3C1145E6CCBBB +35924B135B925ADB649013333CFBA53EA8083A6811B704E10E9B05498BE6FFD8 +3A01E32192F2FFAE62D2C8C7D7EC9C01A9E314CFE40512B5DE909C54FA38FB7F +7D20C84336C82B3FF8BC7F3AAFCF1ABF099D16392173A66BD7B182DE1FB75518 +99B0C04D5626771548B00C27C9FA27A767255799EB78536F5790C216CD96A8E6 +27713DEC53F2510BA395914F9A3B66D41D7BB11AE33F6632FC0B00724C280441 +FF89BC8BF026011EC233F263D977235CB3AC4290B088EC0992AF11E16C9F55E3 +193DB776B10D12414ED6D5AAD7D8B13859D2128BD56D70C848E6326855E5AAFB +AE213E267B30A61FD3F30AA37056153F1F7ACBF989CB2721F33E0817CE474DC5 +847222152928F82547AB10E816D431E53C2FA4F262EA68A25C221049D89B2ECD +111C41A0848DAF44103A8D8EC8DDD53BF7F31988A54A973E09F24F8E8E621BBA +19CDA2CF86F253BAFDF7E7FEEF5D6FC6725F788C1CC9EBCFED3E7C2573505229 +4D9F928A854E215C82B94FDEE62184961CFD7C54ACCDEDE1ED16ADBC456BFFFB +AFEA9B7397B3E0658770A6FB01AA9E34DB8A737C1996E0F90A015885B0ECEF3C +2C2AC493F893DB8B86841DFE88DAF23C88F6C24B1F0794069AF96194055BC435 +F8C13B244A3B2C3DFE0616C3FC1F08D0B52936E89DE7189C0C957DB6521CDD74 +1564BB92E1F0A56598D032EA0A39F22797B6D9F831F0308B76E46E1D6D3AB2A8 +A05EE7ACD4A4C31AA4233FDE28D080285EA0FF48CE1C107E45D9387F2F999B1A +6202D5B6D12800F28496C76E2428FFC80D9E3B31037433112879B4891412C7EB +887D87C8E85F1BC68851E9A468B64B4EBAD095A3FDB72DAF8280766BD5D7B7F0 +D8887D4341258F01A63E229C07D0EBC69D38E1D6F4C0C2E0483DCDA7EDFE9DCB +F9A278C680F8EAF5670CD73A96A48FB04F29AE39FA9EB50581999E6AABA0ECCA +4DC07907354F23E5C355732D6A31EF4C57A9DCFFE9A26AFBE2140FB7779D08E0 +9F283F344EBB7A7FA3A8C64F9C46DC29F21DB098ED82E3B210BDA1B41EEF4700 +6E449891D8F74EB0B98FB6DA134A6DEFFAC4417E868B32E04661E35DCF113B5B +67B6E9693B5E453536F67F41D185228ED49DF6CF919E0215D69903A62038615F +B0F5E286C9E76A920F43C2C84D80A74EAF34EAE83BE2163A134DBD683AB93F87 +9D58AFEE0C626A4CCBC33055B25DD8D48ADF190A7E433280730CA9C0DDB45215 +1BE21DD6906FB1A13FB69838EA9638BC4A2A554A5A1C2ECD78F0200DA3DF326C +FDC3D332009877D0793626F9CFF47313ADB72F22DCC154925ABCEBAEAE3E93E9 +3753C0617C3D7FDAA79977D8D18DA107FF73C478E76AECDCE5FBB8459EC38334 +F4376C9DA8C4C34952C5973C2E3C45576E1579A96D91A27F2690C23ECA59878A +411BBD865A195EBA0F4136E3F607EAEE1AADA2C91AE2CDAD61B9130867934937 +83D61C38ED1A9ABFC0552070B8C297966106EB1552C02B39B8C41536282D1AFD +823DB39103441264E193D6B58E14A9E0071663E4191BBC2C0A57085065813A5C +C8C6DCB462AE450E210F9BCC810C32C0832DBDACD3E32570F05D594B098DCB0E +88107FA8EFCF2DA371B6A02B746D54522AA50B766C6A89CE4307B48F08A9852C +00ACD4DA51D599415B8D175643BF71872DA3FB41D989B397540C3E0CF41705C3 +B54611655B43D0D9B05B9BD8547B6F3EEE68730FE5E7297F855931D9800F6738 +8306764A8FB52F42F30E59408C6532344DF386D35D86BD526ADD54E5641CBB4B +41618CEDB6D4F57E0DE0B5940FB4CD08C2261A90571439E0C88AECDBD365ED17 +2C5CDCAF692127E2A41E152F757B93B01691EDE0D8C76EC350A1DB329392D39A +53A44685FB388A94AAE34517840D4ED3941794B25FE1EC897C7C5D0DB66DE648 +47EEDE3D87A55AF93E56F5610C168BFD84B15DDA8BC03B7D6703AF1A03F349DF +FAB4415049FC3C52BF1ED0D5FAADDF1142974DAC562C9B047BCDB13725061962 +0526903ACD0B94C58CBFF02E7F64F45054F6FAE2ADF5ACE218C24B11AB2EC04B +58FAA86C26767610D249A9ADAF6BB2EAE646417B3FBB488BBC169972038FF48A +471F9E50CD8F716C272F8B0E3AE8EDB403A2947CF068D8E03DAF6FDBB138CFBB +018EE8748817006DDE488F51120F189B9DE91EF79DA71DA19637B9AD8EC8CF7F +6404F9F83D13AA77E6735C3761EE2646C5F388DACDEE30BE1A5262D859C8B438 +F2F353507FC2E2F6187CDEB7B065335FC663783418ED66306DCFBD578E05BDA2 +C877A343A5E403F7799ED3198AF6FB468E5903C6085247BE37795F948BC408F4 +FE7A991E78AB51D2F29C3F38E13F59C86EB853D5F7A75DA7A75A8EC30A742205 +C8AE92B70075D1C48F3726FDC2385C640E70A15E89843CB09E8064748916510A +1514CD64053FE97528E81A763901307296CDEC6E2B37F93A9C74E3BC2E50265F +E21DB8E41E8FE978D7498BCE32A44AD7651F392AD24027AEAAD273A328E15342 +E1FF7ED1EC0C4B5E9B095BAC2BE053647289B0C55B84F4252340CA84D9591B61 +3205A7DD75B62C3AFAA5144F9D67FF87A46A2A6767F819065946F924907A7280 +B45895F206BF74C0779D97E4EAE3C603BA4D410C8F90C876BB54639B6E0F765A +D118E04E8C375F463EEA953AFAA4BF53FD3B7DC0A082083B02AF22C2CE8B9FF0 +1AC680426150553E9758A50255BAA861771958E871F3D5666BC50ED83FB22C4C +9C4287533707B188E231ED7EB093D465F6C4D6C327984436CBA46FE22FCF64B6 +0DF396983C0BBFC87EC98C919907A7B5E9E8B561A0140B97104FD4F7E4C2EC27 +3809C7602919E706A7A2FFDE66AE33816A1C3A8E51C9F88E852A972DC4F131A5 +ED0077D0E353D7EAAD06964924804343D9B7F393545D4C8F5DDAB6D50F4A08F8 +83541C7480A23A3EEBBCDAC260CDBFB2E12D6E7F2C7433C51D4C70FE0B7F523A +66129C6DF00845871A0FE67A7957B30666FFDCB71D8392B7551E9CF7C21B56ED +D0C61FBBF58911AF98A32B0DC8FC701199AB66F77285A759EB9F50769CFEACDF +96A186C04E58BFAFCC1DE1BD5A2B0503CA1262BD509462D687042BA35702CA20 +A7AE491ED7C17263DCEC03D52AE63F3F16A671C5AEC42DE2EF8D886AD16EA96E +5B38711AD90629DB7302F0E2E1DE23D8062659F26D93F1F5F408511C803EC252 +09D0CE1B893E9C8F2503FBFD421E998646875B530AE11F37687A4470E4D33793 +5229A8321C9DE75319C080F7E3E6F0BAD45E52035E9C272BB9F0D701EE0A71D5 +17FD88531805F216E9CC33338A2B5018BB41537F3254D157274A6ED761B02966 +7A2B18294455A7A9E6F5992C17540AB7BD52B276CD5985674876A1D4F6DB5B5F +CF9C0693E4C7616C26188A2558E36A55E1268770F907E21D2CB929A3C37304E8 +1F91CE68C9998C66F133D409BD6BCF2514B633C71E3B91312429277617054A70 +C55486173032BB3843BA5034A00197B0EC6E506986182DA1DB46604A5177D4DC +858DE05E02D63CB29B9763D0794F02B8BE1E37D6CC339130768B6819C5527E11 +265783BB8C1BA768AA9BA175411CC9671644635A5099A00D6DDAE62E6EE044F4 +1A7F99567AB0B05152A07A0CA0E01407F79E813E2E674F72228E5DAC2F97C5A8 +F15555ACFFF94E29A46546EFAD602297F09B2378E222A3E816AC0D5C4B23FCF1 +56D811309EA040801BABDE56F4BEEF754FDE69616822DEACC0F245A21D22A748 +69FB7CD829B39C222618EF61AB1EE2B5520205FCC450EE1875FED1517B2F443F +98AB53C5CF7DB244706FA4735CA307EA55E658573F71897103423DFBA2E6EB00 +1615F316975F296503C2557BEA5312833B13F9F9414F1B1EFC79FFD49E9B07F7 +E092A8B062CBF1E969C0B23DDC5A532E8AA09AB449F5C3074505681D0534C976 +A41F63758364A9D76C4D2AA94DE9F5EE995F8E8E775A224336F83F42B6CE94B0 +7B33A7A0795D0AE46E64BE9411A3D0FF6ACF79D457008056CA5AB73C443DBC79 +2C6934DD8196A7A48292939CF62C4876C4620CD77E9520D9BD7BB41C27ED8CA6 +7FE4E73496F96250FABF549D616D184BF229CA55F7BC0D599A8D2BDAF52CFB1B +8FAE9D2CFB89E91072EBB3B39D723F8616A68DC8BC43E0615C58D66D8A42C77A +D2D4AC8486AB09ABF089A98B925927BE95F8F1CD2240E983ECBDF9296E55EFAA +BF2F69EF2AD93FE1303FA4F0D886AACEC1717D6B4AF9EE34F3518B418D1018A1 +170172B9255B690699B5DEB974698BA493CD296B20B60F743674B919225D9193 +3A1CB3A7209DA6C58917656CE377E5066F40F84A524874E1FED5C4C6CC1523FB +CE8250E974C51E07CC53D8010F63F16BBC7AF558863065B2E58ABA2F90E2F7E7 +5D07EC8035F5EC3415EA22B578A1477AFD993EB6C9E75DB2A365746CC952136D +4E0EE67CA9B1D43A9FC493E915FA13AC31FADDDC85A038C288E0A9C2CE07EF5F +AE73876BBAABF2822DFAC893D47025955DFA2BD39BD3E392DBDEF8585F2DFF85 +5826A291D71FAE43F8F2D7191071327B529819709EAD836E95037DB81A766C96 +CE171E6806DA686AD6624276B392F62B4A7AA31855A1B5373AE00E1C6859D3EB +4228E10D6D60BE79C64259061CD3DBA6A904596A78DFD7BCE7B0F936502154BB +D1D32126C43429AC06A53039DF80B1901B83043D3522548D9E6C871C05B50804 +16A4841B2EA331BA8C7FB8AF15EC363D1A5606B694306766B2E099618E185D51 +361FD2E17A69715CB8C38FFF0293F9E87AB3B9E43287584F046A5F3147D6D33B +7D391BA59F84E1A0154ACDBDB84C17E0400310C9455559E553771FE7BA63CC82 +BB1FFC2CAD72332596A77AB47CD3D3D82E92A15F0A0DA0944366A9C4D8B44A16 +A6F9309811674847932BDAAE99ECAEA4B82E634C4759BA1F10884793EC175317 +F9AEBDBBBFB7173DAA22E62499828808F13C9D20309AEB114C9204C9D3D25D9F +4B4D0F7104C7E092F349B1719AF96042A71079E57BBF0936027A0CFE7662B60B +58F00769FB19A668A6DBC544F790EA26EFB2454DCEFA554C1E8E883F4D2D6BF4 +0009244EB4092EF0369F026AFE07042D1C3BB5F3A64CCC6FCE615EEACCF1C179 +1BB3EAE3AA77C89535E586F6C7330CDD037F4681CBC57873CA7DB6CE342BA9C8 +5C712F04F7A4F0FE5422DC2BBCC14866C2B23CF27C476B68CA801721EBF1AD7B +258C16E3E8FE3041B6ECC4D811380CA355A1D0A0C9D4B9401A10AA4195AFB52A +AA5272F5085EA326220CFC8F35C8C10F5926DE3D701E2834DE9CB189C3E45BBA +03C6F6959E52426DC8C6B1A8FE642EAAA486E61B1C1A9336BAD616C26A78F1F7 +E17D3D70A01340B97F3853A15479CE01E93F0BBB9312DEDD5759D895774E2513 +307D827C937F6CD6A9961BD3F89FD4AF87406D07669C1C1B53A29970AB9A6738 +65DEC75AE94C98AE5DF8EAC77C8EC32F756E8CDEA9FA80648D75CB83EEEEA764 +C076B233AA7BA433942BC60FFC69D9285B38A30C244F429B393414274750A690 +56C93AB14B7BDDE24A0F1DE116B93E433CFCBC94C98FA81D3DDD44AA960DF57B +249257F3A4C022B377453AB9D78D9571263EE81617DFD6521D0069584AD057BC +06557016963E87ACC154EE009757F7177E4BBD960E8B1F008FB1062273829254 +0BF6E1BA2E095552EF1392E31C0995A3EC580BF0B49A64D90A337022B26DC586 +3AF9C9DCE4AEFA6393643023E8C93C980786CB84B7D6E310E17097A781E46A59 +E443D3E44AC2F3ABE300E61C10D15DD20C0F76DEE8B1F901B7EB06767370105D +1D443832D4C3F15A886CB14C12232FD0AE0678FD5DC97999490CD98D5E8E196A +F3E461F51276022B55EFCE05A54125E3E58C96B0FA34BF12069AC382AE128B91 +223C952DAD6BA2CC07389B1B6D34AECD26223ED76D3EF169EB539D179CD91A3C +D5A425FA9E809C5C5693B349D8D357353A9E768422ED7A1A6EA8676F44EB2AD0 +1907625B4D488F0CF156C9F8CC9B03A40DE245271619D6308A3C40425F499B98 +8911AD26B4FE13BD2F668884DDFB7472EA5251C3775E0A8640E2DEB3B6A59964 +1DCE799B8F76037013CD1AC3AD5919A4789CA3F92270E82BBC3222DADBCEE488 +421E336FAC71E01C28FE546959219CA29293BD195A252182D16E6D64E107D198 +F7ECCFA0770C793D2588AEB3E800E45695AD712885BA1D75AC1E379D8E51D470 +7346F36C9625A3CAD05778D5FE0F683719CA3BA5BEEB403C66388AAA8A471ACD +583A5E3B3A48283492EE66F4EA046DBC136EB1C96751C217628AF978F4A0C7DA +1AA4193CC8D2ADEADD35149A90CEC46C7AAE8A7E1BA94D40C9C64E39ADDB9626 +73652932C9030DE1C4AE5C0ADB308D63DAD58DF45972E41153E063AC7B44F1D5 +A003004FB836F8EDC193207B523E7EDE5E3F4252FA09856A02BE7FBC909AA8E1 +181DED5469A9931798D3BEC703B6BE2AC329779AE5D3FF4B0A350C72E1AFCA18 +B612E7E928510092B5B85A682E865AA594B5ECF377AB3B27B57155E0A2AFAF65 +59C2481E195CCAF621E170A7E44972533F0D4E833A92627E0AA2AA50DE928E13 +FC28971ED6255E377C6B5E0B69B270DEF25983EC4B8E17EEBC57646FB660C9EB +CF02623E3FBB10BF0F02BD1F1621080A613B997A1F3DAEDFCCF73A3F872DCAD5 +C7583DAEAFD5B7307DF0640315834788E029A65E820BE087A0D63450A15E16A3 +7E5240750B0993509852021844CEA980136CCD31045F006D823AA2F4CE0B2178 +D86C438837A5743A2CE3F926CC0D1ED0607EFD5B0A146DBD7C161D1B1B7C3D4E +70FB074F8C7BE07A88B86794993DFD1E3694759AD97B1FD690E8C11CBCA82766 +D23994DD1F3E894EE193C95597BF6B866F9D18933F163A31ED70F03F87B4B3CD +9A2DFE3E972E8DA94C40C0DBC22E4325C19437152BD08A4A5E9A8312A8ADF4E0 +D6896FB2A106D695ACE4B0F24F3544FAC559233EE7D3A4AD4AF56C37BD5D29CE +206BC82BCFD7C8FC0E58C9B209D54EEDCDDF609B9A84D82D761E59058E36D3D6 +46EE1D1A9B40E76E469C0B573B5201B392506AACC2619CF80E1F4C67C3E9598D +17895BED9B139D84F76D3C96E5EB88EF7A22C179D88AE09F7D88B97CB469E519 +7135C55372AD866438B1CB8AF208A2D4BCBF6F3778B23FAB5599088D840DF130 +94E8D6EB5759535CAC44B907E0483046CCF398E4E81DE6B4BE3018770B50CE44 +0007EB97788E3600B343DBB991B4B4B61EDA433448762912D423AC60B1B8BA71 +AD722A7EE30E46FD91B178294942EB78B320EC6EA91036EE9190E35A2D92FDA0 +7D913B20FD3D5A07464B5D7C6ED1EDDD84DEFF0C3B820CFA3A0BB1EE7CD994F0 +D8DFA8391D9128B2C33274F8067B34ADBF44990C3EED138055B37633ADE0ABC5 +DD0AADC2B5399BABDD8DFC49E267D6C9928A301EC8B27B36C352BF7A7CCA9A60 +8FBCFC0CD2CF1A63E6596A8AF9FE876655F4DD971A82A43FAD9BC6C0BD42610F +7E4CF96D9E30AD704C46C6EC97D06322E5F7519C1B77BDBF156734AA68F7A55C +2CA1DD33208DDE689F44683B12751FF74866930A55A0D59EC5E38E378C1112CB +9696B16BA553CA6EF36920B3A9A8B31F2ED3A5B60AAE400A945C7B8EEA75BB7C +01A4F77BB95BF48869FF60B3D9171A6F8791FA8312B629C089606B6C8D16FF21 +89CEB148DEBA5CB95ED61B3BFE1BBE0EDEE14A119BB1EF2AE167217568142BD5 +AF5AC022D6B8F5AE8979CFD3C8D3BD5B5B23045E60D419B13EEDED24656BD6C4 +8470F6D991DECF7C71F99E3E5D7ADE603E9FDF6DDCD21F916EC1D1266CB00960 +68B916F199E689C99BA0F449C6D9D02340B3DF54C0414899822E60BBD8E1514B +235B9639CA2E8C9BB09E8D76E60B3AA6D0EF79140873B0F42024FF29B58C92E9 +01374D665C1B3B88EA30BE2388FCB51A58F37074AEED04DA072DF679E75C6706 +68925D2B4B1D3BB772FF2E4433A54F2CB260FC046EB1570F5CD1F37CFA8CE5AC +225440EFD2E077537E065F759372626FD0A7A2CDEB90D86C98247C5A6C3896EF +E5076891594F2AEC9B82DD511F27C26B069662C205A26A448A07DB962878139A +4B632C785BD1F866CDEDB3965B151CD2177C17D6427ACA2457B11EA066D60DDA +6DCB5C1F39DAC4E86A70E252070A0E38D2AEB8C5112E37C94BDF4FB0EBAD77C3 +5A06621F537BB5914A76286C47240ED727088E236A8BA3813751A60A43ECDE8C +A52408435BCE583A58F9B0C905F4A31067AF98022B034E5C5814E90581935BF9 +9CDDE3D4ABFD2F903FC1D7B8A4DB0DD7342A61A570F102ACB82D45B01C32427E +B13FFB265A33A82CD99977A9ADF695E3ED870AC386F2E330C644FE6167C2C831 +2F82BEC6E6ABEAE44B99D2E0D0538915A5018F43F67CB3E6C6ECE65391CF2ED0 +42F0EAE373DD4A35CC92D4570897152E340F9F6F9FC19B2C1876B7A98D3F58E7 +8E9AF1C8F944B917D735B9CC13D1D4B0FE675C9013CC830FBFD2BEB689A3A80F +0894AAD4775007DE879F92CA2AD90DC5A63CF4C50869E0E3022479323F52FF7C +D4BFFE408C7422D8FA29D7C4369318877792A905BA602546EAC573989B8F5746 +FDFC28D0A005EBBFA2D93EB59351F020F1E996EF23EB3B9200DDCFF575C773E6 +ECEDB91FA4EFE22C42FC82C75E8C6DF82A81F735B3DB59084CF7DDAA339C752D +56822A750E8BE5BE77AC13C924ABD1CC9CA357D403B3EC7327586431B1D6CD0F +B5583A732AF60548DC68F1890FFC9C01228776745EFE4DD2AABE7B14D5297166 +53EF696C9E89DA21970026FDA0C09F782897CA66C555A4E24FF0EF2B8A530104 +66744FF59EADD2571C0148DBBB96228ACC1E96D85FA21FC99FCF5410A4055082 +8EF133715D76DAC056351B376E2F0DC8D8951CFDCC5CBE7F66BF0DC349666782 +7AD62843F3DB7EE7F1DAFAA8D31DBBF47B3B440958506E92D1D637A507F37EB8 +04141626149BC39E33DF2E17C86BB2058272FC003E53353F9A47BE86EEBA6A08 +B6B80E15C93E656F87777B0BC32365C40B8596DCEF0F49A91FC4E2A3033D12CF +691604E22045C5C3AB63F4E235973B1175756791A2CA2A4C2C847BAFD6700154 +61D93C4911254D3A1C661DF4AFC10894A3FF872CA81E1D3939BADA5EF04F842D +44530F757271C2E0E4ECE6C66FA5CD8305994B4AF47836B67BB4D2E07A0B19E0 +DE088B9DB3B339991C3EE279F9B1DE85EFA6C02B8AE0652CFD462CD7DC163BFE +B5F1BEB750E46EACB773A2CC9574AFDC2C198E3122D845229488CB40CAEFEE94 +B3205D54E50C9A1603CC26C8129C53B65E96E92CCAFE322F360ED51B79CE017F +385EC6D8D6F6229CE052EEAE171315DD312F5CC4717703D1098BA9988A29D897 +A3A023C72C16F0F85EC9FE9397C81ECDA82E9C91DE6CDEBA2D8102B377A2C521 +73E8364DE6B34060282EFCE021E3860ECF98A135EEFE1C34FAA2368AE8917431 +9EF0EE0100A7CAE347612BF48E3E59F820B02D4E4C884309D8A214AE8B16690B +860ADE28C2AFEBE0AC4419DC1A6C148FB4EA82F48251BED173091127EE26AD31 +79437E240B5FA34175ACEDC270287600EA37BEA739E722B5EA76E6D7FEE9A470 +D1C8810064E266E9C45A49DB7126798F8B57E1E9D117C2C97AA54CD59274FC70 +07045C13E4D273B181B0BE8D27F56970C54FD87FE762F456DDE5AAFC16E97A87 +7791436A52E4E1E9F5B15886DD9FB8E0C49CF28D2ECB141A0E990100E8A06199 +DDB6641588FA06589BED83228ED54EEE9993155B33ED5F7BECBD7AF1E2BBE4CB +41373A316E467BDBE3050C62B18B6DE1963AF5099586C4334F9B3774E764C0D9 +EF6A897B08549A75EEBEEF2A68C15EED93D75A3901081826408789DED9BE5990 +B5661D4A1524A76900D877778ED93522C1078492A21B092B1C145C68C819A19D +F3C1112BC48BE9D80522945673B3A313EE42D0CA9A52BFC5F8FDF8CF6229568F +7BBF87EB5A8D55A3E85D44596EBAD22E13F9B94708AD49D719784AE27E556675 +44C73A05D2E26C9A3F227AE328E13BD70DA46CE9B797B0C93C224A3C7823A945 +C890F9D8E184C6E40301C80F4525EA7F5E1539EDC983F145EF6164D222DC7824 +74C00FA7A620E79DF97D2D477B0E8C8C9FECCAEE70FB6BB77C7391B8D7715C9D +6A25B6BA53C7B58D8A9540DE4ADB4F06BF9E3CAFDC72E1508F5135466606107A +591619502090A676D7AA306196C9E2827F1859908BBB0DF08FC2E9205221A8BE +17A3DB0BAB97316E5377B06AA962E54156EBB2424A5DC7E4E67E46E13B631E0C +997FEFDE97B60BEB2A39B4B521B7E4E191FADAADE6ADC24E50FF69428F1A1EC1 +6153E2296C8E385F6425D02F6797AABB197BE11E82AB02B7E1CA4BF90A3AE60E +7E4CC4A675D0626CDF144EB54C442E2CA4303E1371ED5CD76EA056DE740DF1ED +7B394DE0FBF4170B39205E16EBC86DFD876DE09D5D59358C7183EB09D1A5ECD6 +B406DF7BAE6DE0A8AB51A073AA831B2B21039F0AEA8B81243379246C6276519B +41E71392D711B4532B5BC59AD67EFDE638DCA987C08E013038DAA5B617816537 +58E975A00D1E0EF561EAD77E311174D593215253D62AB4B218D2E6CF5BFFEC4E +D03C7E2D09B8E3742AD357DF779266BED30AE447384BAD916101134BCC79F4BC +077403DB085DDA981D6E1E3D9C3F7A67A2239CD7DC34F7D28CF39133C1AF7238 +9DFD20E2FE81F85D1271C6CECF069A0D42E548A5ECD5BB242CEF57F6703F0A0F +DB1673071D1C4FFF3FEE3DF84E50D3D4A67E07BE47F7BA51983F90180FD3C8B8 +02AACE550540FF35B344C1524AB379E0CC54142E4EBD8D008D500E4B77AA7780 +C4622422483FDB50A7619E551319DCC4A71DC8C4A2E04D333389BA5B44F48815 +05EBBD7E409D44B2C1C0476178A3B30913ABA45A9A500DDEAA3B9DD55E509071 +E86A019F2764C25B69F0AF5B7551D61D23307DFFE3DCE27D4E21BE17D7FFBF5F +D7D5CB43E03A15461F598FAAD92C2E2706C97F2B443639A5CCD3BF905CCBB823 +B8E7AA9EB2B7C308C7870B0A0CFA50A5700E6F9256B200D2C09D594BD3CDAB18 +F44183B58DCEFD85FE6125DED20562EE4A59975455B2B314015E69223951CED8 +002D999E39A872E49C7B61B60F5826238C28409B6FFD0EC8D78E46B4FA5ED655 +E52BE044302BBE91F91AB03BA759776338494EBD62064552CF2FD76979EE856A +3B82D92D6B0C5E2F0C65B9C487E7DC9106EBECE7B38A41312FCBEED56C1A088A +FF9A21403EA828165C461970470CDBAF91D5102B8544AE273B9BDF7B052DF5DF +3411665262B6841EE9D128DDA34671CA75960BEAC9CDA3693644667B1A76934B +6A82EE27D33C12F4ED679520C3E78FEB018DAC36DAFDA20B36D4CEF7E3DFB053 +C94D86967126A41DC4E5E6D928689B9FBBEC3EC69A1BBB7FC0CDCC6CF6666C9F +0CB9B3EBDA8982D9ED102CBC7D22DBD1E84C058337F5DD4699C58AE7A20FB592 +98AF657F6D419463E5C31B46A9C51CBCF83778104BBCC947C26C1E7662759778 +6D0A806C044849D1E905C499CC538EEDDD4DF0F8216CF057FD40628C8399675E +FBA6740FE9AEE8297D145FEAAF3C504637D1AC4324323825B4E804E7EE4167B4 +A6FC5400D011D674BB6F28AEDC5EB1BF686F24837D04996EAD71AD60BCB071D9 +738695106E7EBFC25CA7CC41B803AF78FEDDA47F119C46B6BC60967836EFBE02 +2432F63599D117AB147DEF5E0D32BBFDC141B36954C63208E0A22A95BBD8BE88 +D06F6D2118B58620D77BC10550B1B3BDDC4A9BF101429593DE7DD01929E74467 +737ED91B330B510875BDA6B539A40835D8C6EBB911E8680F054303939107E28E +B5F941AA13B87E55D6984B9E6244CCD0C2D684277E3D6BB7C8F8DD5597FAA23A +10192150785CCD4DF6D176A74CD8FC4A6AC1A6507E5B850CF1AA1886EA15FA67 +C5D71AB611832FEB963EC33ADC61D7B7E794052FB60AE0D4E45CE3C02780007E +BBD62309025233123C4DE387B2F17B65DD06199E664C7A2865D50063D5133A86 +BDE50C8F802A9FC4304C073481DC25F956E6FAC0BEB5BFCD24286E1A52E9005B +AD9C3F4A5D7A059435A71C64E8AF7E2DD731234DE31E3F5E1410A3150FD1A7F1 +4CE3E5BD60E78DE9DA8D087EF2A4812BA58D3508F01F0C4893B82E5CBD424496 +DA070416D10CAC66CC7D20BB8586BEB9BCC4968A15B7DAF77952B2D586BAFAB2 +6A895DC284E66D0CC876DDAD4052C2E544E83D0EA56F9A498F40B340ECBA2307 +F334D952D0B00728F0B8DCA542E7F76C590DE8F62B5AC3E3346BED5289DC12D1 +06C3F725E6D74D04921B369D9DA1499B0D292AB30EAFBC70D7990DBCBFC2BD73 +68F48C68D71E54858441968E86095591DC17A074282AB7D7131951D7226ACB6A +F7F31BDD1363C1385B5ED4C387BDE58DE4DEB2FC342128944EEAA92807896654 +8F271F4BBB7C0E5904E7EB494553747BFFDA213AFE0949184355F66822974AF9 +9D73BA2F7FAB81FEE8D047569F554605441A3AA2BA6123315E07C9A60DD8586F +1772DF9FEC4A92F9152DAE971BBA00FD1E3760B3C823ACE448ABA2F812ABF56E +4889BFC9B59CC4D6420910215FDE36B36CD01E090A49957995DBC770FE9F96BF +AE1BA85AAC4C67B2F82B3B78178A3157D61D77F2AD36E8957FA035DA20BAB466 +F53110EC6CDF317E79FF56A6678BBCD8421A5037C96037805880F6437CD9E409 +29F1E34FC5E92FF1FB571135CCAF6A1E501D53237B96200D34F3ABB5D5B52E0B +FC2B1DC827A87A267E387379E55177E94AF605D0390A4AB295C1E315B84D9102 +2A017C9BB8599F05633E1130641F6F254C81412EA37EFFE07ABECA8053CDA1FE +AAFA78D1DD4AC8F2A1905F43064BEB15CA10D7725F29D0B9D9134E2B4474997E +D54F84382A66B9F1AF9F183C69903D328599C3C9C328D3420CDC29854E0B6EC8 +FE3AB13B77343B30762E40D4F79F10C6B44DAB76FF57FD939DDC0095D568B360 +7090359336805AEB92FC835E9B6C2E045E8E9517A79BFB1DF7F058E8CE57F3D9 +9FD4C3767A86C0961933EFDD0F173FF87B85B0AE7D39E0B04CD11D731368F5C7 +E47609AC48922E812764D03C4168349D0EABF75B988E23146FE07C426E9D6795 +C772A41FB2638799222F39C7CA5FBC2C8851595061FDBAFB7AACB6A822157357 +8CA4F5220B8B2F9124CDC10014454BEDF99D2FFAC30EEE1F47782AAB2138CAAA +FC9789E4AD3EA4924387E7BB7803766E450729D141406D54466F5FD01F8AB148 +B09B34B0D15BB5A7025E9841086A586433533B375F37BFF2197F458E9C4306C1 +8BDE13ED4F92412B78BC5D407F8734302AD40926B45A2D8CFCA80281973E9A73 +76E5AF64903BEDB19E170007D3B38FFDC3AA28CDFD62DB897FF95D66429481C9 +3B7C79987021B40093C54B79528AF1E3AAB76A1ACCE226A326F0B332085C4C7F +6A70D7D0769B7BA7BAA0D08A4DE25426F8A309BEB24EC9F687A9E766C6269BAF +43D89BA436E6609C02D84B756A85CA716E2CFAF75042A10AE42F58534F152052 +6515B9BAD8592B411DD962E19E01E2E7864229861893825719D06984FEB90D3F +AFB5EC2315D1201FC2606182BCAE3F8907E4BC2C39F643D9D1C69592B9118012 +F51D3D0E5A3A6E3E6C997505F0D13531D8DAF2B54A7B0CB416446F07DE8D7C63 +99664E6DE21B305AC28B42ABB9C8B96C6EF86319D4498E60379B499788948991 +9C2B43F4E40C8C602246D8D04527DFA6D2C8C2F8C0944CFF6CB9A4061B1F5E81 +721B0B8361346D275CCBBED6D2A4020003D463C66B607B28FD76FA3F58A93324 +349BEFB10673231177830FA3590BBF13ED6BB8949C5C26EE14FAE3EC23F93FE1 +CD34E19C9F07430427C4CB7EB6A57720301EC56A2D417CA4ACB611E8650202F0 +7FA6F5D60609CB7622105C9BC28F876CB1C8B483CA798D0E15E5A15A7AF11C8B +BBBD4CF4E207EBFDC86C49867B34F66648AAF656313CDBA8F33F5D4A639CB11F +315C6AB6CF9CB1DEBE5D283DE6164DE607F1EBC7F5831CD5EF358D56E5244305 +B7BBCF4DAB2CFCF7D16323AC272DC3B88745F411DBF377A0430A9E7A1D0AE516 +948FD95414574C023E9F03E91F451B312C1738BBF6B2349A65D8B3CEC492AE62 +C1ED6B1EAC39E1FD18615E4B8EA2F81FCFF574450545780041EF303DEBA85CFF +73EE525E7B3B126053B9587A3EEB85D24D85C8AA5B874FE70D372E4AF3DF853F +55B93F0050FE073C8D693BBF6E12BDEDC4F02A21A42758FA6FFFDB4A0785BCB1 +CD385D65B79A94B089C9CB83D4731647DC66BA052C422F22819B1B6A390FAD0E +841180424D726D789FD56A7D7E76F0F6E233FD9F9C8696F62CEB615355A937F8 +AAC03524EE240D88AEC7E090881BEE4E0CC442BB396111CAC12098E19B7BDF43 +97E9FF55AF1C055CAD3E53CFA5B374FEF62E18364192774D27B80B1C6274D31E +F3789297AEFC7CB1BDD7DEF5A1E2B437F60A9759AE2AE5127BF5195E1D5EF967 +92F777F4EF7CDF16148A24789F471A0CB6CDC03FCE339AB0D16D1ECF05600CAA +743CCC1E7FA4721AE5730A217974AFE77A6FF80A5583FFCE2C66870CF8469D25 +27521A43B339479CB4A2261834257B2CB30C24AD8D9B41B35BF79C3CF8BBA1FA +803C221865C2CF5DA4EB1BBF4710D619EA107DF69F108BE5A1289D6F053023D6 +7A384059CEEDD2781FE6F22436D67704932CB93553134454304145F2BF39B067 +51E341A72FF51BA93048B5467A038046568B0BFB1EE14CE07AC8843DB3088959 +E9F426D2017FAB41F041D7769C85EF16F7330EB00F6A61CC4040A2245AFB1CDC +D82686CAF900DC6885BBF8FBA85D682101D399D83A84F471E17BEC9EA348AB38 +42EDAE591CC94B51D12D19B2F8D2E412FC7F3B937CC1ACF579B1CC54A01124BE +41A1851B292B20E3F6589E82674E90D5156B530DA372C2385AFE180C94448DEA +F061FBB8E2147AA78479A5C2218B603E3BD2C09F1FC2914C0811AD65A0312A88 +BCEAA32E8D5CB8AF126F6CFCCB2F0B166505F439EDB960A5C71481E9A267184D +EE0CAC75B5C3A52A76FEF37D8A3EEA9B84D4A5ACDA0BC721058225D7D70FB849 +15751766444B330D796886D2EA6EBE981DE730CB284B64AAEC4092B05D7F8CA0 +DA58429AB46531A672281099BF3F15187221D84883EED52F7AB97B9495EA2BA0 +1B001AC95D3AFF9C00612219F48B9E0A7922C10374033403EAF3252C07AD8A53 +5731AD35AAE9F150132A16E0DF655288FB5ADEAB1CA998DF3B7BAF3775B152E4 +0F3266EF89262D2B1E61F1278DD4F43FDBE44C5EFBF14E9CA66F98A3FABDFB57 +396745C1BF9B13F6789EC137905E88E03E891EF9B16D8D70F7DC3D3DC4537537 +F232497BD680D8D7801238D26C25F2F31268730EAB85BE47CDA2156E5188E5DD +8CDD4380ABF5716DE97D57260F4AA8BFFA0A40323B25F8A3D403E9B56670F251 +0E8817E291D994A2B32C392610F6BF8214549F19E4D97B5E91A26D38D170F1BF +A2B84E9B3B6DE841898984EE521446D309551F292A3D973AD7351F2FBC5CA313 +7507B2C2871FA9743FF62AB1A0B9A49E12A87E2CDAD30E03C93200AD1DF5379C +91F68167DC26995835EEBFDA7B3D517406800B9B9CC238AF97DDF34E6DC119FD +D7063621C8A8D50BCA59A1E65FF564DE35D4DE8D8CFB62728673896F6E789584 +F598699BF45C65D08F9A718197D94A3D84159E2A91F71BCF4A359553D41595CB +249FFBE3FC8ABBFB2F18FBC326CCB7DB802D53C58C8D2C86B6302EEC7B76CFFA +EAAD54577D00D1D9A3435898F7D66DA33FB9920F811963AFC81424D4A388B024 +4A0F71E27064D01320C7974D935EA3379EC220176E7BD8474F0400903C026C5A +5D413D77B5A17B407E63BF6EEC33D25352459BEC015CEB9544436B077988F254 +953AA572C798EBB5DB37D187FD857D95D104748BDE8B45B3E23949A08A58A9D2 +FE25708ED811984C8444509612C3E19F903494D6CCE99284C44AC7E4ADE2C41A +2E9CEBD697923CC2AACE1BC5C31E13E9D318A0D42E093042784AEE4622B0FB3D +C3D2EE5B6E5E88F33A589F54CB079C15E30512D51383911330090CE10EAFC0B5 +38D2797528D8D28D3E6586959F76550601A60E5CB1BB7D93109279701935E846 +1A098FD8ACA9D2D47E33FDA1C942094BBBC4C1091BCEED861BA008FA5351BE27 +6A519E8364253E0989C536B09EE53858B51F6724EB71F5587FE8A11FB8904743 +AE4CC40B4EC7E85EAEAE7A811F5F88C404AB00FEB7F67CED68B5A39105E8745B +BC06B083572DE10BCC0FF2A3AF54BC5A242B8C36DFC868BEB294D91909E9315B +279C6088EE1D77496FB76D1EFD4481B780C75DBF127688E064BC8DD85425B5FC +B9D359FBB3DD7B0A722C488F3EEF7A21A7A8FA09A4D4EAF4A226B9B33183E078 +F6136929D7F3536EFF2DF67F66A68AF856CB7B5348F6D57CFA6B8D43AF606B84 +36EBD20518BAFDE5455608AAE5676F863B67710368BCD954D7832411B2E26D19 +DFD850E6092906BDF276DCC2C9BAD1D522CC9CF72C9A09A2CEEE861B9F599FCE +AA2B286F9D624B2CA900971044D9BA2BB6762646684BF25E3F7A0E6EB9100832 +744A86481471BB6CC30933E83CA9644B6A74954587D190751973CABC08C3B223 +81B2F7DF357A222C6776921882DA4A5E8C494741B84480CA04EC12E12F96780C +E08FC2309F924A26526F854C7A63E4FD00D60382596FA529FAF7D9C30168AF40 +B3567D38DFA5F8FADD4E59572F0C590CB43CAED6BDD4456B8A938F6A4B732DFF +02777C97B8B34A46E2FC25999E0D256D16606DE72243A0DA38CFBCCD4118C0CD +CE6E8F3704252ED08DCEA3D62B584C6A8BAB5719D5CABA037F16D0DABC26C659 +57988AEB19532B06822A62461F9B10FE1C02F802BB86F9186A5A10B37ADEFB98 +011E23443D58C5F2FBAA432C7A4C3CBE701393F73CCEF90D97FF5313857A03F0 +F265C972A080531F5CC4BB7A4CFB8A080EE3809C9A04D30F4CABAF20FA533EF1 +1C9FADAF10EDF9EA57921CEF82361A1E3F625C7149F8A3F29821B0D25CB66167 +9560336D2D140D2567E5814C23F64EE38E8846F78FB31A7953EC0BBF866BF405 +85545A9526D28C5531E5BAF1A0CEC5ACA8BFBF0C4A9E7B30ACABC7162D337BEF +E909A750E9C551140A376F0787DE7A177DBBA899C887D12BE3638DC1894490F5 +F29CAA42D7755FAA42CA5EF18D6987DD4AB3829344E33C306A2EC9F3195A273E +3DA4D9EEB5386333BB792479D2DE645BF94E0BF5663891CA7B9DA34FB6E3730D +6197F4C94A95AC18D2C9F63F8D009C9B830605DB8BE51F498A7CB197BCD1BD1E +AEFDB4ECE576D954E4310991E792CA29D8C65554EA5F9228F8E3B86981677D98 +869E6C1B4B5601B3A2CA7F01CFB065BF2E7FB57A8BFA7176A83325B487A3CC02 +31ED9EBAE470E7CBE06468D3223C872A2971F7951B186227CD6F986D0F65D9FC +CCABDE9E4B419067EA87BDC00AA4B9FFE9C5FC19E8A39675EBBF55D8F943502C +9EEB8AFF46024BC71876339B151D89F6876AD51A9562BA37577011346C320569 +63C110F28B25FE9FE399155DB750818D30423DBECEFD8D35787E6523698C8D3A +5E7675B912032C3DAB17D3F1EF61008E4979BE1C335BF4D9AE1FD54427BAAADC +EFC2A2A401E12AF6BD9303531BE65874B7A7A893E814607B5D239A5F205C399E +1023E764BE38F1A256AE4E8F0F9BB2E8E28044FB80E19E3A2743BB96CAD24F3B +88584823E65F665CA2AD2A78091C533C5F8B1CF3F672D0082AEEC07DD5D5348E +48A785731A4E0429F9293CCBFC275180873CB6DE88C09D2F819EF086382E168B +8837FFC3FE06F12C7D15B378FAFDB32171631AEF8521FF3176620EBB731DA2CF +02A76CF5BC311032EB90F0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFTT1000 +%!FontType1-1.0: SFTT1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ectt1000, tctt1000, latt1000, lbtt1000, lctt1000, rxtt1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Typewriter) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch true def +/Weight (Medium) def +end readonly def +/FontName /SFTT1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-208 -360 1374 838}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E4875AA1B1ED6A435B5950D131BC48179F5BE3191944DD +8626DE76AAFD8EC4DC8241F2ED33E10698DC7741D6E45CF5A02FC6D2068AA205 +EF3C4FDCDE803F4D1D4FF03A079CD4FC4BAB3C558A8FDDF53D34AABB7D89E4E0 +CF76F77ECE57575C27718A8074CE275DDE4AD245220A8236400BE47BC76DE13A +9EDA4BD5744C71DB407BCA39DBC9D857122A1DA969E6D0915FDC1622AB8BB88A +93D2EE72E9A2FA73193D6CDF254252980674DB644EEB36A2036E04DB649F816E +E70C4C43E88609C8E8B8B84A920CA933FA00F41F2FC3C867825E2AC658FA0F7F +331323E22BD193A0A8009B3F0EE6D55281CF1076F1631FE509E79941FF08D0B7 +ACFEE566C76FBC09F3B4AA57959D4EFC34413ADB46292ED99CC8EC4436DE2CAB +86B8B48847353E826F5346762CD5D353727DBB502E08B934DAE4E99894706BCA +DC35AA52C8610137C7E336009D564831E1E7936600CC3891D3A58A539523329A +45DD54B8D76F43582CE621F74FE7F8FB06E32612FB06B66CBB3096C0DD63D097 +08C206A620CCC9ECB49CDC17295CD0B3C9D2DFCAACE46137490589D72A6A57BD +FE97C0CCB9087CF31EAA7860444C0D2A1B230F1879B1CD80CED3863680AE37F7 +39A117963BCA696B1EFA8EA500DF5B1C5F6F42EA16D46CC0687DC684B2AE28CA +8511448362E82092B10FE7451F92E7798EB30D015614C10FAE46C0A4D32FCB0C +6BAB88710E429820C597271F5ABF0D001D837D04F7DAFD12E2E3E14A5D6A62F3 +27A102A2D235520B22E90390172C479E98418A0D659DA46431137085B59AA611 +233042AFA7CE671A231C00755B2090EAE0B6E67A05EF66353972C232A17C555C +A15A5ACEA1F8AEBCAD32A5DE6ABAC1A2B9F68B0FB2B04A5D002635771456A885 +0C4906DA5A96C2EC5EFF288CC22CA0D995EF0722B978B52BBDB729D4F897E737 +0C4679B096318FF65F192BB465D4B28FD78BAF3AB21678BAA5AECECFB6EF2B8F +5C1F6DBCE36E6313C32A4C728BC84C955AADF23F2C763CB339B5547BD1FB64BC +EA0E9538A6DAF6921C5F3881436FF74C1D2DA79EF543508330853A42A2512CF4 +BDE155F7118DABA2710058926158D7179D08392FB590D91A9A334C7A0252273D +12E93E9BFF27EF0108342D68B5C88DA27B2A196D1680787FBAA3043842D5E8D7 +09D13BE9F7D4292AB27FDD13ADBB9214184F53A25939ED58A375C6B24AB76815 +CD83B5639199A68B3D7575BD95466C15C69817A611C490CA4A7628C2257AA084 +F83F5DED18D9BE931E819EB6177E6889AA017F2ECCC26A80223DAE6F2B4E6292 +59B2A280439AF75932BBF6A5C4C13473C8A7F4C14C143E88C455290333A09E2E +34EF701D963EA6A1A98CA9465F92A1A038241D557DF813ABD564E9C7334E2267 +257575AB320DFDC7ACC0A79780C6EA3DB2AFF09B41F1887E4140DDEC6614DD3E +7741EA2F1E69F28A2F7C1BFB9F3A4300103C41B247F3F19316BDA02FF04B731C +A9FAA19807F277CEF8E9FD98F73375C22D7064A612110E0CDDFD05F1F3BD3D59 +7F809C518DB336FA9F22FF498AF9916CEDF8E7E38B50D6B830C6DE57F021825D +7581F31461E5748A3D9002F4F40415650E54F24109AAA3E561B9FCEFB91B78A7 +9BD40FE2F4704F91312957593915799788AFEB0B1F2683626979F491C684DE64 +405908A2C467D291C0BCAD561CB77FA8EF85FA16C70435E779F95375E1082586 +7797F2B4B202FE4B6DC641CC63A68DD9140A46655238EEDDF0934E467D0836E6 +1D7168F5F61A1A3E61C94F66C22DBFAD0680837BF7F8C9B37D722D56FD333292 +17328775E3B4483DA60C34056787B2E2FD24604AA59F95B795B11BBB3AF894DA +5EB1DB3B7EE416EBAFF2DBD230220BF99654305F720A82D00487319E7372E466 +5FE59E91D2B4E32B5D5B92A7B79CBC628EB50E739854F375C292B4FB5440CD22 +9F47B1BD06E56BF49BBF8260A33C35BA338890C5E4C89FF03605808EDEF57A02 +21FED4D966B2FB47D6515B634F503FF1023770490B3959422166582F91CE7B8B +B25B08ED32C291569CE81BDF01252ADAF3C94E10E0A0D36EF0CA7E870A8B1FFC +1370F470304557D3C22E9833D909CD9D4086DA1B9810C74E7FA5B2CC03465B3A +5493C02026D4CB66D8C64B87F6048B03A05A16A3DF5721A8F710ECA220FB3A79 +DC4DF5316DD9F1F2F241AB267A7DFD59BD803AC2B8CBD4F167F3D6FE90A4CF8B +9EFCF6A2B3AFD37B226C0F00192DFFB93523D9F14DD01459FD1BEE59B04D1A4A +158A605616DFA934DD2C434F3DC7B2282EAC89791D14214728D08DDD7791A3FA +E720AA240146113BDE623F786A1EB13A0517E174A23DEA7EBACA3D7DB1715282 +CACA0E4E4184BF3949B1CC8EA1D4AA760AE03F987EF83A4E2E92CBD92E6892FE +B52B47C7D56623D4C806A8009500CD211E940090B78B9ABC7684724C610ECD8E +67325E4E89149E4BB2F33508AE3A014F3C26AB00BA7C9D83B2D5CBFECAD9463C +682991802075C8AE72E7FB4BF786A7A4171E9873A3BFD7DBF11307E00CA95A90 +6093B5D96C9080EA874898A1875338770EA4F63B56DA163D11517493E5D83CB8 +708911BFFAD1295B258BAA0A36D5ACFC8BB1AC991F7A02CE82C4C64143B21C6F +0EBFDC63445CC494D6189EA60120080712C6A913F84F8E2A5CDCA376C9D3AAA5 +968A3ECB23D1B03FFDC39DA3D21DC50A21B7AC2710E1A8BEDF7FAE632CFFB921 +E6765FD922ECCE06E3CC7AF6ACEF668D9981FC28449F0691C1D8993B466C47C7 +CB0D5BF28CFC6DCC07D024B755EB1601BB44A1CB7EC830F322EA5989BD1FFAF0 +AEB6AE1EE6D08F1E6042DBCDBBA7EF2562EDDBD183BF89549B61C5475F7F96EF +C7846A3BC9FD97207C15F18D8C56141C5A0ED14C89A30D75464213F1D479BE20 +D4255E38C68D5277DE5AEB3E70E3155BB8AA34608347CDDB20718EAA76D2BC8D +5DD424FFE364428BDCD23FACA2557E99124A81C292801BE97C820EBD8FC99929 +87D4C6DEE8147842D767AA1520BA2C46388C98F2362225FF7F84DFAD1D8F4B13 +9F93DEFC6B06095CF22D3D1FA8B050D80CCDA3BCA6D3A523B80543E5CC177287 +047422EEF2B48E8F38734EE1AEA63B6918BE02EFA064FE65EA9CBFF54C77CEB6 +99B084ACCD44027A7E8A840B49E0C0C1F50618E968C36263D005F2034285A471 +9B2A623EC9FCFE5B319DE2507EA5C617842F3217030BAB2E5EA8412EB3DFE085 +99D369576040E0E10D39633C056693AD64E645D2FC515B9385EB4DA7500490A2 +43D5ADB51E05F76EF52427E0BA27664FEF964FAB63CF7DF47C88CED0BC9E972C +1086C9A33D07B9C4B889F3E30E3ADAAFC31E1026CBA8CB5ED2E852BC19201DB5 +4984E5DAA3665C0C623B98752E19BD09A8E48524A513FA04C776B1AFBF0CE8DE +DD5800A5AA92C0B3211B0CB8C93B08A57797291FF022C62806730BE7A6FC13C4 +EEF605761213D738E18967C256260D0D7AC7705F5D031A9F8F863212F1D8DB22 +470CC69C362630C4B1D201143AB809BA8CF4202727DE89A2ED2044C9B19628F7 +81B5AEDFB646DEB8816B1424589ABFDF445D4E38D085DA49702B5F71F912D3A7 +B9627BD06DA473DE95DD5AD6E650CB81AB5AF40ACB8A33F110F6CD9319FCF53B +204F9D7D98F951CB89915650435E1AE4451B366464A9914848CA7541750A53F3 +2B05D3823EC112A401CF3023013BE170C70978674F423581D283081F22D3762F +727539AD7AC39771E9E6559161C526475C366EAD4675522EC1AAF9461C373899 +4C150B7BAB2B8729161E405CF06B91E781399189FDBB555F2DF1D17043810E58 +4D473A1A8A67A6D4D0F843E616DDEC48873C1E1900E539EDAF8EF618AF1B4773 +980393AD8FB198F1C6B47BE5D07BFA428551BE5416FE8C7BFF7F1BE86A570C97 +468D29E28C7A75E36D4FBCB4B1A5B116321FEF3FB26BFA8A80D562FFD4ADDC29 +FB4621389A8924D0EF745BAECADE9C7A92FE1872C6DE50A4A4312EA50C356922 +D5F84E7CE85B39105B50C83E87D05609F98B86B83AD1C70B5D8EF215AD32F8F0 +A30B970B27E1849B3D485D2CD0A8791E9B26616EA1976DDBF07680A8CC6C74D3 +3E8E81375B1C961068FCDBED8C72717EFB88D6F905C1C4FFFF50F92D71DD42D2 +EEEAFE81945B38CB2CB8B941C8344D35759969500638CAAE75F8F6954E412C3E +88E5EF65068F1A1BD07C977506C61DF1ECDE0A3BADBE1860BE053D6302C8E8A2 +5320223FD2DA0ACBCA2F16C5B25DE349D237D1CABC9DAAAF34136E0DE665463C +4214B86E9F3F47CF9F3B99EFD8BD00332B34F59939234A1437EE163A3CCE5625 +0F39E62D7D5AC2AD90BC0E928D5DB66C4EBB60C080AED9633D27AF2370423BB1 +259276E4FCD3E696539C446DC402F737EC89B361A9FD262DF82DD5E34C479D6E +F8743FFF28036C80CEC4A928527C3F7F748EA4D8AC00E075521A8C020F9E6BA5 +0AFEFB3EDC8B99EB65FC2C0D760A4C3F2448CF2C1C4B7BA761D1C476AEB59E84 +3E6AB9C468104114D2F8B387AD845978671A8C18CA39161E36F0735DBB56FE1F +CAF57E0C332FB91C70591A71A951CC34EED3EA726B82A6575172AC6759B875A2 +AAE500A8504E8117144127C2B660C4377562BCFC67346257A69DAF91917BC0E9 +B8214992F7AA2F31E58DACAF725919D8C00FB81E38C5A9276DEB7CB2779151CD +16D3DED4F1EB816824DCECB82E5E49768100FED081D8C2F54D04649652FB0804 +205918D51390E769C29DAD12385D3D28CD0DA778070D7497892FB934154B996D +EC7B71279088B7B0B78AB57E42C234D919C7F7BA623F3ECE53E795BBDF16A675 +565CF5D7C8D514095FE448725310E8079DC174D9C93A2CD63CA29E638C11C6F9 +318DD8D3B31202DAD4AED3B848E2323E1F925A1E01BAC7489DE4CD308C436B66 +A512AB2D70F5FF9C96D7FFCA429E466244970DC5DAC506675AEB623DF8134C46 +9E675A4C9211621B06D814BFE29539CA7E71F9F64924357C97E844FCD161B90C +5113112B07DDCDC46E7C43A21657034388B3F8BFFD5161469E15C418E45E81A4 +82739A663B1278D3A9EE99A1A750328C670FF94549DE7EF89F56A0BCD95D7EFB +7DFFD3BAB2355375E1772E70FA429445EC43A248876835ABA2D51CEAB6B1BEE8 +6A8931B49A633949912A1F4858D8A87E5BC242D72A3A93CE392D1EDA46E4AE5F +8851899C8D5FAEFC7908883F159DE0855AB892BD49D33DFD6543395CFC9BEA12 +22F4E8B9BB2CC405095318476B4CE66638DFA39B54A0F3EA710A39D1C7A3A387 +3CDC0D2408E6085E20ACB461D7417D288050E3FB3B7D29A546ABCF007AE01E73 +7FC0AFDE342F51462BD1EF6A4ECB28D302B43B23CD2AD46270F939B466CEA121 +47C3A2CA99FE860B05DE4937C6B8DFC7EED2E33C6E2B8D1D6FE49721482B7629 +BFE31805DA57BB661D8B2FE43353C1DBA80AE717F75D96D6B2D5F0D2EBB74D24 +FFF0C143FC21D3BA97EB70044F453AB067391DE1F649A8E07B1CDCB6E31BC9A9 +83B32F32A60C2DA3673677DA1ABC8130836298EBD352363E7E4E5F221B440C65 +50FADDC77BEE4C8E445639EFB4FB51B368C66D5721461FBD6C6776644CAADA58 +63820635F14888FBCCD31F451CC3256903479046B589CD12314B4F888B876B33 +C4ABE118A6068F6391E1158D582224E8C0DD154F21C8C1F6A3CD24ADE4957715 +D639677C67B706C713E7BB5FDB2A220F95278617B8ECF36BE6FE268C7D4652B4 +FA75C401E937E922CF7BBFFCA8CAD6BD2A935B12C7E589EDB98F427EBE88686F +6D12D4A86EDFD2F7DB82493F263097668C1CD5A60D635D166AC2D2385172FBED +B0DD83D934BD6279A6862EA166A97557D5106EEF27F9347B1D4A07A454826633 +E267962855BCA9BD28540C059F02EFA68BD0C401FA9C2B9E0A69D6B551395568 +58C24F650D93464643A84ED46412B252D844E2D8265176112D1D27E927FCAF3A +BE644367E250E664EEC08D5E63D2EF15E74CCF9C5E829B05C8EAAC6A53FD83D5 +9EF94AE4DE1A60548A241C0B5B747F93C919A76F6555F6E1B523E6BF7C91D74B +F9830186A7D4BD22AE6049537634939B3097AF87D31D62E5F876F3BDFA26D24C +4FCC92CB98E9EA23D6CD70137F2EF8F72D3E8810FA61EDE5627EC01667C7461E +08A9B3D7A07EC89A0208139F298744BC2C4A40F9E2FB8D119D06C106735E3322 +D680CF7323CBD167ACD9878F2C88449813611CD5BE08DB0420B6F284B1BD4042 +022C8165DC3B10A72C27A43AA15DBA4C1708444637CDCD838850DD3893E15FA4 +7F44C4E2F2655CCB85FB2BD900D085F929BE1009FEF9DAB7AEF0DB057C5AEDBB +0D8E7F536581362BC3F0629880E28902206D31559606097FE436EB61DDE30C44 +8F263393B7BB1EB05F92C8E0699253F23FC6D65F5D6BCAF6E580F9B685AADE1F +F0088F0BA3D0E05C97EC737D128622D47D23B8AC079B711F0F15952AAD475049 +B68165D8ED2676FB863CBD4CD6B0AE4CAB889AB0DE902FED19E26ACBA2E214A4 +E469EDEC03C3DA53A03A87894D8D3A8018F3800A6FF7F9439A6228D60EB78A13 +F845979631C53EB73C1846FF96C9D37CA97C5A3F28745EC420F00B25C2AB34C2 +09C264FCF5A4442342F8D99D4BB8D645F922AC51ABE18C3A49C4403855C9E491 +DFEA2EE452C200DFBB724DEE78872BE8C6BB45DF771CBAE51CC37777DE12EB64 +46C74C34163D2CACA31EA042F08DA38EE9AD3F2C217744EE886C18BF5DCB5A8B +0AB4D8371C933E0BD69404A69202E47C11DAB5D6B68DBC3D2AB593DA623D351E +534F10B20D84CD0AEAEB8A92A19A501D49D96703A6E6866A64E553D7E9961924 +B199061D047FD5EA78FB55C05A5AE1971C317A5368A29ED60CC4DB39BEA20831 +8DAB204E9E0D80897707BFBF7E3D9C5785E3BAE44217EBF2E17994EB8B7851D0 +7FFFE1482DD301B647DA52CB9BB68DB482DC068B3EDECBACBA69A2DC4E7AEDF6 +95732CF830519C2A613FCE5CACAED726D189A29F060A787BCFDB229E53B7661F +3B84568A2085E55153BE9EEC4BDDB3FAD4D0C6639E6B0D68CA4B48075F8210D4 +8A553B2B4A9E06AFC9D184A919B554AC72AC91F2BF14DB8343E6D73D24D67B9E +797B6E7ACB7D36429BB1A5444DBD6465AD69F3E231D1BB06C66F613CB48B72AC +3545211BE59FAD51FAB4F87D6CFD5DA7A965D754C30476CF9BD3097918052865 +96FDE8EB0520FFFABB84BCEE77E0E44452438863D588B306950873D9ED860C4F +E8721677E6D8168FEC0119ED1E6FB5EE7CA685090DD542E5B7CED8E8D341B469 +26464A63F7E8A7A8D02952DAD2A612222F308798CC9E5B3CD995F34006745CCA +C9B996CACD8CFDE5A7F7DC55C0A0F972EE6D59B2A3FF9873718D1832F24DCBE9 +49D46E3503660DE4D0AF44B4114E9819F846DEB991A4D4E85054BF6C1C2E379B +2BECB9CD10B2869BA3570062C5AE28C23D313121A4CE86B5C8203FCC1E530623 +D16885A589F7970879F2CDB80A1D741DBD9A711E8E891A0FF1ECB45F5DCB6BFB +8E3B400D051B27DE54C009DFBF40D6ABE568DB6773C705544C848EFC5D306BAA +44B5AF73317A6D811C66C3ECB561111C3D9F470134DE7051AC87A971862F46D1 +D13ADAB37FABCD3E7E7DE13DDCDC358C93583E597B397061403207B04F9BDF57 +74CB9B9801C8765B45683BB2684EF827C3428F4BE251EB85EDB571D6FCE60D4A +DCE7DF45167A2A6F7408EA088B013770FC07531C07738D7AB9159C9A60EB7D41 +7FC07D5960CED8ECA9FD01DFE44D65B758F97102E7ABF803CBED51E46995A90D +404B2E4338930FD328A6DDE099F0AFB31AA2FF958AE17E8F9F97E8411C8968C7 +722D9C5258DAEEB7485BE0B4DBB880EA882070F2F90F450E7B23C132EE190045 +947C5289F2106093A3E5B1FFFDEE572AA229107185F497DB3C7DD9D3C7D38ABE +A166890F4D76BE8148E4C2E95639B24EA12B2C623E552630EE06B55A70BE52BA +2262685A564C09EAF5516E0393B6DB28A63CC286959052DB94F64ADD89DE2AC5 +258B4231246DE89A7B5BAC749CAD8C48648A487EB299BCCC602A9C8A6CED84F5 +E499649DD7C65C692538499F2E97BE6764B7B53EEEE547D0D13B43A75A1E3C1E +DA2C47942C30D06C9EECA00DC7E0A47A72A97DD5C727C72CE9947799EE456AB6 +C993F0FF0416E6BA194A35195ED3372AEEF4F12F415205D7B59E02C51539C673 +E9EBED25D2989312140219315FF35CBD902A0FAE9E741F890D5B268399B6FF3C +E5781950EE97A586B024108A1E53B5848F6343E9E0AF4A29F6469748123BFC36 +7D49A3D370003063A31172C84A0D828F319A6676364412567CD1054A07156AAC +0BD6B1F716A2EF66661F70AC095323B0F0F91C29DF4D780CDE769503AFCCDF2A +56666CEF8E2A03C9F6674DA8435306D4998C94F927EC7C0EF1DF2859681D78D1 +6BD8D361B90C51E0AE25212A52D33A08EEE43F1387881D33688F9FDEC385C593 +38C671AA8BBF8648AB63CF7DF47C88CED0B7A8F1A86B1C60BCEF3D1FA2AFF09F +46B07FB25E6D7DC27C1D6EA6FDEF871F3BD4C83474D309BE803BF4486BD7B736 +A5F1C621F6C9C87266B5A998E51537FB03E2D0D8DE1417D49D5CD588DADACFED +D2E6775EEA0D9E2482F33602BA6119B95B760219E59DD6207F34D7ADD812FE42 +2306766413CC9D289E519283A004CE56B5FCCF0E7020A99F85CF1894881865A1 +5238B83A65C1FF58FBACC2E1F14EFAB40932108ED69CDA2F20BF5C8B3FF80321 +DC4981C4900000C2A199D39C2CDB40BFCB618E3E142812E4540DEEA577ADA960 +FCA47892FE18726D87607CD598BCC5F92D16434B39403226D0E166663353A1DA +BFF6AE01310C1AB2F5D83ED05966952482A2E5DA3F1ABE200F1D6A3579A7ED35 +2738AC4AD8D3D87038C6247A14AD0EC93784B7C391324F9476145AE13068E5F5 +5A8E60849C30075A5215C4117F2B0722090783923C87880E07B0CAB17A8C3310 +53CD686F046A5A46F761A016079604AE1677871A060BBA2543B8801588403CCF +A8FA03C516D25312D1FB949FA69E4E9E257DA0F6526D372ED2FE4D0EEF2C758C +00AD48E2945B3CAEBED52DCF479AB2002342725C50B5942DA3BA3AA1543F24A0 +0604F08C841EDF23398E17C3D6341363F3B8799F1B324DFA1ABE3EBA7EA26549 +517E0D21978AFE0C098B8EC0B1A8A2ACF5920466142CE509003F7225EC82AB16 +E972393DC263D3615D10EA0D0D7FCAE3C80144B53282C665282F1BDCC128A761 +F4F2091B9AB895D3759FDBE0D290A601DA71B7A93C81F2F47382CD18BCBAACF2 +8B1152D01E444FCCE7159E61A59E18D3D7AB33770FEBF951CA5CD96A6E72502F +F620765FD2C84046CFA84A57058C05A1CB0974D20EE863AAE4FC0E664FA67E56 +518B4D5943B90ED5ADE74DA19B43637D0D4FACD918FCBB312C627ED12963C68A +EEE8E2245C55FE916A8E50C34E22618FFE438B4676A1A7079D2F06762E765333 +C40D03B966DB6027BE51C4787728AB26FB3B01762042F2C90A8E451CC34E98FD +E6A07DB50C1E666EA23E30B3A8D3125D2132DD068C1A55C0B382966375E68236 +BDEECC214AF83CECDDF3F5E4A64096DC027A3D989D7C9070C59EE7E9C05A5C93 +DBA9FEEC5C9753342F384CB9840A4B561421E2C1AF4F5F3932B23E595CA05AEF +9962E1787F6C1979B0AD4BE49D29CCD6F43A40D16598196B7E13FE6E9271771F +753E0697DD7E037D4CE8D2AE1691003F357687EB423A6F27FBFA72E930AA6B4B +F1F4D1EBAD4C9FC76291A4E05F6521C562183AC0B6D43603B2FE16E4ECA0C41A +C18D38A65B96AB24D6FE1E42A00A500E410A707ABDDCCDC60C0C884404E3D487 +425487884DCE2364C6A90DA78F1A51CCC0388B66322814A2D6C72EE3C1592FB6 +8C821490CC48952081AC22A2BFBF782B3BFF0224CD2F340D55E24D269EAF3EA9 +16B52D93E520F1D3C42477E77EA409E3A17F8840C30077121C93CB9158033DA9 +3330C418732C120310B53758A34D4BDF9DC8B6EE0138112D37888BFB38EFFF21 +4C8D0CFF61165D2CB140D249765296D30F3052589D886BC9919E2872F146155E +344C918602E16C29E1B4C1C6EC90F7E38CA5F65F1857144D0A379E1EF5FFB4E6 +4A8D0B2E79528A8052AF673A7E68055997DD487BC612216C8FCCE78BD7483892 +1E315834B81235DA8EC46DFFBA04194A5C08618C6D25ADC3DD0810BC0412FF1A +EFEE1F9903195EAF2E99B4046760621926625FFBFB6DB15CE9E0856415B17059 +291CCBB4346A3CA6A779FDF7F77E98EFD9989D152E9A2D96030C87E6099DBCBA +92C77BD6D6A99BEE23DAA95ECC336E77CEF898C10347F6BEC5CF0D58865CF8A1 +7DD0248CE95F03BD83B701F2F47159C2306245EF9C1FD99D6A2C960C4353452E +F79C9BFB2F72DF3A36250AA25E8D003660B0C62A88CA6B5D4A411C0A00243A4C +E57A43CFC71EE2E8B7374E36996C3F6C8358F2D17D420CBEE390124FD93096D0 +8A9F445B89694C5194FC18F53154A16BD4C0A9E49923C17408322A5CD53EC343 +C11E6332AE37191909922EFC8C625C655CE74EBE0715E5377548321EF3C8A05C +6F419539B517FF908D97D3085FB9CB458D531C0358486A55BFF6F5C9F5A7C90B +BB6B0A0AE63840E9F475B507C423563E747CF0F409159EF410673DEF58FEC9FA +8AD288EC56005D88B3F7DE0CCC2283B033D27961EEE86073E80D614B7B66E691 +8E2C56A8B61516F4B93764D1E348FB693CB3A5C5161DAB716A099E5B44ADED6B +97C1459216FF67EB26AD61D74FF7B1DA5F16952CC2A7599C2150D2A115A41290 +AF42EB15C61C5E56CD3ADF46393E07D864F04318081C2D56F473C5C3C529FEEA +065C8CB66844C3F46C3199B65A37506BC273F974AFEFA311AEEE0C6F70D5653C +091F976F56AA5F388A18D13626692FA02FE7E5F4E9DFCD766A6BED0631F8F4F0 +8098FF6D329AEB49632D0959DED9238F676A2E5FA0826CB211A5D4F22757FF5D +D6B9676A91007ED9D9007C6DBB2E929ADF2C40726B1EC0FC6CBAD7B4C1D9CD75 +FB7A6A58D2E81F02347AC7B58933C514859212CCFFF5A79D1CFEB49DAAB7ECE5 +76D9F891E460A40E2BB12E2E8B192E60CA4AEBFEE15DEBD5C999572A91149164 +0BBE5DA16B92FA3C3BA89475C3D9960CF4312389FD49B2F73B15AA06EF3D07C3 +757B78821D52A03F669ABC8CCC9C786C36AE3951F03148AFF5121308F919F590 +7981F3D7B7B948A1D2CD381D1B6977787606A0285667707177C3FF6266633800 +89C1C897F880A54D0B6B6F8E064BDD22F82ECCFA430289B7ACB44FF74149D1CD +E37647037C155688FB738B09F1A7DFE02D22CDDC894B22FB10A43D7EF0B6C040 +232F8973C6C00281D95D7F5ECBDCA5B4A21151905BB6D1B738E69BA637B54C82 +68F59E769BD738563D71691A200EFFF5469250FF6C1483C45209C1923C7F62D7 +9CEAEB076BF271B4E43FBC17A3607C34D2FBE4393FDB13FC3B396FA4991DE0F1 +9553650273BB6C2FC2D3BC3376DD85237C72E0CBE24E9DEEF3318B83B70F7DF6 +3773430B8771F19B895BC408609A7EDDCCEA986AF342C5B273961C7CCB8ED1BD +07988D16515529AC5BB872A22295C9BD2E7915A5D27779359F7C550F5BFFE2DE +BC97DA6344810758B10B2EA8C68918DBDBC5494B261B370FBC9BFB0C4F03A47E +29FB0881E8AF5E66C20A444749573EC5E6ACB222D144C53253484E7E814A7E4E +49A4642EB73FD1499E702766A6826F992D99A546A9C1CE79DBE40190707E2FB8 +BABE3AE95EEFC0D7007536DA6370C07B2215C3A82BFDB44CF0B63F3CC04D9613 +20F53F6C106FE7784A333D61C45F16A0507BA401006CCFEBD0E26124E7468FB9 +410EC62469790795071748AE59951938A6CB24785F74A2D4E08CA6D29FD6DD0D +2F7C094A87F352E85ACC8102ECD2A8A04D284FAFBB5FE3B61B2A55278FEE294F +9489EA79A923E45E039975A6E314A7A709A2054EB39A7894F49184B672F4AA10 +9D4A48248312F74CC65298CA2D81A942C425C67040AFC2F3BF53B6E6ED879EBB +382A0CC450564536EE0D9E11985E7393AFD880ED7A368C078579FF2AA1B7C85B +6AED67596C02AA6A99A472F4DCFB74C7011010B1FFFE7EAE109B2EAB534A64CF +ABA7AF04C8C69FA8585B22388E7E36A68E238038CC14777477F38AA4DD3F4DC4 +4F3F4D9B7F37A36A49093965EAACF69B04A6EAFCDD4B4EA03F55ABCDB5966117 +462F664EADC049DF79AE00DF0E254693519CD28AFE8466EB82A4CEC7E0438261 +AFC191284C14774FB9454F342E4B479DBBBF5C4607D942630FDE180346B1B6DF +7CB79E980C2A6B24F8EB5CC90E351493903F398D641228656B1C6735F2E49291 +E93AC92A22B9E53C3102A04CF93C1271A9314269802455AC2E09DAACD30A86AA +93804B57A8B7E7FC9F34D3D86AB9ED7C852543B7E2F658E07099DA3B71E6EEBC +AC80D3DD0967AC626BEAF721C36FA673DDEF2542D4E266219353AAA14C871A23 +0401234B376007B514056CA27646ABA7858456FD04C16C8DD89EF23355B7E48F +1B356C0EB3F523B911FA22C8FE583A087E9FB56A541927D99D44814A253DA746 +A9454FCD5071D346C786045AE55D2C4D4F12B5B8758C87D68C67CF6150E9AC0D +78CF9DD52DB0D2C9E86FD17FD400CFDA8CA3C29F6D29CFFAE9EAF0BBF01170B3 +80466E377DE82A00329C607B703C7C1E488D766749A40E7E8247757063E45DCC +9E0CF3261363547B83B13CBE73020D7012FB4AE3A75A18CBB8DA781F32893D65 +7406A09C0174231769C4473BCE5D3168278C45C7BD11BEAC2CF89DB02DCC30A5 +4D6B60C2AB8D03C17050A4FC09362F20F481B1CEADF940357F5586F19057455E +4A937B05B612B121EC63868D2F412C6601802F57A0644433FCA0A32CEC131A33 +55B80BAD84AF09DDD3BB85DD854DDE2D2E26C3C6F0294FEF416A6969ABCF2DE2 +04B8BF1FC7D06D3AC23428075BC1FDB07DD31F6A154B5490DDDC9C81D8AA6E48 +9A5B2C1DEFBE3725FF7307A9C256B436D832DAFDF398663B091C30D56B329B71 +E936A1C85BB7192F87B72ACAD59D1F844021FAD8EB29845025DE74A79E0A3A13 +93B031459AEB6E4343BD326DEF7F65F41E931C4AD5AE5EC53FCBB22AC8F22D07 +BEC1C0801A35C2482E8EBA60639A27F26EC52CC757EEC498FB0DE0D1A395E7BA +2A1A8FA28D55E36F811306D8B45382F3E6E31FE8817ACF8C4FA407DE697D7B64 +805CD83FDC351F0EE256CA0F1FF9956FFE7111F40C5EB75B99C856D4D9849DA9 +45F7660FD5AD0D19C5733E89AC3DF461AE57D209909AD0637461EC97783DB4D5 +7DA7BD6FC76D51F28517DD8B7F26F881C130F766695B764015BDBFA95C5BF98B +9A708BC7D956560D8C52EB6F7EC4AB9CF0E3C8B08206693ECCCBCD9F6BB48687 +1FDADAF480995D35324DEB1C769A761BF5044BADF0E94BDBA3E596925C795A1B +B20A82B1B1165D5607A3535688F7273CDC5097EE9D1EA99DE0D39DC3EE5401FF +81AE1B60BDCB44273DF931022D46BEB913ACB96FA7D67EDE445845E8891E0BAF +39A93913D833F2B5FC6B4277AC8BDFCADD9FF74E102563C5798C446D447342C7 +736C56762F30BEDA350762BBFE38C28CDCBBA6C35723E3EBE9BEA0F818187839 +60D641F824CB597873F5FC49C56006CBF252CDCB5646345F75E88CB3E0E769B9 +89EE8C8334F5977CF80FB3B1BBA0FB4E5A756E1995D3BE2566F3239B8A8DE31F +99BA6044DD3CCC34E3AFC22977AEEF396DBBAE34DEB75EA201B429EFAB323831 +085E34F46001319CBEABE418A48D07852E2B840CBB08F461991A7E3FF0024F3C +93692AD3D5C01B95731FD324936B56484CFC0BE8AA27284A5C2AAA6CCA30F1AE +7AB55064EBFBA78A7B05DF4C366BE98BDBC3338A1BB28D84FC50720CEB18C9EA +AC3F847CC1B654146AFBC5585C31DA38C4B99B116F97F2E2DCA1872CFACAE308 +9A39EF8ABC62C64CDC2D54EC614AEAA2AEC11D9413E3FDC66C9A96D8902C26CD +5282F9A1FDE09EE530BA1D9FE09883E39712D0277E44EF20256DD4E05169A0C6 +8C7C49BACFD9DCADA7CC349EA80B8EDAC35E1C0A7E8074160CDCEB505AFB301E +0E382F837F4A4924F1194B96C0C0446D212BEF4ABC1A7FF6BE2074D2A0B50FE1 +BED4902351FADCEB256B7DA6CAFCC8ED24AB6626702514C15517C552C655FBCB +EBA21E398F72BC4B85959AD7F65D950DCDED7415E89D5D1BFC89A853355B1BBC +E3CEB9443F06D7532DA36B397E304B9E578F1415F6A48EEE5523AF3CDCDBB2A2 +16F859CA887CBD806310E1AAF04B2266864EF4E9CF895B9BE09A07D56892AAA1 +FEF69D26CC12D8E697043F76CD50E2FF81B4ECA5F3EF09CA37E81C07263C3C9F +1B56B06696D67D48A6E1D833E8496E88651E5C4EA003B46375EAC3C8BC1CF73F +FCE33AEB2388EDC5A5E75AD296256090004F41A1FFE84BB81EF1079B667C86D9 +B96239829EA44CEC31264415AE3DF7BA9F765D421C9158055B8B4D4A67EC9AA8 +896C44014B09C17D14F0AAA1DA0C332A9DDCD0E175E01B99D06891C0BEA63E78 +B26E677BF9804BD0F1930513C1E07D762F306D1B4BA7FD5A42D0368541DA2BB7 +8E3E1A16626EBE12124FDFD1BF75E6266B7C4D1709C5484276519375C5EF0211 +4FE592AC4E65D194E995D3321EFD17C03D959D72C245C56283B9A309EB159E48 +4618A6869AF464A45B0EE4C38271928DA6FD9A1170F87A7B834FA780D8E86E8D +D37CB9EF29DE494B306B1534CDE85261C500BE7C6F2C7F8734D5F89361E52FFE +1E8D9B772110CF75DA4C7AC4437381828655204096BE9EF0F535263A3BBED2BB +D18664E38CA8C84D45A5DCBDE532C9857825C183D796B2D1ADD21E7A2828E58E +303012486BCBE7AEC01E9ECDA7F4C45E7C12E493A476511EDB25B6BA92129B71 +295D0F02753A2401D05E8CBC386C3D3F04C6789DD382CEC2720A61F354246EDF +C66F812E26646B007A9AE8C39B207A40109543A0E33F06DFB8454F8C57CB5636 +901CA45BD352F02EB03C158F0F9EC56BDD95625D45A946337E128E6F1B410B64 +E956AC8EEB3811BE2BC948A926FBBFE5461C679617ACB8BD2F5C8599D51DBC74 +4DD036AB0E62E7BB23FCDD72756F06AD2EB3E6113A22DC9646405523FB6B386E +C6CF8881BC9B04D61B762B0FE738CA05A3B8968403D9A49379B78E264FC9CD68 +E283D185CBF2B4BE4F03735DA41A94409CA6FA9B2A1AAD7816CEFCE04867D755 +385581F3364F0DDF8A0961264187B02C5300952D0388BD73C55E12B77DB6B54C +920160633B59C2DFD9E164B9C82CCF17F111CB9BE17EECF31BB86A820C3B1B89 +60CA31C5E10BBE2AAAF43131E8D59415E6562E00B92A40A24492FCED8556DBC0 +D5853BD72BB626457C8866F7A95530E1D1D62B155B162E8569816D280B8B0B01 +EF97F1962F26C00DAE9CE1E7A230AE140058F4AA7F45E145313766A241400385 +2F21D29A544ADF9EF1DCBA59F8537C8C3F4CA96C1FB3FB67089F1E3CC89CF705 +8538C7D6B646C10A934B128E6E061D2F60950E5D5D00A2CB5F5E287D4C7399E3 +BB73855861D2DC9FD077031998856B1457E1E52DB9316C218FEF84D14495B7DA +541D3F3F79A70B96B70D055F17ADE16C5DF665D0513908F9D77118A7DD9161BF +42FF71488951B77194CF2458BB7E78530EF587AB37DA101A495F4FF7148E5ED8 +CA8A4C9A854BD22821F4C3499B35EEEBEE41E7ECE91FB1A3307A0EC53C0B625F +0315BFD1E607FE1BEE0CFDBB6E62EBDE845C50D0B003E7467138D03EFC8CF6B7 +C46B0EFFE4E9DC099D542E9DC314181034304D80395DC9822998C2FD754CC399 +8EEBEB5C31BA48D37651D3C1504EA60211EEEA20769DAA8DD669C3630465995B +C4F42751F63F7C6BE17DC26CFA5EEA25F29E95AEA412768D8B54590C611D602F +5B7A3858E95E7194A903EF07C89BB0BC85A6071407C995DB65F0E08A5C0793C2 +6287A77806720EB88A3800039B6B5C4144D16D60007CBCBE4F643EE587CAC33F +C9B0AC672EB75A548D34CBE784BF7D6FA959014F0E9A6FB284B3F8CB21775F5D +28DDD31D9470ACE414FCF9E348A7CECEB8B6723B2D0748BC071FC691AE68A887 +F6E971A1E8120FB303DDE5F7D00396ABFC831632EE8A70D205D41D8A4FDAF91D +18D83AF7BC148498F04F23FBC4B2E6E8EE3FE354B64D87C7DF67F88416B6CB57 +F353D50679C639F308E018AB3150B6579DC20438DB961A3F4A81FC2BBA58FE60 +CCA0C192739DA80A0DD112D949C7221951887082159EBF61C6308009DE710899 +BADDA993852F503FD16C23F1CBC56237C10C33040D218B2ABF7405C9E6A7DE35 +1875F28A62747F34AFD5B49E226096B1ABB917C12DE2736F170BC3E3E8E4626F +BBB8EC383232F3D64762CF5D6A8FAC7F1EC8F491AF58E3E2220567B616333B83 +9694A6B454A7545E4E3BC0315D96AEE5A3435D9554C12845D5906449FD5BDB05 +7D05D16150E4A8F793DA8B627866A781B785C4E0CB2E7A571D93888A59BB5AB8 +8635C3E1B89948BE9F32EFEE87FC2BB2E1E80844E3AC60A84F3F9F2AED0B4C59 +00F8D4D18CB36C4EED051DAB032FCDE3331F077EF71245D6A1C17D3FDCD80565 +004A0D51B5FBA2844823F926F7D565A36D3EBF56A72088658E5AE6F63445CBEE +C5750B070FBA1A3A650B8AF409D59C30909240CF347622F3837304EC5FDEBE55 +6F5C1754DC797F9282E015B6A1F5E401CBEB58A6A20E60B8E13F999A8DC745DF +4D0071337385D6FCE80AC28673F4F4F6C69AD7377C5BBD4D7604F659C43F6C6B +CE7159296454CA297A1985E2D8DA364605014271364B93E64E3C3E9353AAA14C +871A230401234B36BA1E0D570EA3415F4D0A55484431F2E229EE04453A315A4A +20D4ED362706DC46F7FEFE79F3561811C56D78B9884CAACB562DF7E5075EBC0D +FB7682DF6E561B155C720BF87753D632ED20F9AFE1E71032869196A7C726563C +3518377CD800A7C8BE60611581FA76CA4A12AC14C9271F506DF3EC4985238051 +57EEAB331C85FAB4AAFAD875F8B1D7A7007BC9314D59DA9E625DA7395222C1E9 +BF444B3D4DC7A529155914B1B6F9A66664C07D58CE0C12CB710B3026181F8FB6 +7C9AE94D479816311DB5E3BB4BB0A4C81748D3642DBC8B1F7EC48203436172B0 +2F088194A0671DD84AE8831C77855732B81044DAF53A28D2DD0973531AE51F97 +F3EA71460082A202F013B9FB602C342FA01C4F097C7FE33D812AD813624414EB +EEC2A70F11669B51100E447CB065008FF04A9641E9D176466B3D793EE802F1F7 +9C68EA7009B2081C4DE68961995F46B5BCC5E47B699A9EE0981B0F6F84FC2FB4 +CAAA72F52B28E4EAA659E2FAEB24E1CF47C1B5E915B55F5D224CC19B6D45B12F +AEF0E42059D408D9ED058E8C6689487B3A02D9C498C3D8B4AF2179AF87D099C4 +F3DE354C26F04D9BB0373B108D4EA3AADA35410DFE86EF0A108964EB11380C77 +3F53C855C9AC8666A8C38BCE13E546C4F575601ADDAF9695CB8A7E20DB983C04 +6C1F5388F637A09E2CFE3279797AD9DBA5D43602141A73F39656A1A6FBCD3DD6 +EBD7ED27129CEE9B17CB1C33493EEDDC0D3B2FB03C68D6DBDF26428568A26CB4 +4C93E58E1AF521B146B43DA0CDC504FB390C48DA6BCEF2C09E138826995E88FA +7CACCA094B59EC16209E835A0E8B2BEFB7C31EB88C28C7541E7517877FB350D8 +0CCDA3BCA6D3A523B80543E5C22F91F002A383388A45AB2FC8AC481D9CA23FE7 +D7EB59D755AD4A83682C4A362F4620747B34279A203E6BB528BFF4B71834AD5A +ACDF96B59BCB01FACE7CBA9406FA395633D7D1377CF5BB8436027A7F1CD02EB3 +640F3584CEED72650F7AF2D7B990E80386F04887998779B1F794AFFB60EC1720 +CC74C9120F911D26F960F0279AD4B5921AAF054F49C7D6E3ACB9643112562ADE +55C4F3FD1421296E49561CBC7B11A45254C3AC053B554F128CD52DDEC2D7DF94 +F3742D63A4E89D1838A585862FECBC653518C02E59D25BEF11662A1514D0B060 +9B480CD24AC1EDF782DD10D0787A14B425F8FF548CF26807CE8C297E4E0FC70A +646B2E6246DCB2BD1EFA249888CA4111688A83CC6EF2A381ADD8E335E59BC3F3 +FE6F32CCFE3D363E3F10A34F09F856E05B2BE7B9443F771BEF440150016901DB +04088DD0EEB1B66AB14E7A93AA015B4712BDA0E36EAA5238132A8555DB1EC5EF +14BAC818EA658ED402FE99AA0CF8283BAF249220BFA0E75D6E9E8724213D9D23 +BF38625B873261AC1A4EC2A1727EB9FB79430B963EBE6C76435264D39CA58278 +2EEFE83C7C9F145A58B2B0940581D4B5C702492F00486B6D74F27F5AC1B697FC +C4CE89378FE152C3EB5FD3235F8E6247C840ACB930C5FA0AE3BC5172ACDD4FB2 +1863EB01B8BCCF6F2793AFCA7B3A47D67200A9418A787ECF895540EEB5727883 +443AE41BF7BFC680629C8B10C00B7AEDF60499D1CD906A1875A270250401CB94 +FAA6A1C76238C4D8192B79638290100B8E5454B151E1E085B589BB79E23DDA5C +9D26B3065EA1B15EA74FF2A0E641F2476F474E5ADD35510F29CA25FA40B16226 +B9A139DE4388A1B20C3D668BFADC1BC569109BB85FC23916BEB031A7CF17FE68 +8D3C21C21D39F3CB0665DD66E4BB24B0D522AABF57E8D274E53787525FE14CD5 +3711A744226261ADA567EF7AFB0CA5D488B020DB0FBFDB4D98472197C141D07B +7DED25AC401A0E0887DDF0998F89EC5C607DEBF69AFC502C9DB837A799B58F04 +7E1887DD6009C90FDBD51CD23E53363FC62683D753BBB882B2C3D15C304015B8 +46181585E342A2D9C8625EEE0B6A755BBB0A229F605A464C530BEEF47E36FAF5 +F235343A90F7EC9BDEC0E8B841F9F0873D07A5A997955405DF1CE23F77989E9B +32208E740CB8961D86FFA6F1748B19BF98A3EDBCD561A4A26A5D515A11AB8455 +BB876646B849A602F488F21A80EB7E38BE244E3309C710D4F20F1745DBC1E0D8 +431447192873F992D6E1C7F483A519918AFF8712A376F5DF9FD1F089B09E5452 +32C74B7B906EF6E2B6772F4BCE612DF4B1BA5D73686E9627A09B3E8973D747BB +B7C389C9D5F00C70C55BE1E083CF5051A1AF582FD986BC22F1B137A4996AF266 +BEEA34A1E73AA06347BCAA55FA4B03229AB8A7F4EFEFF6C02E55C52C25AE7BEB +0792FF1BCB37B635013A1C088D82CEBDF19D90657C51475FDCA1F2E5C444FE73 +47C0DB72FAFBBE837B1EDAC16FDDF553C6E743436DF78C12BC83564C6215A44D +41866B0093A78475FA18A11C8FE5D3510FEA1B877F20C91360A182D9CFF37764 +B5DD8A0471D6B4B90F57B5D41F602E326FCBA35E9E7A2B0110D5401ECF2DD1F0 +8D3F7C9F697D12D9BAFA843B249E6544907FD8D9C7828D0B9CA31D24D0231096 +BB8B09AC6134FB4627BAC95868EF73522A4ED633EDE2F54D55442C55FED27EB5 +DC8F7DC87CDC901E09CD02A66A36E0EE064E3D180A2E92CECEE8B4EE608E4ADF +AFC977265B81BE799C8E0DD732569E536826A87C58D259455B943E0FB4D94399 +D83251548D8C5B169A3E274BAE85A91282574FF21E76AABC2CC13B4ADBC65481 +453AF22CC3000B5D622D0A07E887F7C34590C8243F566972AF4A3B49E3715A8F +D85CDEEA4C23B832A805B55A27E737D8ECA92DDE6BC1131EC7C1162573F54297 +D947D36B71DD8015248055B007398319845B730C9DBEF2456260FCA8BC87EB7F +0C5243DD97F3B6915E0190B77EB878E485206156A4050DF37A72E127E7444D49 +8ECF9480ED35B3A327429914C49507E9B2B1E296511E8FB351649E9FB697CA1E +82911FDF3452355BB18A56F5880834F31179B83ED76613791ACB741CC39BB970 +7A6CF943908773A79D8F6DCBBF937568EFF7A39A5833198C03915EADD71ED5F6 +6EC3B41746D69F860DA40324D3FCEA7D97445C1DC9386DEBD198727BB6D730C8 +0A29941CCBB52FC71AEC1836F7C9A9FAEFBB8F083604DB0FE8CCAE9DCA6E169D +F8829CB25125E2562529D99246B2B2144C34A49B53F8D0D3CC0AB990B444882D +5E4F135F748A5C51FD3A2BE7DB640FE0D0D6E639D3D765F334BADF7AB43D90E2 +52FBB8DEFA60F2D75DBFD284EC24C9D1D083F4C07ACCCE492BA5A26A100D667F +68C2548E83E121F84B1D8C0E089797CFAB74C9EA64A984BFCC3BE776D8D3BA01 +1EB3FBCC801E5338D798B22C40FF256CAD073EBCBB438017D8E143E54CD37ED9 +06F5D54EA413DE4A2210B6D2CB3960D6F0D6F0F08578A30A650C636607C97B6C +F5355EA327F0CB185D03E4D1750EA8AED8C20FB1C97642F42A032FAB1EBB8860 +3823EE8094625D5F7DF0EE67FD8E8AE96A57C23FD0E9EE13B6AFA0E73D321282 +4CA9779420A3F95B6305892A6E38919007AEE3107654678288F9EEB15E139144 +F463259E6BC35920D0D3994637CDD195F0F8475E0F7B50A348BD2987A45AE742 +EEE350DD2038AEA57D121A331862C85C6ECC8889E24D53F3CBEAB943DDF575D4 +877A17368788C0C2F0B6392EDBB6DA55F1F20E71503EEFDEB0C8BBB979C49CFE +B0423C4EC2C48744F8ACE929D19FD6C711E40F1F4F4FFB63B679AD2A7058F23E +6DEF767759375876DAA4316D524A8E171FAB3A449E4ADE2DD67C7C2F55DD94C3 +56CD14A8E9A887E9C4591F038BF770231EDF7E66E52DF354E640C5AA31C863E4 +19A597F0FAE3C1B352595ED586D8205722511A96F03F9F0A6CBE69C466DD20C4 +1014586F9555D0D3B156FA0A9EC09FD228A6DDF9FC58DEE367228F238F870562 +99F2F30327CBB6E39E10DA38BCE0D70993799D43500E620F5E00779C4B8C3E34 +B413BE03CD4B0F34F73786F74D14766B6AFBCF3A02623B71CC8F47E6A675F77C +548020D1E2EB7AE704760D8A72EC95D1950B74E614A6EA99D6112DEBCF598BC3 +ABB62E677AB9480E371E3FBC301E8836BF086F32282A9E5622162327A911FCAA +68088B63669EF26D610955270FD3D2E2DF4EA4AD13E84E11690474FD09B88D9B +CB94CC67A72C8C0BF8E0A468F1A7D45D7ABDB7C92851D7C33B69B90F255D9C08 +5B593E8FA36660920CEB15791F2F24348FF89D69427B86FBE6FACB1880D07E63 +168153CEA233F7C81F641A982BEE3ECFEB57452DBE9C27456BDA627974740236 +17AE7799038A7EA64707D85EB606A8923D70B26A4F5C6E7319534E5FB002766B +C6B889853B51CE17D1E989F2FD43B2B428FE08CC0B112D14453C6640D8DD98A4 +1D9C8EF09D3FA50C06E14F73B94633C8EA96E98CC58E6CDAFF53904D8543159D +3BAA527F0C50E3B9ED16596CAABB2CB8CA3E59891D7BFF7D42EC550438E7AC11 +EF30BF68A19FC425D9FF01292F4294CF66E1D0CBAEA83FB0A29BB592BF560E4A +904B95E6C2C86728D7A3A67F1D181FADFED6F2F69BA84A5EA92ADD36CF48AB20 +6CE4F239B57AA1FCB3F1A65E9C334DBCB386BFBA8B9198DCC88C9755B5BBB0AB +D2AE753F31DF316CBE4C5F60FC59B2A4C3AB9DCC2AFE0B780D54AD116D56BE09 +2A5623BB6B20FEAAFBEC34A6F9E87182D0EA95D933D6E1B874BA6AB0F43F3A76 +4B123563ADF92A88C049BE4FFEC8131CA6F20D769838A4E2FBFADBF3DD497660 +E9D1B2BD82DF4D925BCAEF4F9CFDADABB26879359005A1E40C5F7DB98E88E6F7 +F5EF5EA3C6121919B3695A3DFF93081ED01339CF59FCC744C9235D2FF1BE9773 +8EF37B9C73FA6C5E3B1DC2726252ABC9DAF5C4A03E147A20A9DA0D6DAC7C8F52 +B401D01B2DB1166A15B3B77DAB4DD97625ED98B59307BF15C02714D35A64A9BC +1BD7D6F3102D9BEB9FEE265DBB5CE489A192C0BACCA137BF576C110F93DCEF5F +502C899FD3309CE313EC837BB510FA6AB55B942F6495560A52FD314C66CF8953 +B8C60FE9DDF9FDA2DB4C70C8503314B2A6BD6CF81BA87C30486DDAFE77492914 +514DAA2B91259525D9EEF1391E8D49A019A246EFDDB2C996677490AD5190DDFC +3CA7C9670F372256198B40393157CEB30D3326610AA270C035D7ED0A7CDA47C6 +5CC5B9173A36261ECE0E7BBF3EDE8601EBCC0332427BADC9821C4B79D663473C +7690B0545B69B2B19F0276299E86F50F6E0A11EC05261EB78DDC2B0BD7BA4EC0 +AFA01F6A13EB652C2C7ED85F449B56CBAB3FE05F76CCBD3C9130013D069A6906 +1CAE94BE3FAA3B9BDF9E7E7D77565EEE35A7F1FC8D78EF0FE7C91FE0AB531D20 +9B3B76B029D07AC557F70FE653702ADFF4541B4326BD640F942E396AF7774F4C +6D3E7C00F3B953C34359A5C609D37D931C967188F09651AD3B747E05751F2A06 +5A9B4C4062D55DA454D0EB834D4A1BD4CC16C5B30882BE8B409D79F516DABF8D +F2FC40FB8011E90927F95EC2DBD14BFBED188B53BA73F703C0C8BA76E4E99291 +D13CBF46DCA9F53DC075B9E34398695F3270E25B9E8DC55DF5D8F49054A409AD +0AFD1F6B5305CCD1220CBB386098BA3ED1AA95C3E74E67849F13B9F872439F65 +D451B1FB3B613071086AC6A1E3E3ABC7471590989ED3539E12570BC0441E0634 +59A95A384051B8DC78845787222A5330001AABC8703D5AED62F61F8FB0F98823 +AD20D45E3E44D28B0EDAA8EF41CA5122A37879AFE47282BD8DE448B5FF890CE2 +05FACD0CA8898282CB81A51D51B2A4C3AB9DCC2AFE0B780D54AD116D5AF5CC49 +3AF5BEF8A307841826D8B89CC030A838385699BD29FC5A74A172F80111BBC225 +AB8E05429F3ABD15749A54893931D11614CEE0280BD06FEB5FF08A013BEBF584 +91022313CF10172A9762979DFE862B2AD43DD8C098A943F8C330CC36EFB4E69E +CA9364E42E2B672291AA1C9EC0D10557E8870691A3E2D6CC24D7FFC08C113D9F +4D458D882F528B47BFEA70C164BD5AC72C065B24F8A3FA29380E1D7C8A458E0D +13A4E7ED8A47D50503F90EC332EA4B184804C509BA2BFCC76FE39EBCDCA69408 +DBE273AE85786903B801BE41CF83D92DF98A1C55D0E47B239F290785C4E66D9B +329CD46EB1D10B3D25692D201B8E497C518807F859E126D47C97ECC2D67C8701 +C13F23E74A6D93EE7169D5E8ECD8D94A4CD036184D257D83BBE377D7F89ED2E1 +2EC10E007152F3EAC944D97EFFA72A904208DAB3A4D5C5137AEDAE1303E5170E +1C04426B786F8937409FC21495807D675E736D0D35ED6626A3651741CC0E4633 +910C0818C186A61279D54D29E3D2F4739971EDA2684391831CC4E3706FED98A7 +20DFD88EC382C8B196DE9E61C936094B9B348AC84A12C5FA99DAF44C46ED02D6 +3D79358FE3891FDF5B16C77AECA326A7822785F543E067700D5DA5BE413542FE +4C9B4A9E6FC3D89130FB541A33C18EE27DC2C8F76C3E3B5B6A2C2AEB3CBDCE8E +9BE491FFB39CEB2196A570CD70DBEE43181ACD19115EE7DAC13D8EB757F94582 +0198B1360B5A31DCF34D85705EE5C3C40D70FE8DFDE7F7D5507F059792AB6904 +1A25324B44159AB7E7B481425D351FCAB53BCC1DCE93C25C465471D6969D8236 +ECD899E447588E9ABF778031B401D1B5BD8F511514A6D7434A35262C2F1EBD64 +B88917A687FF469B4350F61E50699E9F9710444AAE0D1DFE36D3BF2828C1F79C +7961FD5CB5055AFFA55319A0E1B6EF5562BF55F44A748703139A16C5104150CF +818BAE61EB3FE446DEA5D0038ACB311863ACA97BBC19832A654E8F6F609232C7 +28129D8B112AB7645C3C71C870E2F4D03570FE4972A4602017265668EB5E8C67 +40E09773393CE62FE802D6C73FFA51579F5F0D88CD5439E4DA160D2F32F68DD0 +59FAAD9405CAC99BDB891C97481BB34FE36BCA52F4FEC10A1A9A3763B210D172 +469A961B604C266E6677C9CE8D75C92D4F8764F7C725220B0EFDE68DDDC902A5 +0D2D35E5041C903E5C72E2736C5EDCBA09C26CCD1209807CEA5FFF86905CE549 +052C3BD503061CFDBC321DBD19DCBC2891F9E7EA57BAF512F5264945EB18D90B +FA45B72715DFA828AF5EDDE76DF7A201625272DA93B586717AF8D58D6DF68783 +F7C5C43E55CB66B935BC50DFACBBC94A01CD507466172E1FA728465629C35EA2 +5F1408B00CFEFFC7EC3CBEE07B898FBD8BA4670D4D1E500BB76EC2DE8BB22089 +247B96019A9C93438CD3EB0BEC327DB9D79E662EABA6B41F7608C1AC7D63DE6F +D2822C03F1FBFF711C12A60DC09BC0A75E0E4DD995DBD73D29308235366692E1 +D38B5171D26A82C33508E8C839CAAD1AAA4B16ACE7238AA64328B311C868AF31 +A37B78A88CE2BD109137C1F6FB84C89354A996FB60A619DB301B97F6E7781192 +D504829FE69F1BDCADA997D6E4EF555DB20B7C4FE474541375FDF4196633C65C +BE05AADB81D9C2265970CC02A67AFFD9F69CAC3A4C755CAFD7045F425155F490 +8479186CAB475F594F6EE7ED25F6F411320057161A47D431E9502241F61F5148 +791C6FBC492A73F6D9E8DD01B554751254A5E3A26D6ED1DB8488DED17A1C92C9 +755BC004157EBFC7EE2A946B6FEE986FA6BDB446243B78A55EFBA6135B6398AA +8C826D42023BE0E06B1793E8F009F65E97F7F756F08F93CCB5B94903EB2D4D38 +ED97AC4446FF6040D506C33DCA81A0D0DE8AC67F78BCD243DBBEE80B1EB0FAC9 +D35BEAECA7683B0D7543EE4DA3DAA51DAA385F1C946091382677938D2AE2DC99 +4A2F5DA4A0FEF2F92341A948A8F8DD351882D1A2918EBD5314D156957A2CB416 +B920AEE9EF5F65E41A12C7A2A20F13A38EAC51CFB4A8106CF8F0C3009E0C8785 +5E45CFD4484FF85270C181790E1C4D9FB14B1A16D4D3E9CF57BCD33BEFBBC500 +0D262F4A4332E040F1473562341FCD30FC5682ADF171B5C07D9E2260095111B9 +F99FCD5BC8D570392BCA540F43E283B2761DDA2ADAD9FF220154F6ACA050B90B +866EBDD72ADAE0C2DBDEAF1B3F02E94A5D22ED451347D66BCD94DAE59AEE6206 +F99132F0810B7C2DD6B75D42DD70875A5B7CB250DA8716FD44A6B9238054EBDE +016AC988DAA7424B0E3E6E08CCAA455C31C798101E82ED699F2509D11BF7A130 +0DE2C456BB83E0AD47B08FB4645ECC5F45068D6A422F429FD8621DC9ED788435 +94426229FAF3AF6EB9121EAF23496D888253085B34DA0868382649E22BA8D578 +5287C8728CDA2FD11384D888D2401A80CE2A2C5AFF301F5470620963566FEE34 +A5508A24E261DBF3DA24C063941611DD8736326833C051B376C42D7BE6D5B62B +597EF22301EB007BC4A61F07136BC91D25D327B2769B64A09E2A8784D635D8F9 +AFCD759798E03C5D137AB3DF62F406D0571EC5B35103B8B9746C03F8193F1791 +8D3E2D807BBAC722BBA684561A09ECF980E8141F073DB4780894524AD28F5236 +3C7D94EBBFC40FA5025BEA25D3BD482EBFE75215C6922EBD2D3299DCF6DA881C +5F79B2F70E31AE9ADEDEDCA6FB5268394D92C5FEA4AC5ACC0A3F8F2E41C0AA57 +7C2697C141D0E70DE92790E6C84D5E17F57F28ED8521D5FF87E07BAC0881D0CC +1FFD4EE3199E9678FE2FCCE4F473849E48C8557971856F605CB4EF2DD60AA120 +C3307E856186CF1BA6EB7BB4514B88C19E0FF9D06EB80AA80C19B3FA4B86A9F6 +7211161C1392E7DAE55528267D5EBE323757E4AB474F8BF9F90E152138E7847E +E608FBA2248AB6F7FEF0CD8565633F5DCD8AD59C1C23BE4203CD40C7F2505ED3 +6CE69ED2729E967B104B86FDE522AD9878E0E4860EBDF6D31BAEF4B7F4AA961D +25A1760A730F536640930C1CEFED999020B01CD2F176ACB3B40C2ADF2FA5981F +29998F84E9619399EBCC1B00EBAAC63421D061558ABD4A23985A876C1BFB4F77 +15062D3052DB0709E14D4201384F2B643C6AEDC2FE544332E8E6FDB57DC0C4CE +52D1AB516DB2C53E777165AB86C99681EC481774729E20DC470F094954D37668 +41851808B667939C88CFF94651CB58DDBEDAC525ACE7CC204C82BC6D2B4C4C92 +0E88E2FD177B81B786FBA7E50ADECCF34A25C1DBC1E5F9EFAE54821B1FFA0226 +27B0B681C2B9DB75DC47FBCCF1DE775F6824A1F2AC98A63A5AB79D8504F3FC54 +FA7A25BC46CE172069E61AE95B462DEBDD4D347585FFD7B0B648F67B8757A88A +A8ABF37C75D26D35A2B90DE649784E2369F52CEDAE2413F87FBB2F2BD0C2AFE5 +538E4E72C770C8A621FF4CDCDDD91195DC88F343C0D47AB267955C1A3B5023BA +BB15DB97C606F5C9317680A890748DC8298B404C0EC3D1F50A7DE0827482DAEF +0AD790D5241CCE157AA6DBD6AF8923653C6A1A38CD2BD80DEAC581860483895B +6EA995F89E2C131533D11B2CD5F5F479C7B5DDF91BD0FE26C2C425E56CC6D3BF +9829DF63460578BB4590E399A9B5311C2E7E443154FCCFE888875F4E3B9A8F98 +4CA14FB81C9D047D02FDDBFA44550A03D98CFC082865C35838D5C5C32161755C +A37FF932824E44E850BA7276095874395B8240519001F97FABE0C7D30984D0BF +79381ACF661CDAAFEA75728D604133A44AC91D982CED26AA7FB381E50E210A4A +55AE63CA63B1271C7629EAC5445CEF95CCC4B6B6F46FDA4F46EAEE5FD44AEB2C +86C4D9DC15103594EC513686B1291B35C7E287D5ACBDAFBF8433523D13DBBDB3 +5FBB0AD7783669E897F735C205045F87ECDE027819A4F37C75D26D34FD646A94 +AAE95222A1BD47BFE044FBD24F4E3D1C325A709E270AC7FBE5464EF41F8F0D9B +3AA859D0375D1716F9DC509D70FC097F85E206BB921C647FB0085BAC95E03F41 +92EFFF3B9A7F573A6216948D67EA6A357D9B7B15C800B2099C12CE267C6484A6 +DFC1372C92D7F7EE53FCB7EF7BE9B926EED7AC28992C0F6F3E38881D5B80450F +8F003CE9C12D82EBED06BA7C3E45B2D48512BA67EC333507F8197943D903944A +0D64CB893309D30E568CCB44B05607566A02C12A14EF3E238F435F08D1D6FA69 +42FC2A23CDDFCF45EE72DB593493F3AAAA5338009156A2974E4401244F9A1467 +E20780A73806B0D67016F982248B481BA02E6AB02C41DB634D91B70BCCC4F837 +3BBB8BB2B2B1B4099027DEFC72D04C3939C143519DDAF6BEA9D87462EDDE8B75 +498CDB82442613DE92F252559A9219AC863361B19CC9903D1A0C468BA705E4E3 +0A8B4B526FDA3DA767EEC302D5EAA9A91BC8F616A8D171F7189611D6B94D5E9B +FD75A95E6D4042CCA09D6157F344241039B6AD81CAE93976BC6FDB16088C0ACD +890470A2C4BBF7BC8263EB80D87EB1152D6C0DC9876B548367A75C9F3926AC3C +A722A0143715B1783DF61AB8F22FD1CFB4E40FF4068BE11056984BB095BF1EBA +416123228A79F7818EA6A01F6A13EB652C2C7ED85F449B56C5F29FB049D5D975 +1E11228E586694A3354D0114229AE3B6EF4F31D113319D95D79BE105826A27D1 +3AB23F687A366E412839A1EDAA451011F9F83A6F9B4EAB946137295F8CD52E63 +87B1A36A62656566D1C3051FBB3577C6007CB8D5B7BD4AB36F39A3807CC9F6D1 +7EDD30D37A083C63649FDC8CBF3DF0552F7F63440302B5A3F931210CCA673B8D +FBEB5F020C8DCFC1664778EE7DBD959FF0E7A86459532E721E9AA65E82BA9E34 +D4C3B896C593F85759D75CDCB3AB65B3F378F13D4D5914AE108A4D30E8C8E5BF +B97F824479739F7E8495A35821CBA7D378A7B1AAF5F56C7B80ECA128C08B305E +53B4516B846788828D97DCF60F81E24A9B5A0ED075D4506BE4E3D2EB5CF22ED3 +7D4E8A542195FF7994AD68EE45E245FA1DD20A80B62747633FEC6187DCBF778C +867754F86BBACEB54466F0010D422AF72D0E43B511B5221C50D15931842B95B7 +AC30CE00665C90036DBDD7F75B65B3AF6288FD64A5D997FBEC1FB68D602F16E8 +76350EFD2BF20B08149ED113CE66C71579F931A6731FAD31DA8D1CDBC4D20F3F +418BA417994A937CD089427B77323C3BC09D60F5709E75EC6DF8B7248F38DF7E +0FA207C43D258119B942C00284E3D5AED30A34310FAD2FDA963E960C9935177A +03ED9DA786411C941FB7426A02D952552CDC9E11324D8A8A019B4816EE913C18 +CFF8D23E9164A0A953C5D686C779DBA114B1C32C973DBAFBAF53C1123A420967 +E4913FC00A089F57B2C3190B1F74B14DA3C915E9733EC26943095C6806469B92 +AADE39D1600D7F622941F11C5A329BA471CD860DEC002434DEFF1EF97023DD61 +68A34FDF211E64A597009DDAE6B09D7937A3990AF784A5E268385070EC6E437A +A8AB21708D8A7022B92F1045B10FA1A871E6BFA2FF7128B8961D90E505039122 +BE1441C288DF83116BFD9A086ECC1B7F9B60BF87B0E60DD9FB0C1DEF3B6C417A +05E559A75BFA1B8C5B3E252253216ED6B873C37A20843EBD996BA85B9456AF36 +368D84EF4C0C61042982F4CA8CF885AA7D22BEC8D010B891ECA90573E3A1CE28 +E180935909107EEEED8290EC4F9D800CF2B496398D4D25420FADA9C3F821D1ED +FD47E2456E76B433987B229D4046EB6412C2618C640AA60E3E1C4057B8889A26 +BE199678EF8AF826A454C1E99D8BC09304CA9AAC012C06718F3D9F12641FBDC8 +64B84D7E9FDBB5B983BEC15AC45C83AC88713D5A7B9AC19F8568FA6D9E2897EF +B2C47D6FFA25FA5913E2A81BD0FAD3B909EE14CAEE4A46A2B4EB037C27AA8194 +6B574E62D9520E60C7831D59C1F5C98A5C5AB8233A92EDA87B3A963922A29E00 +BE8334ABEAAAC63421D061558ABD4A23985A876C1BFA91E994B8129D73742D17 +BEF718017CD2EA88968A4D4B4B40DF2F075EC50EDB41DCD186B30318446968E4 +CFF8B9B250DDD47CA8E3622959DF6540680DDB6FBE126FE61C308F4F6D96F25C +87EA17D7D74CD0CED210B86E2365535B6399552A92B7D92D3BE4E7745CACC1CA +6F2BAE2DE6FFFFBD3D43D4B26BDD99F619ED92B6419B999306921828C1D94A8E +BBDF22C17456AF5EC80D6AFC0B10E925CF0D9545FA3476377A53D90E2A9A4EBC +F7B87549175718FE22328FC3356C5A1D6E91FB657A5C4DB6D1E403D8B5C489B6 +BBA0E142BF0C3CB2E2AF19A6EC7D2CCA6C0BE584C6D610AFD1C614843B040A79 +E21A616C8C043FBAFDB30356A4B4830D49C639FCE1C3E7E1B041292F8F328F54 +3E6D4E5F2D535767C1C42D89A1AF98A63A5A303C846C383A1C9ACE968BC632BA +FB66F052CB767CBE7858F5790BCE035504D2014ADE39CA8DAC192C2787656B2F +F37D2EA0707F9B7C5108E891CF1571EFA3AB9421AF1F86CA74594E8FA3340196 +5C946343A4A94733ECDFE98943361AFF1DEF5402DE66E0B594F2409B92D2D5D2 +64F20DDDC334647C3E47C5622226B3FDF70D86F2002BCD8A141F15B6594D7ADA +A386CAC42365433598121078758913189F4172EFEB7847A7F342ADA8501D6D7E +8788CCE0FB8640C2D10A59D6AD28E020584D370676FF5A7212AFAE99B2399045 +A27A740D88FBDBD7F91548F44CF99EE1E646A70AAFA8EB876FB0559E4BFD6EEB +311F9C71D386E60BE04DE240F6435104A414BCBF2ED9C72D5A637DD088795C8B +791E032CA6E02585012ABB33A437ADB164A2C5688E64955E10F3432F28A2C619 +09D66BDD52A6D7761EFF3FF4021FB361FF7BFE1F8C0DB136501C69BCC4C6ECBE +0893D1ADDF7AE531E1BF18499DF8C812F33ADA9971F5D7BD278EA46A0ED7B210 +5A740C34120C07E3A01324692343F83D1847605576E2558DCC2A993067DBD972 +9BA093C1AA307B0C38F251F11F21FFECD1A430D2FE2A3912758113EDC5160408 +D14B6D8FE829496930A273728B0F534514F0ED765E061CDA069C1E3F3201EB30 +B5F58F876C6EED19A5987FA54B40D36F350D2A1D6C5A8FC9F0B9B47D3138F766 +C683BCB85F5F4C08682D73D31EFD77024F7A0A4C2DBC78FA92D59BC869EE885E +16DA2E1FDB119D29C36C936559914ADF426FF193765CC7C5063250F2640205DE +9C3DFA592B81F8CDE984C012B3A3FEB41FBF2EA37CC2F783594DE613E96B1745 +57C1FF3545CB42066F2C8957F3161131B522EC61099BD30C5656748D8DE39EF3 +4CE12FD3B8D257373A3F45BD25A5D100A2D26051845C461FB87ED755555037F1 +47ACA048ECC2FD9033F21C47E9A5659E22B8CBD28EC799D3567E69A6B4EE7022 +68537DF81FE7D9130123B0D9439184621D0B019CD6CA9CE721E982C37DF40253 +29F67D7C58AB25B33CD03821A6463ED48940FEF21093FEE466B4E18359D08EFB +AA0DB3B168198AD580430A54AAB1C77D8C5230E0502F435F4E7D4EF723CDA269 +81B41859F04A4475828202E5901CC4B58095CE9A1E374BA99B518351664F5DC7 +09A9B2FC1775942493EADAC1D4DA3156166A4489D046C4D557A1C4C32A3EA743 +4413152DB08FB5149524275020002C2B147E41694B03D9959B426350E6C46DE3 +C486E0235B061F7B4B1CBF8F38962EB8CBAE26BF93878E10ABDE2D38AB7BB24D +6150749F59CC549FA14AC44E77FA87202564CA7B368B031616831F236E4D8A75 +81AB3C9D4181BD44352E372ACD1E8695E2A57AC09E4B4B616B8FCDCBD8241165 +C84363ED00547E7AEE5B9906C4539B9EFE445BE4B8C7606EC7A5E4F481AE1B60 +BDCB44273DF931022D46BB129185DE72C92D4F87E42AC18F29F582ED83A2F19D +9D3D1FFA9F1752D76627603543947F07078C5A948EA6E61CA2342D7A63899555 +D5DEACA4585F9E9726D6430DB4A024222D4131D6EA62AA20BCE3049F990744F6 +BF1261BF5F12D97B9B52E1643116E662CAC5F8B14B95260EB6FC39043D20E634 +57ED5AA95944ED7488159151A2C4CB43DA2F3BD3868D6373B736D4CC017EAA87 +C3113E3C54D6863D939EA7116FB2186FEDE32B55B02AB53D4497937C92121434 +200036848F620F889344C963F3BB4A66D11003534ECF309CA4827CEC6D6130A1 +32BE528BE3AA79A2CDAEB8F871C22A1BB6599DDE33CCD8296F8FBD5C914D7336 +BD217AAB40D20BEF6E297346A1CB5FEB90C2C237E497C4CE64D78BCD0038040D +9A5EDFBBE7B8EF011768F7FF8B941289D2238C5957BF57FEC4C82BDC7A529E00 +DFB52F46EC9E3A8A391F570610CDF3AF89E3206A14F87CFBDD2A83FEEFAA0C2F +8F01587504BB96655EF28044726492A9381FA2D636D53DC9298BF525779471C7 +71ACF32E61534C4FC2537AC2B29B27BB68300E0B11954CA59E6D8C091F151023 +347EE74E6A826FAB2E63B76EF74DEB2D075025A15496E42772AE3688F95C6FE5 +3A6685C17437F7B1EB1FD9E60D32D132D2E68B650B62FAA0E69AD4AC12B09E84 +7B2504FD7C6EA8AD9739B45BDA63F16679F5DD417E32CBE60B39A63B21F2E15C +2A8EF19E4053FC80159929B6E30B5C9F39BF447534453AF42080C9E0F54ABC5B +CBA3601D9EA9E9A488BE07A434B010F66B57928F3AFF39B376E61A4EC709DCC9 +B4B09A6995CB7015A1998772BB5B416FB37F78DF6E349BE5593DC6B1BE8D549D +C4C6B1D648BF39527CB16E5C9371B3627EEA408C1F2374FEDCA87687CC113B93 +0AC0F12871C2769840E8EF46C6C1B912601670413BDA11874EE92CADAE26955C +7510EA319DE767ADC58B7FA43183502FD119F77BB2CC4BAF6EF1A9406E35FA76 +FCB1DC4ED9E86DB24CD1147999B350C1A912D379D9E37C8646D083773FA731CD +39BEBBF38B76EF0F3E1C939E046DCB797F3D3A277056A9E08A25FF4A75F5B296 +EF14AA31DCF5C1559B318EA43B7CC317DB4550BBAB0CE41589609F9FA3ED9BEF +89C39633B643F7B58BAFF05F056C670717C5CC75BDCFF82AA8FCDB8197473258 +93AA7388CF2CB918065529F205321212ECDFB6C4E8A0BD65C685499F30DCE5A6 +DFC81C1504D4D09E1B5E7C8E5AA4C868D32B2305E4133AB269223DAD358492DF +D94DA0EAD1D8B9E34771C22AD65A7FF67BE598A9A575C8821BB4350C40A59893 +2B1E9B66219168A900CFA9CB7F8FD2D83375502F149E91E8E43B40CA75D894D4 +563F32399F3897DAF7822A8B47E423ACEC79E8DA15A08FCAAA91669EBBBD95FB +A640C61795C412FF957F1B048909AFC987679568561F49CA66CB152D4EDD5802 +2A5264E9B3D7F6E292731C73719A0121E63B94C6D0B1F8B270F61DE04C9E9BBD +F2C42E4AF35442B0E0652B44E449388FB03AFBF6576FCA0FD0716EFB3DD4C3E9 +3796EFD6F3938D4116498BF862A5DDBFA35BB75A359BC78B9A2496E0BBB18697 +0C2C7DBEE60616ECC8553C850C326082CA134FBD216D3ECEB2CDD1DDECD7BB7D +063C152982D388DB7A0B4ABACA9786501261E93D2B513D0547FD775353EA013B +241789F4BFD3CE966F93ECB9D74205899152982A8B488C1C6641CAD95A2B7A44 +BC171DB1EF59606354AD4A6B726C02176DF5BA5DA0371B286B62DCAB5D46FD02 +DEC16E24B0E15C2C320E3EA51E566D2DF64A939000AB052AE7C6BCF633BC9D6A +33D38AFB5B44EC1929FF0690F64F23A45B817A330FE130D852D784C9D8A95C19 +2D59FFBC51C2E3684FB04DCC95C86FE948063D92EFF51EFE6AD62CE7EC7BF99C +0891F55158826B135420ABC88DB06E31E05ECC91ECB1643FB12716A0872C8F68 +D03B664E9BB3DDF89A5C8FCDBC73818015D417881B94D42E7C6B088F841B14AC +51A6B584E6F943FF9972FBEE39A006AADEE4776E0E95558764FD5FD1A919960A +183853E13F04DD3DE38FAB3EBA22A456501EDE77132DC2589783E9086DAF3115 +0573F0379E1A86D443DFE7C4E523A39B4C2874D394141A895D4B24A3845FF656 +ED75D87EFBA1E255CEB429C71279BC34EE383436D10183C4817CD43B1EDB1795 +60C9DF5FE24563BCDA17DD88590311DCF8123E00A6BBC4C204AD3F556DB2D3EC +30C2E710CA128E8B9C0733EFB2517A1046AB3C74434F603DDB68D3677508BE3B +2323379695E7E24A345F755D5132A954D8D8209A36F613C68C1E371C456FF577 +5DC4B7C01A6B95E34DB3D837A2ECF2A658976CF34E102563C5798C446D447342 +C77369C7BA643045329D24E5413AAF8B8D797205EBC9A80C256299F1E73E5350 +5205ADEF48DF07FFD82B29690B6E6DB809270BDC40CB9AB1603748457E3687B3 +2BE3388478CCDD5814AD3F55750908D832F3E8A21C36E32F2D603D0263C2609D +79DFB76F6E224966951A8DFAE56EFA379D910529556F218AAE9F8CBA6147E665 +068728CEE4FF502E773FFA380C42E6B070A6A0F8DA42791E3733EFD9ACF2B074 +1EFC39C262344153F95259E5389113A11B269B71E48E01F67046CF35F72515E5 +AF6624FC9AAF420CCBD8C8A7EE980ED56C4427F89FE3B0FE32175CAB924ED02A +97B54E9B468BAC685829A47BE47509ED22D015EBB5D4BB5CABE110D76E8A76D1 +E405BB5912D6B87165CB8922A3DF2BD026CDFE7364648B0F43152CDF4BFAEB5F +CF007BA98EF46C65ACBAF7C1B8CCBF477AE6756D1F0A2DD7962AD9A6CE80D150 +7A361BF7F774505D070275368DBCBE50BD8B4B212F3D633FBE70D171FD86549B +858FA331CD50439D42F6830E9A2B137F7F96CADA9C3F77D24925C8573959C83A +77EB28FEA789DAE02E1E111AC732FCFF2B29C5A385C6E286A9F17DF31FBBF267 +5277CEF4ECB45F5DCB6BFB8E3B400D051B27DDA825AC6C72200177A3862D93DB +9BE58DD249F8D321DBF79811A32FC5EC4130A9304BAEF709713628A47DB3F7AF +B2992E6CB41957431BB89ADD012864D9AE93D84A19945E722502311DA72B5106 +EA512777BA49E80D332113F621041BF1091BEB17541408460E9C62E68CA7CC23 +2628C03B4EA48A029434926E013D6BB6B6C4D072D8B645FCB5728D174E411E0C +7813C2AE8C6F528EF173E483782FCACA8DB225952E596E89FA715F79C0A2A390 +14ECD34DCFE902E19EF90F4824DBE03BBC46DF88DDB70D0535D4D7757EC4185C +67E0DD7100D5A9A4D384ECE4512E6DB834DF814798119A81B598F26B2EA81AFD +79C4A84741EB8852B76C9F0C91B5516826E05FB8046BA34E3CBCA440F97FA94C +C5244DB2A57C4DA652E88C10A996DE9071855B52949BC4797601B3B3D420CCEE +B0FA4D0BBB55504E48F4EDB3755B903A4D20E587F7F3E747B575D06C7DBFCEBC +475522DF5E61031D8FA1304E30EBCDC6C43CD2ED327CA534E449062DB2224DFC +D4B0C907E18AEFC14F979F3CB83239DF269A53C2AA6BFF498312E0B10F8803AD +52F971FD9C8B0E22D8A09E536CA59253CDB9F4BE56EAAB2F3A8710BEDF4B7F7C +38809FA24D80E5FECE76A8B51894935637F6D5E464B665D74FC0F6BE278D4D1C +E1593D63DEF772B67856EC22ACF3C37B66382C5810B42BD9C966D332FA6C260B +8792115E57341989632747D845CE4ED1A48E951568924AB40F0519F04EE1C21B +6072754C984644114E979F4CD9473AF00AC958BD937737ED6FA58D0496515D1B +2F8DBAF010D729B4B96A754815E2259431C05FE93FF0267338BEB45B768DCC14 +1075B747F32A1212099DC010BED9D23814BD30EB76410D0229112F7B1D202DE3 +3C40ABEF308B4437FF0460A2D26AF7534028EEBF1BEE0993D38EE8F7328E3DA4 +48E31527F62F479E98418A0D67683F661A57F868724A65D310932EDEC2896F9F +E973F4E39998D69F8AEA936CCBEF4183749FE1E59EEA8528ECBF5CAAC9C7FB10 +6DF36553BB138B20BF43F28BFA7066E5293A605A5A4D030E4AD1A7DBBD54795E +911DDF0C56D2BC9B1F58C0141D8A6B183CAEC7408077B9CAC032D897162EAFF6 +3CE2AA2B6CB7477B87FACFA276C16316B6C809C90BF1598F7A279110DFB3D1F4 +D7739C0CE880DD6EA0C32C4D318391E525EAC6A0CC44D808138ED0DF342EEA44 +3F7CBC2FBE80E77EEDF0346ED0B8814EA6FDAADCA58ADDB6346D78857274D766 +EF79E0BFA40D14CED24936317303A859A14CA07A22105D5FF703A9C3C43912A7 +611D63F0706BCC02E0F8C1C8AE38D07CC29CE63855E2B0F9F7939B1CC64E1622 +7C7361585F2F83AE4A2886F5E84ABDD1D0D9F36822E3CAC81BF76C29622F9043 +F1EA28E26707D3BE2B69A95D46F32DE17C1B02682DEA3DB22C07CFA63586C592 +53DF98FAADE3CCBBDC7B093707374C2CAA86CCAEA7695DB8306E8F9847D9E293 +67D07BC76C804A2A2BC17CB26DD1F8E2BBBA9F165E4550B85F4660AF51289B85 +F873A07815239E4276E23CC5468AD2BBD7B998995E81C47B68F1CB26A08A4B65 +5588D5AED30A3431071A8C5ECE05AD84DEA400E6C006B8840547FD3691C5E3EC +43435088BEB4F57AFFC391B9595FC87E5F228E5307535F51BE35DAC1F398FA17 +FF0C293220E0A714ED96AC346D913BACDBD8C2A42AA4E5E9BAE87645BCD644C7 +FC560432E97BB6887C138E0A722C9F4C7C40B949639EA230CC672617ABB13A9B +578340A8C7066838711D77DCEE1D65E66FD2677CFAAB179C83EAADE8ADFB9DE4 +7B2195255C89B696D6331B8D09B8BD6276ADADECF69C0772717E6BE0FED42360 +3A88D0F7E470AA798540DFB878C8FBB0171210F516839F2440B4580287815D04 +67952474913C66669C4DE4DF9B1965C21E973E3F84D6B62A8655127A5001ABF6 +9712D3F5099993B56E13F34870C8B7C079684D4AE40855E052CE13A48605F1B7 +141B81F102F76F0B1D30B335FA7A28E4FB2090F0C6D7FF8435680C28C44503D6 +678EED921DAF712A0135F35B9B1CCD76964D97D03201C75DFB142D13285E87CC +401FBB8F38B61BA581CCA5EE0934BA9A764BC3650C9A7EE572C275B4F308AB8C +838848058B25D86F2FC6A3A528471815F0913AEA983936A6CB6F1256E9F013F5 +B649EC2C3B65B54067A2EE970C7C010819684DACF8B6075996F8CD29074878BF +4B20C519CC86A4BD5F6FEBD350E44E47FC1871C03FF78A1622A8A8FC43B261E1 +B2AE35E4F5E02083116B0E0D2264DB4231848A409D9CC9E1ADA3D27650D8FD31 +37B815A5A4B71C3D2CA6B63D205E16B4D6ECCDA67CDD3A44A3B9C77F202C7818 +A558834CC2A790276BB71FE1A04A6D7293A4B46D3518703205C521B9BA0DFC40 +6CBBC2959D90ABF91FCF818AC876DADE57D54BF80988E6AAA122C2603689FB7B +A9FE394A7B7AB77F57B4E187884433CA15842D3A5C5754B2F683C61404145057 +6CD8574BD4CF29DFEEA6617C957D751BE229B66DC97C6697272E2D204AD0D2E1 +C5B32B67A31499CAE8716680E87A70F2F564C1BCD9E6EF3425189EF617A3004B +33FC753D7DC1301E0770E7CDF60E3EA0BD55217C433062DC80F64DBB1B0743E6 +E8B35E176B9E76DB4EEA4A6E1AB7DD941BC90E1E220C7FB2B9827759EFFC43DF +F9D705B6C8A25A2C8CE640450A054EDB9D0310A3D893A45E17CE0D01BFAF484A +9395033B2DF5BF32FF7A54EF897F4C826FBD4081387B43AD52099F4CBD1ED070 +938850685794CD6643A7555318C434A867A96A6298B95E02215CD5F60292DAE7 +9709B98C678738CEDC6CD9E408313802C5905C40999682504665B6495D1E487C +11C5D48179A1E086B00F022C458390D8E1B1A862AA4EA515864BDAB76AB6A6CF +8D61A6D4BB1598391378A9F160CACD6186D897D801C6994A05FB4AAF6B95F8D0 +C9B6B10BEDCC299E3851FC86263ED810D446903CE34AFC53C6D214459C9E580D +D5AF4A631EA2DF23A9CE15E385E279B208A6AC7F3F344B79B4447130914B3DCA +44C626E1B5522F7CE7BD02FAF34DAC8D60DAEAC087BBB4972D8FC2924F85610F +6629A80A02B869262A2602F3F1314EF110E6CCD5B3C368686D27867C01BF9F40 +B4767B62D2EC2BCD25BCBA5469C9FB116E6FF5C9089169B48F5B3C9B96A67BBA +A9E134A4DB67D45B49EF1740155916D60CF9618C8FF76C018D5EB905E42B9A93 +2CA3C7C53689591C329C719A3670EB6F45A95FBE534B455ECF93BE08308658D0 +31AC22896BD278CCC771C25B66B3D8AF71604927382E2476D0E2B09F601C9CFB +59DCB2C3EBEC77799495D621D1504C21629481C43FDFED15841F9AFB79D9E78C +349E5DFAA19BB63C4377C807FD61165B5986ACB2136A363ADF323AA691C114DE +4314FF7041E8A7EFF83B1C5716001BD4CE16C046B5F3DE60EF8DCFB59FFDA3BF +FC8959DD21A3ADE0C38F6686A3AD954BABC8ACB691A955A4BBDA407BFF9A9290 +7251B3A7F49D8EFA274AC557E09751335DDA6C0F2E91087D98AA736BC436391B +A1BB784031227C4F9F6CFCB6403F4757EBE8F42398141A0DEFFF3DE31921A4AD +5FA4339FA22857C1C7FC647749AB3637B315D0CD0FF6C8D76F77291ABD4EE34E +71AEF9AF29C32298E192F275D2285288C54749EB623FDFAA3D6CF48F1A32AAAB +446C9EEC60485E4043B9E89A0676AB6866995FFB85DF61D086752592412F75CE +7401A4A3F90148CEC6DD3F13F0E085D8032AD276B98A28E15515E3CDD365576F +581D167969D2F817B4B9097D73596A402C3894FE604D5553BF9C489FCBFC48C7 +9E5F5ED360A4EAD5895079B2D5B43DB418B39EA280095DB76858AD2D5FBCE890 +554DCA70B0565A94E6404253BB623457303F8DCA27E4DE434C22129B7217B2AE +98E68E2F703E42767873A209A8C1F75439D6BD207714434ED20AE0DF71F422FE +AF71E7A13A4D080F044206BBE3959A440235DD41FEC11A4AE27E6BE6D712009F +AE215700937DAE7F80830526715C13EB20858F94266F810866587C0E74EFCBC9 +79EC0782565F907EB364B766E47CF000174795FDA63B9827F25337D7E9BC76BF +C0CC27E1F68777209B22A614CB39DCCD90D7D47F22A21509BB45EFDBF58E8C45 +843725172A6634667F3FC38B51FC33A66001CD67267157D6609DD79C2237159B +4F77DB4E11581A4F6477110983EDFE6B78789A03B3E22D3874C49B9AA3D48917 +76F3EC1EC47123DAB8D6959E3894DBE0FE867B25CCBA3F26AEFEEBF1CCC756F4 +D46EC618BE8808FC2E5A70824AEEAEE5E1B34374C57AD6BC3A4454B73F7150C5 +3318481297007AC3C78F522C16496F1D327E2DEE657CE677C439DEE653FDE963 +D7B6777E43E2482B881C390D867EBF02C452E407B7BB0E6BDA27F464FFAA25E6 +56C6985EECF15EC4F49025C3BF3DDB5A8E8B1B7310B9D28230071829D51E61EC +36EE2F1E55CD79FDAC503FC35AB7B41BD85CF4F43EAABFEBE252D16AC37E87C8 +C09E4A874EF452B29C1AA8B53376D93E15C7B5858971D38FF2E63B8A19242A05 +E450FFF77F44D32DDA89183CC96D2531AC862E932A8ACBD9943B057ECD2FDE19 +37CFC57180381F84397F11DE026C13C5B7EA355F1F68FF25EBB577BE79808872 +C0921ED48055BC57CB67B7FA5DCE4F4C2681B3DDC632B09E516883C8D0C8FD84 +461AE3E58803A3EAABC9600409778F4CA69D5E6B253D42E0285E1F65B11B6C06 +ED035078BB798D185E52CB8AB3F10B87120762A413EE07241DBAC244CB812391 +4A07A8C36C099632D8D3D100D21DFC125EFCB8DF8EC6C43C8DB2D80640E59FC0 +69A07A0E5214A9BA57CD8CE07A8CF2DC043B90B70C2AF5B1A8EFE3B06FEABF4D +68CAA792E9706E46620D3FAF8E4DECD046B651D189EE5F60C6749B5548B66DC0 +377012DE3D96D22F83D04B99D77396B4BFFCFF4BC4E2D64B22B7E6F5226EAEC4 +2C4D0A26F451170D6886E4FAFB2175616BB61A12DD98C04204FB4279412097B8 +1689109D2D5F8C7F1130AE1B38E70F2C8FAFA18E2BA6A1B5C3F74C9A5F367645 +4F498BC8EFC11FBE76A5594D1C7658F23423A9496436368AEE5CEC036D2B17B2 +4AD4BD6E9466C44390B8C62D3CC37E7D964A15022CBE5F3386BE5EE5AE9E20CD +3ADF37ADA25AF95A1E72F3FF02F1EF9E7C19D07622CFF988C3A8190DC4984BF7 +5F4B989C526FE223382B9DEAFFC2DCD026269E35BDA361E4E6AEE0C1E04F1D4B +2953D1284A48A9A74DA3E3A94A9BAA3A23BB9EE14337241F62F269E4BE490439 +736C969A3D88EBCB7476A6EB3B797751EBAD750D33237E505F314B89E2FF8E19 +CBCE825A7B22BFEB46DFC5ECA7C10D0BC176F73117797DB549880561832FDDF0 +0DD83F10E92A073FA2966DD8860C9D3A2A9C0B6AB983035E72F4F1758CECABBD +4DD09A603EEFE6765AFE13F96030540CE78A313BBB655E53139C59B91723FAF7 +6E7845ED1CF43DC891C8F963C4E83E59CC8B8870F42E228CAEADD827A59DEBEF +44BACF27DF728FA5B67915AB86689F16636E6FBD88125C039543D2612761292B +A42597B0B0D0C72BFCC2EC4E3E594D26BD0DA98104D2D70654A8164132A7C7B2 +D8CBA289E098CACC27B427F5724F26D393B91F703601E2C2B7350F8DAA853083 +51729F215C27A5E65D963D18BB54DA6C3B2761FB40FD9D70096FF2B38FB75557 +E9140F216C008205CD64FE83DB49BA9447320BCF2056F5B70286F98947865637 +7956C7F5F6BD902EAFB23686361D685915CB6B4CAF12E736C4F5FE0DD61E95AE +FC76530B231AAC1C7CBDB1650C0EA20734197C42FE6C5115CC1BF18D49D0D076 +03C778E0064BEB6AF87F35B26855A6F07BD2DABB6C6631081949A74CB166F6C8 +153AD071BD23DE0B98576B9D03201D2EA9F10CF297E03959FC1AEF3B26F66392 +84D40839CB4B4771EFDABA21A4AED08CE946CF4714C16C58327306EA61035F13 +6A38AC7B14D67862C853DD27178BD366828B386D4E80D62B5D5599A5538E9B45 +1931089B7171E5C5CF903B14D169E67AC6928653EB2A2B033ACDEFF4A38AFD89 +9DEC2081E9C33C797ACE7D0EA3BAADCE401E60E068391275AD745277662B00C4 +2C11B63226909299BF8021312456A86C8E62EBF68C75FC1864B022337FA3FCAB +834E755DB6B0AF13A500C00FAA592E899884E83713FBDFF2073DFBF68E44A82E +ADAE76A45AC51CCF3FD4E97C46091FB096D6BF441C7D6119E3CAD1AC249F3F91 +33C64F04D091DE66DE70586ABD8E4E5A121A1F8FBFC567D150B580836669EEA0 +16DAAAE0F93F042E81EB71EFF47812FC8A2CB83E00E36B5337D6B6FAD789EBEA +ADF2C9BA0F9C5E01C97BBEE11E54CADA3AF154BB1B2F3EE5EA3BC60328D8D522 +155EEB00F4D7C6D38EB4E69D3F5D974F71F86460E49D2C0CB1434FB5BDB61EDB +0FBDC1614B4F63622FC187C930C36BD29C59DE75915B4C78C5AF610EB8F3950B +C2A8685B777155C2004CA8F8DBD87B808292CA3970E41804FE25CA13A96C0DED +6DF04AFBFC245F47BB317CA0BA4B3533170269347B0377C430DA3587275EFE38 +B33152BEC8C394802C0897F17D970DA14EA4AB244B184B1DA48205725136A9E7 +45DE7D0691924083F750BA24B1D134093FAA89B19E9B491734779FD0701A0571 +4DBA5FFAD2083A1D6F9C8DB43A06A4B74D94100772C9CCF61707564EC6672EFB +CE34046292B1139DB9A4A4FAE581AABCD950F67F97774F70F50990596C92FDD2 +F6086A2A0BC8C830E2B362BF82FC36509241BAC724D4B9AF42928FFEA285C5E1 +A9F38A8882599FC234B46EB832410F7B534438A30EB2D7A446B9558CB5A79802 +6EEDC4276AD602AC4249FD91438DFB4D894CEECE82CA8406B45188E2AB4CE5B2 +099D4CAFD6ACA8733AEA35AED578436810E03C2166C25883A3C182B0E6485327 +FDA3A8F862CFBBD9441D796023E861DE276A21577292DC2479B4E27C41E88EED +5EA432E2AFF3FDA15F4F5DDDDB53F931ABFBCCC8E32B8B7FDB2D9D4BE9B37A47 +E520380E4A52125FC1369D7F994F774682FF4E5E2ED2589B2CC123E1AAE56A6B +64591C35A02A6F77DAD0A6D1FD62CE4656EDA769C0DEF3170BC3D83C424D7836 +F421E39776BDE8EAD95EE9763F01CC4A719F32202C237FDA698C65EF768539EA +AA03C02D28C9811F44C6698DB1605B2A13FF447C0A4192B118F08A78EE82D43F +614481A6757C3D55DBBCE6611B44980BE294772A0FC0258529E242D20CF4BF5A +818304CC634FFC9CCC22CE0058FA04CF0DB013C9288BAFD4D2BB926E9CD6F557 +83D160B2DB5CD789CE3BF470698FCD7E5CAD3E7634605C87321FFBF851FA0A37 +4DF177B11D1C6EFB78785B693B7ADEFA3D1D2C1162B6090597DA9D9F585D693A +FAA169EFE6260E96CA6BEF2AD4E3D12322F1C8FCB71194165BDF288DE9C95505 +72E8695B3ADD1F94B830B83D8691C86060D03A7022B55569EBD43DF3E842912C +E694C765932374943236F840A00B4989617525713F34E71AA80AF50561213665 +57BBC9593AFABF099977B1DE06CE4648F22B8FA7A8F1F594CB42289AD44F5462 +8B5E2C89AC9DBFDF32BD25B23300F3C78EC2DD9CEC047C0CD95D8A2C411BC054 +F931BB29FD643001B90077B3F22A3B31942F160B7AEEE25D2930CEA9D48CE857 +AA48A990764D456CF6EE788EF0860F2732ADE494B830BF9E19449443E9EEF949 +17606A6D87A1922C0086DF26142015FE405F84D338DBD85B9D3A7742C3EAFAEF +BE555B2688E9DE45D65B75DD4991950976864AB2F4F4ACAF491CF4BB31F1BA88 +A722BB901389E3F2251D8A8BDA9D70915519F6B585202C0042B784B1259C62D4 +889D4B3B8DC9FF621C6A6910E827AD60E146FDA68194E8CE6B8EB254EECCF870 +7D80102509FC6ED44452478475D612D3CB2CB2EBEB6E8FD51C6A90F8F6731EAC +9272CB6DE6FB773834254BD9C86CF52478EAD5B91D9FCF60AE1AAB98FE267B0D +85B485D08D1F25C3DFA5A36AB7082ED251004436E22EA66F6CA770A33D89AE93 +7E5A874155DDAA8E3A12F91A47F2ACBC2278C977DB76E4F72CAC58D38006EC6F +7E660AE9ECAC2AEBB0E28F4CBCB8CBC31168699096579D8F7C3DB91EDE5B5937 +485E375847440F780F847C0CBBB4641CA03F214BECE6EE6B7B43062D81160407 +AD9D9B8E526B24A13AFCE2287D4AD871728778C43FEB250DF67687BA3BB8D780 +4C8C61F7D1519F6CAEC2E9F066B41261C44982201FAA4C45FEAE11773343AD37 +A7EA0380F7C90A14C05E0B1C16413BDC11772B4D643D72C21B86610EA23CDF5C +0E8D20F96B1D9083798C8B275BD6861E991C8ADE79E3F213FAF3CD0601E03180 +2A660C044EEDD260144DEFAF11E74777640BCC4BAADBD407C30BC9EBB2B0E1CB +D0BCD2EC52F5DCFAAD5C8E5C3C19F59BC03D43601E626913EC29558CB2373D39 +AD58EBFA8ABCBF6D7B790D372FD051CDCB9A5B9429A22A6C74B197C0A9AC9713 +B8DEE87E8949BB9D05D8020AA6F04DB3D8D59F0B1BB5AA0238B62B71609838A6 +58DE793B121EC9D9837F45B1D6603665572D3B669C8B1BAD27E0D9CF9318FBB5 +79AAC1ED82043E026D35D4DA10428DA69FC576EA5B0497B954F1DBC052572ADF +965AA704F141BF490D1D2B805644C90721E51A5A3224B5A865C633738C2FBBB0 +B114FDD7E98F85BD44777D0A2624EFDEC02CB62F10B190C3E17F4C0790A96DC6 +C0BB83987180A232929C7FD96C7179AD3048C755A258908207041B0F29A390D3 +4D1E720262C4BE5DB072A927950796230D225FF3A4EEB89A9DD601F4C493F125 +B445871EDD0E99E445456A345ED964296B1040BEFA27E0D6737C7CA54830CEFB +0727C0A5BB2715F593C9AA9EEFE4A48CB84035ABD2F80D13D2D0C083662DB48B +BD0F9A5CB0F3B2BF196703E7725BBBB617EA2042285A43B5C445B7398C8C5DFF +60B910AB826EE1E24BD7DFC98EF7D8F8D89E8DE900D8AB3F239F8FF7B87412FA +4EB722D5CBBD965274EBB299EDD17D5579F861131EF3BF776F0D27532825F9EC +D847E348B1246ABEA6E70696E6F99D06E50E1EFE28D0CF8DB92FD48CF1D298F3 +BA39696AE4FD5CDB462415513250A1C6B285702CFC58CF14D0EEC1B0C7797C4C +ADA00521FD3443F9C0781BE1F5D68A5A4F9B799625ABA2C319B2B2AE4E96A7E8 +02D75AB8441818894E8CDFA389EFE19A26630E19A93E2744213FEB31ABA54014 +E54AC5D04A623853EA6DB34A894D49E86DEFF4C78BB2F1A4D6D6C0B5BC6C68E5 +EA29446047FF8C3CC392BDC138987F3FADDF7498D4D36A68A027B5F6DE8DF594 +9899E159D698DFB12775D9D95F07F6597D77ECD035F758E4DF26432F671D07E2 +6ABF288AAB5AAB7A0CCDE27F4947CD1D495A812B6DF0E92AC2B7A2BAF4E5C963 +C0DF795369FBE5EC63E2250186F57B1BCA29D1F6FA9388DD3F0E09209BC1F250 +1B206701EB58364AD6DCE16009EE620ED3898082A1A51371794118F9365B5C4C +649491886F58B60515F335BCB6EEB8789B0F785A0261E1713D18410C6494BF45 +3B28E7A40E754D103D93FD6AEB14FF232ED51A679526D152A20F346445B2D7AF +3747A38994EDCE73E2E0FFF71B9E8E95BC6196DC70C81ECCC6E48D2B06821251 +6276DFA8F14DC25C1865B16040E708761467CBC3057C65D0039053B57A9FF7E0 +8566C98872F6AFDD3A6842D9F1DA8FD90354891717A78544BCB1AD98BE81ED13 +8815B4825734590D37222F96540C885C614B3F30E12D9FA080570B6DA4016731 +8377B80D0631A662438DDAD96B79E1B51F46EF2C00D959CEFD3C31A87A367A32 +D2311AF4A3812E0BD97808C263AD610BD59070FCD36A6445981A5CD56C7B50E1 +0B1E9B9F271CBF67B0B3466667A0EBF637FC906C3A39D193A9AACDC543270302 +2F765E41FED84D3DB5312BE275392E280C40538149D1EC7F1C61B3DDADC022E6 +2D171569E726C3CCEC388678CAF6534CBB9D19B86E2DA360EB807BE4A8EB1533 +78343B47152FE0D58CB718D9E16F78830936A63BBC30A47473672F6903308E83 +A5364DE5B7B068BB3DAD2C41935F08B58CE878CD24FEEAF84FDCD1AA7150E785 +3631C06D849B9290D73664E6B2098D39F4C626318324EC4CDCDA20EBD08B7B17 +559D153CBC5BE24ECFB25BA9AE9DD056510670B0783FA842D90C3EAD22C871B4 +F698099881014B9688D43A6B6B77CAE3394B4B7D0308743B725DCDA9CF003BB0 +27DB033C9DDFB3A9ADEE265DD354663BE1FCAFE19CF10ECEAFF57A96CA271C46 +961BDD1D1CF56F0CB56FED48FF5ED432267FDACB9F8F1B3C175B5A456EDA8542 +F31274B7EB1C6E1DEBE610F3B750CB4018D744C15CEABDB808D1FA92659B6D27 +5D506EFB71E18A2DDFD2D4C41BC64C0B7DF61C7D99FEBC55A99A5AD0DBB37413 +42C432CE4F8738F36E6F3F2AED067869C89525140CB6464A4BDEF5EB09D4AF49 +CC35641DF4EB35B1B7686DF4B709687B9813ED24322080D01AACC7B626DE1AAC +72D040C368821ECDF0DFA64B79330F7BDB14FD2FA4B962D579D9214AFD2B8F08 +D9D624A4229C5A28EECF65A4064CBD6CB9E64B2756BB9C10DDA4695B0656EA1D +3E8620AAC201ADCBD5EC873F0B0E465640FC9D00518F102F14FBD01591C4FE96 +3F256CFF44798904E985D8BCAB5B2AEBA294E08AE892AA15EBFCD1B196AC5695 +7D457F073211AD5162349CA7CF14EC3DC57A3B666FA20FA808E4E9739E47FBB3 +9B8634FF90DFC6B94405DD905018A7BA97861CB06824C27F2ABA9884948F3639 +A5EF6B78ABBE279060B75229C00719A1BAFCDBAA9C3F422FCC19BFB0740ABD0E +B1C6A78A54C1B98DBD184107C98209CFE430350BE669E70ECE9FD168ACE3FCDD +81A1130E902EC6AACBE24CA1C6B822A949DAFA839C10A1554E5E9BAC62E67AAE +6F94C097E62B9EEB68B105067D4E781C06C345D5E2218A3873590F1B83276237 +545B7B93AEB619917D2FC6832CB760F4FD1E73A800B487FC75B797F22C78097D +E7B84A2DAEA0766E59220170F46A5DD21DF1032CF4E48EFF587726CEEBDD45A3 +AFC2CB730E484CC6225FC1549F84C91F4678191208BE4634808CD748AA66DBB3 +F5C1766B7C87BAF744164A8B161F9A3F56AA7D777AEF9B8B204327D96BDD3991 +10EC98CD8AB59D5EC96ACA069D7C6AEE4217038562316C9D3E8E1DFE9E9247E1 +F18E7C921A7D1A1E042D171645D8654BD8ADCA03DE5F121BA45A409EF3896A86 +31F5B359867912602E916D21FAB2309F30445489F6FB5500220CF8D8A0C3E460 +528F6161C6045A40D82A036DBC594EACBD5F1A38E1847FAF2B10C5C2D2964EEE +CB889C5B902FC2E3DA105A8B7E9F32F7EDB9021AEDD1DDA56C6EE7AF7D5F2863 +7A9A9A766025E1B6325047E5BE4CCDDF18433166AB3F9CE76784002731E9C775 +6778C7AA78ACA20D83F7EC777792D5FB2920CA4E80E41063CCBAAB0AFCEC5A65 +78B542685E08F269C935FE8E52C819B5B2AF1D69EE0C691F9D36AE8E899BD535 +FFB9228B39351E1E104B3ABFF1935070717B9DFB2560E9F53FFCF2559729FD4A +9EC9213455CF4F3419EB1D0DA4755AF21A3F02417E8A8963DA107E60F68AC442 +64055EBBF014FA6EB6EF79AE75A4655D0BA96AB659260FDAD7682235478E896D +1DF66854828DDFA7C33BCDE50984D6834B757BAB6D993CA8EC5F3A889833A928 +4CDAC37500723A06EFE8C6A17C90F0CF3EA7201E5C2E3B05936FD4AA5D9B2788 +F7C86071DD90C5D405976433474875655E1D17F3C63F5F0A043AA811EE5A2B31 +AB9376F9AE5816660FBAC4B521855DE68D595851F048645C85E7DD182F808B2D +CD599449876F66B81B652761CEEE182C705FFCE04CBEAFEBD246B81DF1E0A1F3 +436DB0548878D6C0AA7C754566EDFD61F66690FC3F724A9501249292051F0D8F +CEF8CD2BA8457ED743130651B1D703070F6C43D519B09A52B45B77859F0A5A9D +8DE3AB6704A9DEAD1AE7872CFDCB396AF93B874B0D60CD05F562AD0E4ABD0CE2 +75D7E8F01EDC0543CA4DC583F89A8EFA9BB6413C7309D7011C2509EDDD8BA235 +0A32D490E9ED3C570DE93A65AF4CF5EA959F74994B7C916EDDAC02034ADDDD78 +370D9BA9358716F8EE8D7D4B162C5959EC3A872A81595248B522EEDD026363F7 +BB14A1ADB1C6D17BEF66562DCCD5506BAD898125E77BA07620344BEAB339BAA4 +446B52E1BBAFF04372231CA9894624D5B5CD9FF78E295E6458BE1C79D80780AE +F620F904E034982579E1612AD44B231E85A6DE8A7BBF26E314DBBA0478AD19A1 +750F2DDD6395807292276C88664330DDC40DBDF15A28F5C6030E477D23117A45 +DA9E229D3B528806FB2C96F6203AC622B470C978EC663CF9E85E4F9C4E82D9BA +A833514D2340876D7BA0F997634422BD1F59E32EA4AA9F2E3DD836B35CACF945 +15BBA2AE11B6CF90E2878AC68AFF25AB1606BEADAA7598CC145C43D39243456B +0A67DAFBF97BD0E55761DB998D82C7CE37B8EFEB2E195511CF9CF947B05D208A +C5BAFDDD961F571D6BD4C8A1B5EFB6CFE5FC1AF24EF5B82A40FD454FB758E23D +C1143E817119F3A643D3FDFFF30944178EE7F517C99FD3FDA6934461AB002D05 +6D94656E836FD738386F6D3E025D8BA6C41CC8E1F6BADD97C2D4756A1A4CE49F +9FF6C550775B0D87096F017A61930E86CE82D3344370B3FF9A49CAB72CE5FA16 +65AAF18E388D8A2ED7FAE3766DF8A7C9DC5A6172B5011EA5C60CE8C091CEBA97 +AF82025315BB23377F7EBDC76178B3F694370DFB8E54C926E52A76A2E2F6D337 +85310DCAE260A30190010BAD2E9CFB6141908128D3DD193C854173EA12075ECA +DD546A56CD042BBF8E6FE840421889726FFB1B2DB474B977E5752D18DF5E3E4A +FD9F255ABA91F801FDB95CB45154DBE35B6B62774E5ED56CC5553A3448FC3551 +5C65F5B4E24CF775A65598C86FE33A09ED4CDE766C53C470778CA35F00879558 +F244B8F2C3563F4CC869B2AD6D938F2DCA8AE45E48E2B7DD20DD76732DAFBC0F +3AA8E18D73EBB9DB6A869BEBDB8A2A8A074054FC0A57F72712F1EDEE2DD97FDB +916239C3E94342DE9F2D2A34B8869D24A8A3422B99E71535886FF6C59734DF77 +B243413679DF95084F0872EF2E2ED26893727849A829354EDEC25AB5F6493626 +77FC92980EB22577F21D0F80A3050108A9BD13A8BC6A057C9E4A691C6271E02E +77144682861F988DBEA822A92F7ED4DD3E57A4A8FBBD9CCFA3FB597BF405BA8B +798B077D832A86F8F565E9B8BB9BEBFB66E10D682DE8012DE23C51AA0F8D41D1 +064635EA5F9A3B7D3C080F9091C84644E1CEC213A27F647C90A822DDA1707C9D +FEC5E82FDAB048238FD605AF5E4A3E7226904D60C70B9529C0977E6DEFF2523A +3882334005526FEB8A65226B15FEA2EF1535D94FB30C6E71E2E533F6C20CD34C +836364DA7E19B9CCC8F32B98F39B94FF64322F6A71723E2B06797A42087E34B1 +7CE63770A57BB7F687A4089330CFBA50313D8E1B8B21B27CAEB82423007681E6 +09212BD8926360BECBA1612CD0482717EA5FE9E58CD694E4B0C3CB7FBDFB3F07 +62A9CC503441B795E4ABACC99E14CE98D242659084EA458DE84B174F9A1BD298 +15359D2F0729ACC26524AEE638D99F58AB1684036E7588FA79C807B28B4FF6C8 +15DEECB146517923D368619A25E5EE7E333E66DB5031870E03F615EFFBD91F91 +3078D375EFDF458179BCA1F507ECEC63CA9AA3BAC1442130F08335AEB7B0D9BF +EA5E174CC13096113FE941A5EC40FC6897CCCBDFE2A97746D3DCA049B9F25595 +2B23C2D565F24D311F4E237148A1E97DB1E4C4C2C757F6694397431E7BD519CD +09244A67D2010DBAF10552D06F0391F5E00F8BA224EC3CAED4091D6128D0D4AF +EB1637FAF3FDA834FE14C554EA579AFCA1952ED6722E30F67E17D10A87903EC6 +9012760AE213EF557128CA741BEBCC8AB82AC3DAFBEC4B247CA666D136EF7737 +2E0BA327413BFFF077BAACF2FB6F29B11DC4650FE3097B6E62801441047FD97B +9FBD83592B62B96A0916934A6503AE62FD5E6FEF0CF3F76FA14AC9CA9F576D07 +86A7DDB0707282319F21C85EF1A122D369B53F6D19DA0B748ABA377413F974C9 +1DE2758CBE63DC8D41AB4F9D3ED4CFDE3746F84D0B849F83936C9BDD86B7B67E +D2EB56BDB5C8299C6EFF5851CDEF28A6840C12590A5EFCF81D9D8DF556C04654 +566D55190D49ACEC0C93FD77E7C13C030CEE1AB0C0EF3BCBB2E86722251E26AD +D5E1060280C8F5A4A35C3E6739EE1DAE1058530BCCE52A3C39FCCBC1E12DA337 +830800BC6E91A7C039608462B1B8B81B8AD7E2CF6B2EB8F8857CB8FBAF370AE0 +D2DD32C459A60C53791F906B74BA86DD0C5B94CFFAD1E8B38FC77FE9EEEB95EB +DD3EA2809939F5FA1EFF9C88A72CBEB0772AA9E1E74ADE67BAAE699ABABD02FC +234CB568A9C07C8AE91D8AC07652EA23BF5A27BDCD9C1E230A32DAC99CA36D03 +6E9105FA37F2C588CD8C2AD2D47875EF2B64DE4E6BD0F560B42375E271AD64A0 +851CCAC285EBA7BBD5B136D4C9C1EC7F82B2596D8EE19CE0A3408F4F6F06EE07 +D8A6BEE8BD55660A3A10B30AEDDAAEC44313490EC2FFD9602FC79434594A3864 +5C68149E9249C62555A00C9BC815E7EF7BF485EB96FF5B4B87C044E7FBB52450 +3B6931634048A8075149AC669A33D4797CFFD3B935C3AF52540D591BA2460D4A +FD7AE8427DFC2C06D165125C7E001D573C504B3C5B66B3C3B4DC82926476EDD7 +CAEE6D365C65CC463D4E3FDE880FC1A3CC0E8E587C00FB4FE5B326576C47BA1B +DEBBF66FBFCE0D892D81B0C58E21AA13775FB0E6477886BDD601D30A33740019 +10DC412EC7620086B628460022DD559AEF3A25D4DB27E94D5A29FB9DADB80988 +3002435241CE2D07E248709AFC218593DB1BEDC371D7FC389F3AA85904C630E3 +0D1D6278711D7FD0ADC43A39E0B1437EB4671E175B6C081948C2135FAF5C3DE2 +8A5F93CE2482701AC262184AFB03733C4C2F1B9D34003FB2F86969D01C91C903 +F2470BE908387EAE6484D885A6FBCD707721E7661C9DD749369CB17A4C6A573F +F6F6E7840AEF992F8C8F3021731750EBD689072CA917C05B05F1CA4C7CCF8386 +F0B5BEB84CF48A77C96EDBD64B883C8A5C176DEAA7AF43013D87DBEEBF75CECE +B8E020732428B5F1546D96A79AAFDA3F6F3A494876BA089A425B1AEBFC1CE4D1 +57CC312277454D48FF95208C723B305C4A3D93CF9C49AB2FC039AD78736E7179 +3DAA6B53034C239911B87AC8E9567D7633CB223EEE6A20A444A86D095B2E0294 +D417F74F9A1E2FDF4D6464B7D13BC7440BF51B70BB8414F0FB13D01ECEDA299E +89B0B9848BFBDAA6593CFC911ECFE611D863C0E37F0FA666E9A0373910119858 +A4C2F75AD5A6F88A02528B6F73A1A9E041C2A80B5E1794F7556E6CCECC1D16AC +A7A6491DE56B15BBA80AD74F1DB6E66A63999DD574246359F934B9F4586EDE60 +72D14462D5DBECF7EEB74BE0AB212A0BF9BC026DD5842C05D1D8E6DBB8CD0D8E +1503585A6535B7A737399636145EB6B4885C08B4ED4E2BD1B6808002044A1420 +555D5A7962E847620AE513EEA2C73DBEAFAF39E76677C02E45D20E060289714A +20A917ABDA40012F9F61D3A2993BCAF539077C4C3C0F575B6F457627E803302D +A544997D78B7B32A4BBF5818EC2E72B8BAB033F50586222548892390E4C39336 +9C3CD64C6C18E557C1DFF79648B65D07A186F99A496A0A454348B5AF7857858A +A9AF5CF1B57B5D39BDDB1BEDCF7D8372434D068E6C3520A3C355425BFE08E0A5 +34C62C3347AEDF9FBA10BC63064E72F9DE2DC5DC8E71AA37C8F9DC330EDD1D0C +B009A28402FDCA360534C53A2276B5F623409ECA8FD8A2B687C63D340B6C0950 +ED53819B98E60FCA7B8A4751ED3AA1D1023759ED60722DC868A2CE461ED7529A +9569DC717C0D5A41D2EA6DF85948525F8338D82F6F25C84E2F2BA0B6CC9538FE +A7A1B7957243F2F475F8B86ABCA2228CEFDFDF69A4813BBFF25F6CEE0C25EECE +A6E1CC47D3145131FE7B8739FC9C8BFFEF0637279688FFEB6E87B2CA45DA90DB +A6E384588FF8242BAABA1003DB013E99493B97E8F101F14DB17603D89D3DDCFE +691534CA0BCA59623C57AC88FB0D0D953AAADE1839598C9B578019EBD02C974E +E2C3FEEFD805E263E29653BF5FB09E6A40FD1FD545A50AA4A639BAA1671E0EC0 +497E0275395D4AA8A17969F8E141C93E59D085CE9380363B692AC2B8BC586E4E +6C1BA55B75E66C1AF8F050048DCE5EE396BF38077C410F79969F60B3C7C9CD00 +C01082BE860176E2A0DC5153F6AF251F8777404A257B69DE7184545A02BDFD0F +7254041A4B939CAC7B8C1EB82CA80818BD6EADFD0F13E1EB072F27BA1A5D347D +7AD837429E200116AD5A710E69C7D8700BDAAF694943BD7C02C47EBC6BC9DDE4 +28A1DBC0A47E82B43821AEFF828244B5DDF87B4565E415746F08C87DA58665A0 +C5945068CCBED4DD625D00CA8E83158A3A144996E79C8EE3DA847B05056727E6 +37588FDB72DD78A47C456AD130CA8D248E1A213FE645BB5C380963EC45623C0F +94CF96DC7B95C776861075BD8D38D734CFA07DB485FBDC65D6419764384A7B52 +CC61A11064436DF45C867B75C1E474E0B8BEFD84181BFE0D7106E58F8671015B +BD959E326F4E6EF520A67698B6342A3D97FF6F4D724E44F250D91FD39FAD73DF +709D1368E83069D03DF43E12329AE8813FFE1717469C1A44FB18884D20AF538F +378BC8151A21E4CEDB07C600FB20FBF4B0D73A78EC257B3524C9B6AD012E5BFF +C7EB31C5C8B888FD358C37F3F0273245067E1E448D80A37264EAC8627510B867 +C3609D16DEA0822466939C2F2CE1833F6F35D9EEDC4E9A6D74F4F649B67E0083 +8E9A1BE66D9A3CEE0F06E30A7F49120C67F68A96337B7C8075AB5B42F3B1B527 +841AC7D702D27941E1223D34049090377E7A43BA098DB52DFB37E3AD0BF36AC5 +283B3E3C677E8D30D9DE55E8A695B5DD81CC55B035238E7A5DFF580675567B42 +E11F917B904940BFD6A53A9C94FB0762B694248C5A6B9AA2BFFB27FB0597DF5E +EF148C43A2E563825BA0DC544526597B078F04B48CADA9205E22004EF3B345C2 +0044352EC004718D09757CB00F811247A3C5A7DB111FA1EA0684B362D9ABF5B4 +1E72D0622475DEF7B90964BCD06B56C59E25FCFABB1602B7E0D96D998376601C +83FC1F5D30EB188C3BD50E86D59B770EF11143F73F3FD092CD09C3948220861D +EE5AD7A6EA81CD0F2F8E20D82475AED8B47C5F4567B675CC071CA179EBEE9586 +D80F1BE20A2CA3C0E4884D281F92353B848D10535FF2651B8CEF264F7C99065F +32F2F086C3005E2DC2936CA98C3C2AB33AA3EE2D6790832CDB9A0955948CFAB3 +E526BB6E781BF689FCD8795D5BE93C58AC4765FCF93D446523DACE8258DE9524 +7C8E5243192D2DACB7F9F26086EE1162B8EFBA747BCD05EF3566B4B7AA0B8192 +D6632F44D83110A5645D5088E3D3572E5048E1FFD019A2D57F2E31A83961BD4C +8C377E065018723AF27159EB332959CC61AB1C3B6BFAC665AEDAC312EA070F35 +ED1F62A237F021C1231D381D27A91647D53EC07B1C5C426EAE9B62D66E962BBD +8ACF31D6FEC9A5CC572F5ADAA8AF0A6AA265EF5033B45563516B3129116E57A9 +442FA1524B5A2FF697D5018DC8FCF6451D6C0216268FC77F7C42DD271BE113B8 +E73C64CEEE7A60278A12B52EEA69055A75ACCD7EEF0EF21E8D3E79E248AB9F2E +3141726DF5CC0573F0B150A541BCB9710DBD29673128ED281B4CCD680A936C80 +3D329E5BC05B8BDC92600AD4D31E6FBC06E03AB8995BC4CCD752768A6FBDBDB0 +40A49D7381B727EC4B2C4E83C8A54B11C4CA7B12555B57842C432739945B5A5D +83700A70ECABE40008EC7862B66996508D26C4089758F0A4A94122DA80C1FCCA +7286B924B462C1E0CF9B6E46D7003C3B74F769437BD680E886803B2CDCB179CC +AAFD30534BE2A5B5EE791DDC3C5E6AA182EAA940A827C9DA5925C2AB1699BEF6 +3F059EF7FEF58FAA3847764ACF241CF446B67089D8D114541AAE5CD2BF818715 +8FBE2CE429BC9B0B2F8FC36ED14B0856DF91B84FD198D232B7F942F1DF7ABFE6 +480F66DEA453628A9D994130C1EE2BEC0251274D65FEC0A511DF8C8482EDBB09 +DA6E9D77490F1934C389AD9FCEC6438775D1CBC864B9B4AAE541D6D5C470D44F +E0CD1B523168CE23E8DB0E4D548051271EA52B95DD231C2BB8E51A6A9064ED28 +0875287432C41EACEC1468DB75B8EFAF3FD02E7A55A5D1EB5235277739C336F4 +A578C887D930A963E21516F1B939AADAD8B58787B346E75843F4B16A2D97B997 +D190F53C3AEE1676C47B34297C748AE119B28D6BBB93E14A7DF962737FC29424 +632BC597FE8D7F5241DFE5743C79D05FCCABD26EE84704470AB6DDC3D50566D6 +008C4179EED65987836C2641350F5947855A8A0A2A0A42D9D258C7D4626E1E16 +A4A80BEBD5616F9D9BF78989C9777B3568A5E78A399AC60945774BB640B76614 +4507559E4F1FA6D4A4D3E75ED655B5145BC1DDC661C78F8B1EB0C7A5CE5144DC +71A4A97EFAF8F8D97126109038AE95551E7C575669FC287DD0A3A1BEE503E67C +7492FAE92558504DD9B4112C49BE76224F5C6F8ECBF0B5257AD66CC878F25AFE +3B2769190110A31F2F522C1717D2C1D5EE54071DE95659E3F30F0C8E960213BD +220C4477DEC4AF0C7441A8729DA001E56CE156BE4B0FDC800B332582932FE7F2 +2D1AE52886985E83A9D9E037C402664C52A148840B777657CCEF900FBE13D369 +52696357A45D9B4F92E2C2B54EB566C01BBF93233CAB2A4C1E92E54CCE2E6021 +08A62A3B9D1954ACCE5B5B428D84B24E2DA383D12219F3ECEDB721FB6B4BF792 +B4A9E8E0B9F6D3305A8C330CA1F6E584927C8E29C1EBF2B95CF03A28E41F7AE2 +C2478B7542AF0470121626EABAF7B441796E035F369AE4A0D8BD8B30835BE1AB +8ED1FED8015FEAD6843A7329E2D9041B316ED5CB04D482C40665138C70B05728 +231CE3AC4FC8AC9CF6BAA3B1B49F12E803DFC4437869A7702A134C7E35B13455 +76A14EF55F8C1712557BEADF18BB4434436EEEE42072DF159F8A4980A0B7D142 +01DFCBE1832375D040C204D3EE59863129DB9C5386095140948928C1514BDC5D +6893E36F77551A05934D17406E9A918B46488B2718D9102905C4948D8BEAD2AA +52A6DF3B5A37835A4017157C3D5C28040DA59A0144D86E6919ACC8A143B838F6 +1DC3D3DA11DF228B4D97D0FA3AD4869E79253F31D329832FA059371B17D291F7 +6D46D567393DA1D83729CE5346A79F526436DE01DADBFBE5BA4F6579D3BAE6E1 +CE573E2A9AE2314EBDA72D015FCBD27F9DC3A5D3058C5D3DC326183A3E5C502D +A270AA5BDD08A2EED494CA8AA09139E923A8A8FDD458B48EAE2AE90F983D1F26 +3311123B0626E1803A73DA9191DF6CEAF3B6921975E9DD4066F1909CB2C4561B +FFE06E6F1DCE6A517E35AB72CF0CBB8D0EFBD85C97F7D8A285730D81D344CE5C +EDE1C2E4BE85E32431147A5D91BC56F5A982C58CB2FFEFCC231D2502B337250C +3FEF78F2D91B13ADCE8A31FBBB15B528A1D62A189DA4F5856EBF6F96B8335BD7 +2BD8B731A4D4A7AE2ACD74FC4FB4035D182488FAD1C99DFDD732CCDB0AB590E2 +EAFF7B4FBE3A2253AEE5172DA4915CE3D4BB19139A03C9D9387C7CF7E5E64BD5 +9BBC2E4960137452E5BD4891711719125EDC27486B296377F57533645A25F45A +D653F8856BE83DAAACF57ED158860D1DC354E722FC42236706C781C17420721D +E1FD3B92F6B678EB55CDF205553408E81EF59E6E39D8041778E71DF960FA0C19 +415503F979385D8A74E1860379638B011C6DA17DE2A5AEF08B7C2132809A2BEF +6687DE5CAEE9CDD9B3216E8AB3E83E368E1DF6A6610239C01CEF04D3783287CE +4F3164132599EB936AE50023646071AA1DB3A2BB6F0B321537A176CBF4B7945D +25A7972AD87D1D32DAA0FE413A0F2EDA659C0EDF91210D5108F42533FCBEAB8D +A7232806C144CB4F0DECE0302B1F9146929CF4771E1A177FAB7B63DB20E3A932 +F2B54E624FE3F0A51884DC704C3003E3D9FA6CEE99A9CC1B1C4658AF08F430E4 +8BDD2353240F7B0191A7CE88B91ECE53CA9B26841DD79B72453F943D98BA39A7 +6F3645C39D7F5549A741A4188568EEF8E9D13F2EE3214A54E5B4264F1042FA23 +F9B0FE1E61689A8F852297FA63D1DEF6312110F248B0AA1F6603768A890D3888 +DADBE06F09751DE1057F94FD121C815677DBC42A2BBE09C4CE29BC139B3EDFD0 +D8FB6C2E749E92C0DCF503B7686CC125462AE3D67F8F5054FEC7B2B518539374 +3ABE5DD85DFE963865E73A494D9C544B1143A726F0FD79F98610D83867BE3572 +8C391928D8970E40C919F80C296F6BE4114199136062196AB934B89039F7BDC0 +B17A02400C19A6A083FA518E17201FC7D3DD0A1F52CDDC3A467A4EFDBFE14551 +11332BDA610A59693F0EFFEC1D331C3E592443D3F87EE175B9CF1ABA233B53DB +BB3AC13C9A534321016FDDE524907B079E76D5F60181F1B68F95EE33EBF73F2A +5C8D6A5BFEEAB01A7C4BDBEA7546B328095793FD36614C2664EF306A7D920DBF +0B8F9F58F66D38C4E1F8FE06C1B60381891314C839482FA62DB63C932740E434 +8AFE140BF3B888AA14C0B7F17D31D020C04329B9F1E1892E19D118E14A908765 +DBF3894454CB371634DB5EC14E2C3E52789210A6452D4EEFDAF70107A8E2BDA1 +A8ED095F941BBC79C2DDA1860FCDE41E8803556412D474A14DE67FB0693CBA9D +6BACCDF8DBCF01F2FBB2CF669170F64AB6155836C52A72A920728E25990EFDFC +61EBBD9F57DBD94D5F0268BEE0ECFA26CA2065A53810874B45D5AC20A5629D39 +C1CA90FAC5B397C95BAB6257E74B7CDAD23E9D1958FCE715E93130B0D5D1ADD5 +B699EF856D95A5D2E26E4DA702D92E7E5B71FFD503D0A53BCFDF6904071FED2A +0073C9CFD0C87B64709CF39703538D5098F94C2516EBD46036E2BB5EDE06A4C4 +1596AB3A41F4FD6C097D34E5D2D4A4912F6775DFF8E326E5482DFE4CA6C99ADB +DECEF8EAD53707F0CB98DEEE74A1471650358892BB013A55576BE67B8497FF16 +89F770559820AC85F9A6D6F43E2A85D842E8C75953D1A3A6F97514E7833C46CD +AD95C8A72C2EAF74988CA68896A44EB30F3232262F1B5B7E771384B7612D1786 +48A82A6F63D0B74866C46BB911787D8066FF444ADAF75985F8FE8F4DDFFD57B5 +4F3043C25E615E167C96AA1CA98D52C27BA2F2012A950C8C4BAE784ADBF31EDD +FB467924A2E0D95EEB27BE25F0CEDA435C0E6DE528A6ECCC3F4ECE798D8F94D4 +AA18BF96F670A0BA6F80B2BBB492A3E4EAB5E7FD27C7705B060B47A88B393AEE +8A8B399AF3C71370CFDD2BA2BA2E1359629156157E9D79F003DDF3AA3E4C6D3D +26BFC25D83866C1838E258C537DA4907C854EE790980F9F99F2D63E93041560F +F672C5D14EF344F36F7052B8F4109B60A81EA0D95F68536E27C690DFAF8510B3 +173A5F6A8E5A6F26A8D9485DEA48BCD30BA42359AA658E2140CF88F651270C1E +906D32BAB28B1321C0DBC9B6B9B3EF2E259FA946E5F6C78C3DEAA9DDC54D87DE +1E6FD317D68AF321916CA79F4B9351DBE5157EBEF7A149ABD26E1CCAEC8AD5FF +933789DAA3CEBC134883C0F79A2798F20A6170F0578D4240DC73E0BDE1165308 +15ABBAD3138E3B55204A86B7872520330C8FBC02FFACADF78537CD4CB4F0F5B3 +D252688763C5F1326F4DA5E3A90CA2C06862E95873F7B1D3DBAB2A53B3AE5F98 +894E1C5B67B1FC1968D881136C36E4C673480AE2722E81532F94B60A87F6CD05 +4F6B7961D961E70EE2DAE5359E11FD76767B7BD61662A226141782EE7F6CE71E +E91B86FDAD39B2D22B33E131CAAB37930742D3DC870431FEE90839F0619F5548 +DB192BAA6B1D2AFCCF59BAE0B2DAB1888BBD8BBEB7A31748330572412281B442 +23107CF7D10ACFED361E37EE52D5D2D02443CCE1ADC18ABB1C6CB45CFDE8AC63 +E7C7C546FC8108EFBCDB69FF2E0F35405C82EF40C3E84D0BF0B18F86E35A4F3D +681FB12AEC44E7A2AA2496BB3C06BE94C6A144C8A5311B8967F4D7853BC8912F +06B6A708148CC5C1D6994673DEDD5491BCD61D33999B062EA120425D51FF2D05 +5F8E0B643CA810AD3C92412C2DCA4504DA8E6BA33FDE235FD7A598DE8C698AC0 +07075337B696A095E76185EE4F669D064699F2D454D64BD356851ED7EE49E4E4 +42E3E4CF8C983CA1A41862BEA1303E0E067B1CB19EA38635DAB03CCD4B7956AC +7B1D48CE1FF4A139648D742A066B2404636D05F329AA3D0142A40A7B3E881FA1 +561FAEBAE56746C400286D16B583ABF794989D69C117C2E9C42737264A54B368 +74F14DC8258CE3296AFB74A272901261CCFC934F7010DF7866C53EC67C9F9000 +5084B7917E3871847DE3A5F2FCC932D157FFD4DD913914C332955ABB822FE267 +6700D2C3C95CBABF70A48613FB379A8591A9D0337F9BF045687CDCA4764A9D80 +65F12AB54AA4C4FCEAD76F668D247FB72383FE9556E0F004B0CC68DADC940B4B +F70FB09944F1402BEDEC905DAC3ADA0BB27D223DF2581E6FDF2151934D4141CA +2390E6D70C7D770976A08B246BE79EB022DE342B665E167828D259AD64E08121 +CBB3391B723B4EB173E0D348E1C4469F444037CF910BC2149C8A31B1027F754A +37368A964650DE3BAD42061D8AA6BC9F2F7630C203A1820849B44E10DD275258 +D7F30A24AF78CDB73F97C0356936E59B3827EAB9F5DF803B0E6F50600E0169EA +75B43B006A04BA1236FBA6764625A76092A72EC45EE941D6CFDE58C639CA40FB +3EAD518A4E59D9825617F01F83B5C5A273BE832D16FF0B53FB607049E5008ED8 +B5F81FE6F1DCCC67454EB8046997E17AE3B06402CE3DEEB006B1E44815DF562A +60422ABF2E08F158F38C1C09846E483F109CC637E76E6CC411634BEB92C387F7 +DBD554B6144BB5C2386D65349A85006A43A592D8AAC29A8C8C58B6A0F17AE1FC +3295445D081A3F5D8962CCB2735EB07CF3684D9D465899909C064998AD7C095F +07AE52EFEB6D40DF6357E9DBAF2F6D3CC976E1099DE48BF025F9E3949BC5149C +D671290928454FF415D47869D7067E3DA0BDEF213FBBEA5FD89AFFE8C8122B5F +0B48EE39D376431877AB7AFB9A53424AE7F9CB7C9C97D1BC556EB01A5B20D998 +F7082304178F8A52B3B81DB09E6F88686CBC8716D203A52DD581141838A9E0F8 +CBBA470C2BA395B27B420B18EDB61EAEC46F58DD6D2E7052ED2931882E36453F +FB964E3CBA8BE1C1693DE1ABDF254344D88440A244CD1BAEFCE6607DD7DAA9AA +02441B0F7F969004F14CB87063D6564E22D5DA5E8CBA30520729F94883462C53 +AB174320BCDA67C8872467DC3782B482F464854FB019F5D55B53526D06FA4168 +0861DE5103106CD02F12F0DDA4F36322BEED5040905DE1EFA6BE04DC4C9FD188 +D7F8620767E3980B7B61243F12953CFB5E4EA05DED8193577271BDAEEE8BBB0D +D76A05A037F8F5D75FEB9FA9C17F442E54A75239274ED9A849E3E644DA4F039D +E44D99963C054957315A7BD5E69D4CE816BB77199EDFE487DF15A01E402D4473 +4EC818B6A50F3E043596EA64357FCFEC28771551D9925CFB0D089B1460E7847D +2E0DE8380CD527A7F5E25A031E61FD034EAF6B6BC206D1286B4D1B121C0586F1 +A5A440DEE14810E641B600C9A244D20F6041A07EA092E9BEFE00DEDCEE98908A +71867B9BB42289AFE0EEF3CC21E05DC22B776C4D7F1DECF035F67879744F91D0 +021BE26B6DA24C69A7A772BCE3482B3E646BE4EA4217DEEF05D7530C5F9506A6 +42A702A44430CF72EFE3FEF60E0A91EED81E373E587926513C7D1A47FE8A27BA +C024571D60A2FF1CC4ED7CEC44755C865286FA6F48BC9DF7F9C0E81BA37615B8 +3B542A0A9DCF36198B10397E1C5F6779447F2046F48AEDD3E86F1A1A251102AA +4F497D98A4FA86FEE598A52487B36BA822C1BA59AA4A6995152B3A914D734565 +AC2D2CC81B40993EBD42BD34022DDAEFC92B0E4BF743DE09885225847B53F3ED +530EBDC367A3A2B2600696EB022FF44DFEB7A2BB4E90121610E7D06B32C0632C +386C6014B053C6B4CC4A00F26A18696A2A6C1090EB2BB3B18118496CDA4EE2B1 +019D975B28756F3EC50191157F577CDE844F7D190C55D8C5160AE6331358192E +DA74D15A1BA614F1BA63940C42574B6DE54379CBF60D18F02DB641DAF8A17A6C +056C3E28ABED93EA2AE7C424B7789F6BFA012A4CC34CD5EC2E844D2E5E72778D +9B6D6A0D89B15712AD11DEAE524A5999400A2DC0C65ECADE18C268DAC7ACCCF4 +F8E5F544147A2A11B4FAAAAEA178D6483487C4736A1BD2F2C22DBC3635CC16BD +38979D46D4699BF8952E3DB5D090B27473E012D065AB6D6C7C23428AC7DBFA9B +F10A8AC376CE3F9D05D0D1C88F5BE46224E715D54C207EE221D845E885538244 +F942C71BDC112FB98D03D01A9599C67385C9C424DE3F69DD9883A493EA33C2E5 +71635CA52835DF3D4002775D14415C50B030FAD1C03D343C226E3AF61D4E733F +772DC9B81F4A5CEA3F85B5CAA2DDCFD3C527BD81EC41BD52CA4F642A7A5AFC74 +6138B60972ACC17C43010AE40EDF9A47B5CC5150933C0C2C2FC6CA83AB959510 +4D77075B5F1AF5A3E0A28D864CBDF54C58427299C15B6C4AC53AD6376767666C +42B13BC3379E1754D7BA6D8C3A50A23DB120229CE943E0F22003B260148A31AE +A8597A4CBCED50AE24FEA958BE75D6DBD3DAC4A2C0F7238251AF5BBABBB34A00 +CB8C8277C8825A515652ED4A301B1193A4BCFE6356B21F1F2E2A4CFD60D45C75 +425B664AEDCC4BB18BDA961AA50F1F0E18B589B56178E3851520EC162F173A2C +AF0C188787C2E8F2576FD01E4E4931696C1BACA0E820376C87668373FD26466E +CA6D8B28F5C3385BE9A0CE8E07860DFF176FCEFBC79BF66C0CFF3ADC72139A7D +47DAD62C8C0E3F52D0BDFDB7ED14A8B864E48C5B1D2EA2BBA6F242EE2CB8607F +8B7178220A8BE7371F0AE9C479FEE95F6897DC85C781083D810E23421A329246 +6EF633AB6283EAE7AA7A174C1FF6CD0BB37E26FC72955A5D322D8F35E264EB11 +A709F1D052AF16DB76E235A6CB1BCE3C004B615D5DFA3253CC8E85766780E6BD +751FD5923A963B64E061011791359AEE1444BF8FDA6B003377507070F176FF48 +A6EF7939A0564E0D5C888AB8C07EAB28617A5CD02290D6196256D522964F96FA +2EDCE558D74D9A0C4B9F0B0617BDF8DFEC16C2055DC75202FE109F4FD626CF8E +EBFABF0DF56019D8301C5F1A4E71E58D0D5348215E2C0901F6599A1656920E01 +3E0053FB05DAF368FC66D4022D97ACFF56BBB573CA9B090C7F29D47D37D52742 +0A666475900F71D4A05A85F031E259FB71EBE7D5ECA61324A27A030F099479A7 +9EB0B3320EC7FD92AE4E954D1FDFD6E5B968F0B95E439702B5BCAA007E210A35 +C1E11EB9AE0DE1182424A7C820557798DA397BA1446AC5698B7D0EDED02569F6 +B10A31B2DC1AAD0BE40EEC099221E6C1CD533F0C82F03BED21A3C7A0F565CBD1 +0FD6CC2785018F0688746D3A83525BB1C0665A864EDE3C94FBE3EC34FBB8FCB0 +249CDB3A1CEAF6E0AC66067E8C6EBF6547A6CE0F5EBBAD24BC8781FB92CEFA4A +675821605C4A84264509E6D0BCCC5F20138D633ACC4E68EE322729CF683E992F +C2AD450B39A460BAC215BF1E733E0E92876CFB3D04744F0F6A1F7C684037BB1C +4D484FBEB1346E872CD828FF5C79DAD00B42344C5213ABF585457FB7CBABD957 +AFEA315DFD4E51F9284C9DD3096DE446725F9F067A8389BD93BD4BFF6408741C +4C9DB3709D627BA1A3695A494E9A4DBF7F1EB411C985D48CBD2FDF4CF8E184B8 +14D8CE3DA016C85465D40C997AD535D26BAF2B077F40DA838F7F76EC4ACAE346 +D97F22070CAF06213608DD8F6111BAD33D3C28C81EDAE6127F8E7EAF5E733D52 +D3D3348B40BB8FD371DDD0DB5E3573567B7BDC4914BECF8F4CA8FB98211171F0 +69C89EFB89AB1ABCDBD275A5F189443E36E13962E5F6F415980BFCFDC6C50716 +6FFCB921A9F49234B73C2FDBEE3C3B6F1DAFAE92B09DCFEF1933C4F518EBFBF0 +F974C96F33BB627EB318496DD7A59CE4883A5FF384B23B969B0425DDE2CC51DD +81C64E2F5C16EFF23D57FB44C1A7D2622F0A751792AAA4C308996E41F65B9060 +DA844C577DCA64A05E6C4E485FED58B913C6C426FD2C5C343D3A4ACA9D6F6F07 +58A71C07A32088C55EAB81D95C7D5568A268A471C8EF1E8484DF4D96EB15F668 +C4DB82F1B1D794C19F16382A43637C879057A7BBB53B972DE9D267C9C655773B +F0A12EABD6D05C5BDC3FE1E94545845623E193E4F56A3EBE58DC009B9A15C69C +05E2F2EB40DBD6BC8E09E5F3E5F86458E230CFF3E9CE83A4E77F09DFC87B469E +51F10A123ABA73E17F31F70B0771E6F8ABD636FBAA2C369F06924D6F83B20DB9 +B411AAF46EF9BA7B2DD4005B3AD1404A21BF4D05B10C869460048770D60A3410 +E96C00B8D7FA49F4A8A0022C4F94F561642B0E28946E564E4B02C10501DC8466 +4B23788F522ED983B25D750978792472B6DEF619440554DADD09DBC96E784F3F +10014E6B33F74C17668E242A1E1006B20B7CAFC91A3263884BF45ABE3BA38708 +A9CC2FC925EAB05F95BD8161F398038A3444BD8654E3E662AF437DE6CB7D52A8 +B1084C7FA3F2DFC7CCCA6277B47938C3DD332AC56CFEFDFE4C0FCC6E31168D96 +AD8E5FE283FE821E8DBB93049D5488E0FC7D8D4874DB8A633FCBDDE3224C586F +FB09289F93FA15361123D770DC815597BCF484804CE3C8CBFF62900BA9A43F69 +24EC53F07CE73D7B75F837D0ABDC0BBF1A29BA8E9B163F2640F933DA4D2CFAD7 +6C779F656C3F4EEED8F91B3796A08A671ACAC7D1544CD8154FBB56CAF56E01CE +03F1F8809C8B2E90248B92721F97F993D212724A72FEFA78C7552FEBCB8EDAA8 +5C3F19BCFEC0C431E9FA8D4821DA1B027174C39BA2A24B3F40E0A33438319E59 +053530A883BEF364CDDC605F5B04ED975C219E37928C65EC02486EFA4754039E +36028E30FB32D7957C4B69E9F6F841B16AF91DCC78E92E7557C85883DEF198BD +FD81A147F3795579E41EA74EC24AC32849658EC83559B3C06946AC35DB7B66D7 +1DDA73D7F7923CDA65D663E983386121A210022D30798955810CD5382B0B3154 +50D8B36A11E08C703821177C23881C61B8F66E2CA20E6891B04A0A07D1FB0039 +6F22B72EB3D682F9B52A2C1F8D4C00F27AC897166395B5A139B6B5A016F5DF42 +8B023DF5BD40B460F0A9D782F5C8A1DF5469C9D08A382BB451E85EC59E82D29D +7C56D684B8F88605315EA91DC40BE895E5979B4A97674E0D52F46C85C49274E5 +8EFB83E6E65EE9EB7986C68ACC3C0691DB874EA9F8D3CE3C16E1DD9FB957D077 +4D4E1178E459DE1CE7A6711CD7C809E8F42FAF5CDDC3DEBC932DB9A52A940B77 +B8E235CD968CFD8BAB3895D43C1D3462F5063A139DE9D0FD9F3CB9C51B283D75 +FF39D785F2D63E2DAFA0B7016CD0AF7122871537E77119D5BCB00508DF14236C +32DC0AEA48B4733F01A11AD7403559D3F50E75D04BC66D54997FD396FB187BD2 +23A012098FE4298045DF319E0BEDC6D43641C7593586EB9EF3B4455737F3B980 +36AF4698997876B1B0F636F15877600F04B85CDA6D8305636D5FF7B81725E4C3 +AB930EACB6375FFC18DD6CBB6DD59D3B8E2362A09A057719FCBAEA3F65423563 +EED4D0652D93F4F42BB26837EC247BE95EEEF63EE83139E69D39D80F51F2680C +2144485D780BAAA6C9D67159E57F28C651F10494764B6BAD73FA7F64F088CBAC +4CBA77E46C4C6465702486769EDA2651D88ED6287E4B591E220533C29AD97973 +E9B972978D72B4FEBB4BAE1A7F8864102AE595BE421B2004E43A13B020647EAC +236287F3F8041BF758B646B59C14CF141FE4640D6C8580DEA0FCE087F09C82B4 +E52A75A1B0E583C7E007D35C732DFEAC7A9F57573F312EC321A3E609413F5972 +4F3C0A4657BE7F3C9E14B2DE1198AF6A331FE9203363BECE8CBECF5954A632F5 +18DC0F96B838EB0A98FCE9A8996582FA3DFB273006E6E0810786037A5EBB30B5 +0254E661FED5B7F452655D3F0C0DDDDA14CCB846BA2F4E647FB6B018D40EE813 +4C24FF2B2FC7EB58E4B3DC406DA280ED7EC5FDF9FE4DDAE394946AA3B3538F5A +FF4947CADF6CB6FB7C987A68B506F965BD1374AEFC89907C3EBA3D00E896E1A5 +894300E9C51E47F88E893E57E9CA3D36FB4894062B2DA8B105A77238E88A02DE +42A97745115D05022513E3D42AEE594631C10482E384D5BFA13B47C4ADA17B27 +2DB771A103AD698F856563F79E53E014578C3728EF7F772E5DB2D17DB524664C +CE28F99C8D61850410CB5AC70EA090D54E14CCD672D15BB9A2C4471FF0B40DB3 +EAE8423A7AE3C0BCB70A561E712D8D3AE3FDB4B00D123B648AE3E6333174C7C6 +AA5760000F06B7EA8A62807BF4256F54080F0276628E73110A8C8AC4E5B011D7 +DC84D2C11DBA814CFEB0F7C37E7A7AEDD176D1F2EE20DBE6EF0612FD7A065B49 +F0420CC2040E2A1AF9217A7B73C30D1533BC812C76CB76B273AC77463F871C13 +66F6F37DF79883AF48CDF299F917AF4597A88211D3311DB9249706C07899F9F7 +2F187E8BBB94F28920D71E14A452DCFD03E37C81701BE96FA2F3D4FF718DC489 +FAE3AA609F3B149CA9E2EBD5A88DA6EA3045E36A8D869A3F99B1305846181FF4 +C792A464D4A8DE6F080E9B0802F9CC3DC2FA4E0C0363306632FAF2FA8D411424 +962978BBB331DC3A6CC3DA7D80874A833CB79DE9CD3CD7C32C9540887B0F6E49 +F4301AFE3AB3EB713238A2864AC93DB7061052417C42629D659FAE7278F1D2F1 +EC5A43989623C8783834F68D35C61FC20291D4341FF02C7B3EE154A0B77F5517 +C36BB72B05C6F791C3648C6E8673B2C620F37A90C5AC285BE5A611AA6BACF6EC +4CC1A500FA661ED3FFE941C5044D76F86F91A72B7E85F4BDA597EE59FB807B3A +A3CE4565E3D91D3B564A500E14CDDBAFD653F56CA2C87D36635C9157256E6E89 +9CEB324DE229ECAF0D6BAA50EE4BB583BF38807757321FE751E1F8A9A637C08B +0EF8F42009799AF6EEE47F418F9D0F5DE5770C78B7D3D6CA818DCEC26C20744C +A324DDA182A26BC0EE0AA02990D997E072260EF0739D2611CB6FF940D6CA69B8 +3CAC94A04CCA1E28A962951F96BAD0EC754E92EA679C8C6AF8EF5FA070A553DA +3C6F32A751C978FCA805010D670193611BA4539E0BAFDECC5664088C8EB23BED +C4B885807260BF1CEEEFAA221D31C329BDDF652DB922775310B4AF5701D6DAE7 +35DBF12FA1EA +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFSX1440 +%!FontType1-1.0: SFSX1440 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecsx1440, tcsx1440, lasx1440, lbsx1440, lcsx1440, rxsx1440. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Sans Serif Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFSX1440 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-238 -326 1844 909}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E4875AA6B96583CD501F89BC45C7597DCEBA1A1F483DCE +2DB867DD3051E0094CE179669BB45906D49993093E9123E74E0D043E05F96989 +CC79F8E4E74DD5A67862742C72457F6B5D088128F616F631DB84C5D2123834AD +432B6A6A8502E88B914A17C1587249B79BDCDD0C9CB28C6FFCC7FB63A1106533 +660D6C8FA5F7E6B6E8FCADEE66250C2F351A6CEABBC35A85036C4BEA894BCBA5 +84A1031C4F978A3A659C971AA5E6C9186D708668A6F1984D8D117CB19F915FFF +5A6D2BB3A989EA46D4AB6AF86B08081D62B7293B9A1FCBC4C73B53B218267790 +C6C0FBE6690390FF903324C3A149E9309BC05BE5DC9322E80183334828911DE0 +8092D16A64609486ACE95F119CFC31CEEE3EE3BD855E47CB5DEB829BDB29AB66 +75249FCA982AB635B1D9792440525B4B703A13F5C7B2BD09650EB121302FCA78 +BD602E9D3FD72CBE619A8C867263508420DD9CE391A7581C5068B3F9E493C108 +0681D51B4CC140738461DF0A9C8D2EEAB46DF8C05ECD81940D3ED562AAD12EAA +2361AD8639791EEC173E59B9327EA2374DCA1BD956BE227CC92BA07883FD9F52 +D7F3C89F481CE4819DADF2E26AFFE6C22F0C38540F8CE37992C8CA844A4512FF +1A74F991A47A1B7A78B196DC1D21CF5E6FC299C77C839276A2E4E07B1AAA5738 +5EF6AAB4ADD928447FC809D2BC1EFF6083C5225158A3D1660E4B6C0F87894A46 +A176F8A3B9CCE6079E86E030BF3501C7A1CA823CCE5FCFD63B8A00B57F53FEAB +D5FC0C2686C523C36EE25BF9C6CB8AB40669539AB4B993DA081DC874DE471D42 +90737DF90924B9FD409CBCC5E5CB3C011091BF6465478D229A5F552E934291CD +EFD4DA7117B713FCD71B2B06D74C395CC22AFF3CA1FCBADB2BBAEF975982A6E2 +5960467011A1D594F9FDD3FF3858F972B851DBA214DE190F01064DFEA55B7060 +2F800098F033DCA8C0AF192EEC859AF540E34A0FA4E165327B650765241CCE42 +7E5F74383CC3675F4646E8733D4F8EA2E408C716213F9F08DFC1EAEEF4CC55BB +3ABB0E37660C7C103D4180BC983E89208FC1BFD2BAFE8EA3EF4E146BCC8318BF +47DE3172A31E9E8B0E8F03ADCD629A14B52E04FC8B4643E66382BC746E9553F4 +19166351984A761286C76F7AA1C9E4F23D9A3AF81755E9BDA7AC96BED1FAC9F9 +14BAE5B50D9F5694B9FF40F5D3FF17B2EA60706EC99397317EA01A0FC4D4096A +D91EB7D69FBE1AB8EF7CDD17171F58A29B01CABC93B16D094B24192B68A0635F +4316556ACEFBEAAF9B227E34D7A56746D45FA8187A2DEBA3156DA6CA3170C9C7 +F1EF499A49D3700C0C42BB0FFA29CA883B9D53FE0CE683DD110B7F3B7AB774BF +D9263A93FF5A9AA6A2B1E82D867C59BCF7E9E51250F22B82D1514799BDDC64D3 +9287E3B96B8C7AE2EF0063D45950A8318C563F6F1AEA9D80FCE3AF0318E18551 +62B16F7CBAAFCFE06D02310CC7DB8121F5EDA252F0C02D7AB1522E6BD3E974A5 +78A19B53E278CB49335354FF7951BF6F5268DD7B41DF8BA4B49EF22CA8F00F15 +435E86F13E92BEC0E2273ABF9216E7F0C41AEEDF1DA499879B65A3E895FECACD +A7EB54BFFC1C0AB2E67E47408D4E49D34625C2311705AC33ADF940357F5586F1 +9057455E4A937B022A51076B259A086FD97C48146B5F31ED88E8FA10C9A44466 +E5712D05E49BB9FB80B3F7C78D7B4883382BE76889E53BCA1C994DE768C869B0 +BBEF2876075B3BE8F897E394F30CAAD0C5B7E8792EA8379C0472558A4E9C3C36 +3BA71BCC4E6AF1E6140EE2DA127DE700092DC3A74B9A9897DEB4DE3F05BB25C1 +44079A9E06D1DBA3FF0760CA556A2ADCC9AB61F3B973F45C9D3855CC7BBDB851 +C58F62534603D41E1E6E7DC11B95954B10C7D3E55F65BF2AEFBC3EAC0027AE67 +892C8CD4AA40845504815DCA5268A109DDE6B2B61F652CCB3B4EEAFDBA2E917E +0AAECB6F86A94270374D5EFEC8F31FE0116E502E847F9B9DEFAB82D300511B05 +C15FC42AC1EEB4EF82F3B712D270EA0209E3747D35FB85DA72851521BD7422E8 +1203C3B278571FE8FD2B299B7BCC88580EA5EC51A2326F5AAAD1AC5E70666B54 +2833087318B006BF97608FAF943F41B7B6C7F29214E8FCF67C6079E9977A7492 +4BBF2D2CDF44BE33631D844077F9864701EED61439B1AC231B9B33B185AF2472 +E5C865FAADFA4BF4A7D98557752B889A8010DE1F1D17CAF9A82C123A3E4A0D08 +987AA9E2BBAFD0D8100BB504BB403076FF7EB5A12317B14CC935E946996586C7 +9196F03715FC56EEA40EC1CCA06562741A5CFBC55DE441898E45D1F7794D15C0 +D48633E53898AF2AA3BA5C9AD2EF62FC194C190E6C42C717E2CA7EF3899AFA13 +F3F8B9CCC4FF52C3A50A72B65191F4E18C6FBE4C4CCC091ADC59DF7A80864FC3 +8C7C454AC44C6C7B3565DEED0E399161391BFF1C0B7B16727AE57E27A498E042 +6154542F68387765931C7CBBC723BD548AD02CB1112F643871AE4499BC639FDB +6CD58D5BDA3E3E06D6A8F1697B4F4B5763E628A466731CE0DC7354FBB41990B8 +FB28D578FAD4737CF1545014C1FE0A8B44CE853169AAB3A1EA3C6D67154E4075 +9A1C96A427B9A0C5B0D58828F2FBE07EF0C119B80A5EC12843FA3190CDB55401 +49643F2111724EB98D546FFBBC75924ADB7143EBD6C7AA022A4EB1FDD7B49FA3 +6947816955434F53FC80159929B6E30B5C9F39BF447532E1B7065C2ACEEABE81 +471E0F410914E222BB83A1DCB885B56B4FCA7625C148ECF600C66F259F69A60D +949549315DD1569599908C8E318B6EBD769D357C79A3D357087F21DE5E2DDEBD +AD2B8F54C5E48866C1D59C82FD020879779C83CF9529A2BAC4C2F669ED0788C6 +5B1E77444A4707C66F6BEB664D1BD52C98ABB00474EA53D8C6AB3CE9F6F9DCF8 +1BA8EA8CD328FE30CE2B1A719896A75BBD41CBE10E0EAF02E566E27F696B4487 +C455781AADCDFDB5C095AF34F05E56255C163BD42C225EAF9E732EA09085779E +7BD2B73C727717FD614176E747B6ECD5E00DF6B04155DA9AD78EBCEE63C42EF2 +EFE46B72E76BCCD64AA17685367B17909562FDA39C393EA53D7E80F4B04F5FDA +21D1ED5B071DB77917D7921C7DD7A519D30FF842307CFD5E5B975E03AB75D0A2 +0A401F96F39B1D4CDCCDC7ECB988B718392FA8AA8828D76BB932BB737CFC7257 +2C34A8619F1A89AD23AC73C6B4ADF03E806358F2AC407524F5CCBE1943F3F102 +F3DA5D8A44FF649A07A68C2622BA3AFB840E71851BB161C9BCA50E8DCED4CD6B +1FAF6D70C0C20680E64C3EF29948AA8B13EA01414CF5FE4DC673E6566CDF47CB +D9EBB636DE6E6E0A5180B4A7D80DA9C5ED6F531625A798AE9FAB9FB1AC4AAF1F +89E7AFA1387E31A317916637E8D4019B70F4F06B927490D0ED69BD75AF5D2145 +1DB0EA2EC41ED9BF94F009F11B726EFA5AF583FC660BE940FB823AA0D0E221A0 +75F130F1F1D20303F6C4CF19F51A76E58BDAA87993D2CDE4206A750D8F1573C5 +943868279FA9CDD72ACA830A53134D0420A61F6AA0C1F7D36D1F00F7256882BB +71ECB356AA702CEAD7AF917759B46CF1FA720577F4704989828E0186EDC425BB +6F6B41B8A90BEB75D3DCCEC00B6E8B3217B1B6F41D44213784CE7E3FAEEF7EAA +E6531FC0B7AA70EFF42454456C6920F88918B0723C63BE265DFD1A3C384BBCDA +A0C6FC0C196546E2EE131948043980C187EBE100DA801AA118CBF676C4E6A1C2 +F027C74B799CB048EFA1406B6AD6AE0D448ECACE861A12BC360B2A5CA59C81AD +F12424004DD7E0626208D9654036A5AA76BFFB1C07D0AADE6C3BAAD47E59BD78 +5ED53DEF1DCD2FC7B5364B225DF289B2E03562C91747F8D7772A35BC27D2A9C4 +6C123AE99BFA2ECE796FC2022F14869D8EA5B278BB5FF7B27D7A4F34D46A099C +8F789B1218D9F88CF847BB44E0D9E21685A6F8C724D8D515C07A3440F40C4B2C +321A82F1DF1119BE207736AE5ACF345CC58A28F06FA3C689BA1CCA966BAEAF52 +1BC5100E13D8B191298B1DE626D4934A4B5901DD5F0A7C80CEF22DC62C985C40 +A1E16BDA39B955357C19FECFA1752680AA9059022949EAAF4E98C3FF5EBFBDB9 +21F493D7BDFACCEBF32AF67C872D90478F1651F6189E1F49D80C6C5352B54299 +0B715599F013B776CA3C006A2F6EF8428E27DB4E076370A2D35A4DBDBB26EDB0 +468104D02E4029F97B0F8E59055A7A457FEC6C9A25BF884CB1E0B60DCCBA6F56 +FF9135CC8D7625F91FE8A9C0C96C2B2FF23E464EEA52BAC00B76E98DB00ECB14 +5C9CACB70D4C06637A4E572EABA0523994401EADBA2A880F4799EC58BD6D38B7 +A59497EB2766A7B9144A70B36A8753CAFEAA66DB00EB4AC62F92DAAAC0286D07 +B7877B352D5C29DDEFAFC5893F582DC39C62C3854E358D3EED44A41A2D1CFBD3 +130A37E4DD3EEC865B50300F7E06625B5BCF958AE2DDEDF0B2C6D55FA9C1CC2E +41FE06D485490AFFE65EB2FADB7A25F042D9481342EB3067677B197D1D3AAC4E +67F4DF37EE4AA47494C671BCB09EAE285924E18F072234084BC8DA16A39742BA +9701B9A34834BCFD5DA14F600C817D1F9265824EAE827500CCB8AAB0D3C2038E +926046C6034B1E91E61708B78479C1CC80F69B236C7487977DEA0C5F34CF5787 +E3E4CB8892C31D142DC70233E2489DA4CE4349CB6159EA8D0734B0F3B21784E1 +4E5A17FF62600486A5951416B89ED98B38920DEF7D7BD69DAB7F864B2FB2AC32 +111405CCE4069B1FCA4C974ABE11B77F7D00AD989DF67305D3A252824EE8800A +B00ACB5C756DF843626D9DBBACA9EA0C5E172238575D0741F0033B2E75C88B95 +C1E09C6CDC28176D30DDDD0AEB33D9813135ADB098022E7B84D9CE71BFFCE11A +64CD2458C98E6D398B1CACFFCDE63ABE71DA94055EA0E53E52CFDEE7B2B58E3F +B470889261D094CE20E3DA8EAEB5805C2D401002E6F19709D2A7FD03E02542CD +6C109DBB89EE3AC083152456D1AA41DD7643D81A0C28964BB1F9DA0EE178E626 +6B7FD342065B20BA742006BAC7BB3E8BB6645971E03D090BD48F090112FDD1FE +242F4AF64EC93246328B6CD4FF7F5D7A7F6993E3480505679AE42B46399022CF +E1CA7E173E513BD9AC1D03F991C46036272D00B80E3418BD07615DBB17B9AB10 +82BC6ED4A7550525B75CB9C2840ADA7B813A7AE723009FCDC36C08842C206AA5 +DE0CF8FC5A432C35EB42EC5D78B15970655AFC4F755545FC9074E25114E7AB99 +E2505AC7F18FAEAC82D23C32B3EC010E730CC663CD9BDDEE78D5C9A2E3BD77C3 +0C8C026D74272B74CA014785CBF6AE954334D083A389BF54C4C75384012A4233 +A5CBD2C2A82A7BECAFE77BEF9A926F650984C4328ACE4B926049D78B436D7B71 +E52E4114AA63290F10C989EFF874FCCC0BDAD54F7827FA91ED654B7644849C7E +91994C1D1D0F45197C7C3BD36C3949BF0DBE4AB6CC3CE36DB461FB6C3A542B7B +3C9DA3019F9066FD5AF41A8DB91E614257E70F19D908FC45FFDAD06F8E219B53 +C2AF37DF0CBD61A8D5F5BFFCA8CAD6BD2A9357D932EBF84C8566114B0A75D487 +7A111ABC356F5C41DF1187E86BE4501C0E3AB6F56717491392E10A8AB928797A +8DD688A7CAD4B56CC92A026B398DE4661BE65734E1D7D880B807B5830AA855A8 +97B28DFC782B31FC9C667B812795D697B2F6DA24C856DD5D7F1A8BF78F9F0AB6 +754CC6047783E14FC130E961D961AA51D66EF6A627DC0F82C3D4C941B79A99A1 +24214443BD1958F5AD4496BF31686649E4847670B1EEC381AA641C2033DB4D5D +67DD7EA54C5BD9600B67A34504D2A4AF2D9B291FCD78D7573C8854C4893ED2B9 +9D92B86DA67B6A4010A6691BD4B36CDD0AD143A78C9D3DF14C6A7707C4010784 +B087E8640851B46F37163C320BB247602DFEF6A2B2E116FD46125274500A0100 +F19786FB615F955DB0409F2CB02C0A306EDEFE323766FC6E759F410AB9EE8E65 +092A2388B652802A64B2E1F007F8073C8922C7982AE9B8EBC8C27112BDDF5729 +A917C05BDA8D09D7B189A5736DC6F7C6B62B4D31605C39D7F66D0C4D01EAFEC3 +CCBBD7A84805F1F7CFDEF2F52928CA8DA46FA45890FEBA0F57004F17C90B1F92 +830AC8B1BCD420071A52D053DFF1B296936DAE0D21C4B4E54582AB68F4DD591F +86676764AEC8DA20F739EF1B49B5246BE0B0450FAA7CB9B704B8BCDBC1AC89AB +35670B842013D437180256EC2B520F0D38BE7093B5DE28C73FDDDBA701141598 +FF48A15074CB1BEA0FA116002CA02CAE79CE7FD959ADA65C98E13907BB59D8E5 +90A22DE8C0E38291F9D57A4CD543DE0CAC3989BCBFB94A6668332AEF1116EE3E +168C9B4AFBC3A5F7D86AF87683FB03DC7276434B5F96CA7FBCED895EAC761B5D +1FEDB26731D14B305E56E5ECF3043AC351B7BE69D2B6F60325544E81CAC4FF36 +DCB44124FF3513EBCA21D87636D91F8BE89145B35B083E0F5E94C83DB6EC59DF +617C1127B56A27E4435BDCD0E82A3839DD09671C791CEA67F5A9C6A20ABC6032 +C6DE147110FB59EE6661C4DE764150D44EA7F93B8F99EC6499968C61F1408415 +559398CB2BCDDCC7C653A2BB34EF7125EF44EE5C807006A24CDCCF3B65E6DCC5 +E622993FCF12ACC6AB410EAB17CFBEA5A18CD72403CAA45CD459AE585F9E9726 +D6430DB4A024222D413286C48E91A29F2668006FC1AB1434BE0F4B8F83A4729F +5E5B6A8BF04CFFDC5659ED8D4704B07FF1CD17B89D5F13B4126192FE536E191E +424D1382C860FD09E4C1B5EF7BF48FFD750764D49AECF0C1B9B9D8755ED03697 +D91DD9CBEE48B3F4FEC235AF963BAD34B30C10521D38D3676C5A412C337E4C19 +C70F7BCAF841ACC7CE180934171169D8669FFD2F1A9AA23CFF5B188CB9AE1435 +72154E8D96739B2B395C1E0F24AA5DB7C42DF6268C3F2FC1150C71BBAE43D1D3 +B3A4201D3845CF9EDF9644EB7AE6D69AC4F6FC227AA640A60E91892EB65EA59A +BA16E5E09932ECDCAFBD5F51D1BF88545B8884A9C99F97047A0CF7F875C5AF50 +1BA426E2818E9B48A022014AD2AAB9AAF8D83D3F8B03A7FA9C09FCFA0B3D2BA9 +BCFC6E40DC39A24FD0F3193706C022C43A0D44B7B44A0CAF50371D6FA1BA43AC +68ABC895597A452DA716B05A648A4D301DDA2FB93B10EDC7B2ECF6C2B3FB6201 +BE386B8A0F4A86724938F45332458704D1E9D8CD6AE1DE2167353761C3CC2421 +49AE7204FC8E2323C873222A626FBA2FB4B0EF1C43CF7E8966DFFC59E9C805A4 +94EFA8AA975ED7E11BD704D6E0C41D40D27BF68B4D60988C29BC96128F689842 +FE797BA444A18A439C1EC69C56A987D9CC0AEA383AF1080F74126BF5B5F0F338 +0545252B0FCCDE182689B16CD77F36A5AA76BFFB1C07D332CE9AB586869DBF47 +0532E692C31077ACDF4EAD247631B54B2B1ACF48C2215C120CDF6A093BF66325 +9FD085D61D3597D2B5C1C4069B6DF00C90AAEFD8C121444EE372BA55DBCF4EF7 +1CF5AA3B3CE67AB71E903C1FBA5030E0502F435F4E7D4EF723CDA26982679A2C +1CE99945C94F8EB830C6DE57F0218E1DC8EDE07493C9211DCED20F02C44D6EBD +4FF019F15175E6B614E7E8D90EDACEC433E817DE8E8E30AF271A6DE156D38BE5 +D5DE2FD3AA65CA9A528A932AF59C7299AF294FAE1C86B99440E54875C03E466A +E803B4A63413C403D519F490616284870290E8B2551086B8F5743BA6B7698121 +E9C431EED1EA6B47C7CB0D5BF28CFC6DCC07D024B750E0678FEE26D3502D6A23 +A30E6E36968C8D3BDB65CBD13DAC15700192CB7546B03B3C4B0A5E0A104ECAA5 +46BD7D32779187E429B1F3481C1B3385A0EBB098CF446EEE451AE753BD9A751F +6137DFEA833004F46894758872144B9A7176582C49B933DB03DDFF8E5F3C8C14 +0E0FB547DA7547F7C326962724F951371E8CF4BD9CE0797EE3EF415F3BE8D71B +3665EC95FC46247351AAB708081340EF52FF956E5992A748BA7E5F5352E91955 +BE0BFEE5BC7274D2CD151B1EA9E7010EDEFB358181D99026877FDFE438990E66 +EFAF03BDDC6D1C61880F37D556455F2EE0482C8288927CEE6C666631AE17DB4D +791F82A5C3E28534AA6784E649A8A08C578549FF72CA62E28906F1CA8F558A25 +38270A0BA4B68C91EB827FA3329C64A5E1664AEB24C969642F55C1741CCF688B +F21BF963A15B1C08E23C303CA49A5C39E2EEB55E743FAA61D49324D5E34FB564 +F13B17C43F24A890B95874926BE291A76563C3F47A5163872D62E87DC9CE8D63 +485C2587937E57AC32605F71CC61329AF01A263FB19A11FD16499C1DDA818503 +BC9A98202A2B376221F5E6446884610658CB946F642E2FF1A57990729C0F4C62 +A28325C15AABCF3E57AAD991E624AB1C041CAD30E6D2416965AA09228A89E064 +5F58D6B9FAF124465C1E4AACFC12A743C7124647E9FF3F5E364D960F714FC31B +8B27120FC49BDC20454E7C79565507AB1C2EF74EA01501E4F42510852274E519 +5EA582B589C21F85FF992895773FE97BC699291604A32A746466C2D0C37F234C +195A50ADCBBD40CAFB8EDEFA7D9B8BB80BD5DBF2BA7652756B218F5E69A2BE9F +81F9133829CF75DF156493D65C0DFE3D104403B4F469068B96F5CFE26D2F3965 +38ABC80783A7BEF609DC63955606F9BF790EA9B56459BEE6955D3E48A1DECDC9 +D77F5862007305BB91A865A736122CB9E9CF0911E6D632AB16BF1E306AAAE3A3 +3ABE644367E250E664EEC08D5E63D00B2BA678919505F158B16887C65650CD3B +01E340219B85F873535E9AA8D13F6A0D3E16BF2795939D9BEE749DE172052D4F +8392709D5F42065E8409F2285306D4C04ED9C1F518CE1235112E1D1325EF3429 +6DDEF61B2C9ECB377F797AA2CA5C499E29AEB7935758C008E35FAA43757866ED +2CAB51089E2AF14F8CDE080D9F71997BBD9F88E7581064DCD3DB3421F78DF2CC +DDA1DA5931F895D28AD5F5FE699F33AB65D58C7AF3094DF38DE6DF1CFFC9A924 +910FA08BD4EAC0F9BBEE2351CBDAFA7F109DBB9C39657B11080A1FAF7638A5CC +4A9C3997CB2D07E5999E8DBB936CD5BF32476CC1621229B40BCD4613351B2EC0 +3DD3C2D3C14D6BC2076434721453B47CF2CFC3892E2E5BA4BB7D31EFCD46C938 +3B3FD3D3A1341D47248CC76B930E62BC3997BAF93AB2E3D8E3B90EAFA2C2BD60 +13F1532898CDA3AD586242A955D68A530698BEA444535F240FAC55D6D1524F13 +2A4B8267A3D3457A645359A122A1C767537CFC73FC184EC178165698468C4531 +5DBE3D9CB3B4350087347ED5151C200C4A956DF88054EB2EEBD05519987286DC +CAB9C90FF2F0B5AA7A1E4AC529026DBC56EEAA9623B8674C831EAD31DA8D1CDB +C4D20F3F418BA41793954D9B47F2802F0423903E921B80696C58E33011F1F3CC +94F47A0305AA8E5986E33397921F397BC945DA45C49E7382EDC9D92F5F859F71 +5939E3538A92472BDFAD334ABFC04378F21B2C05CB5E77EB0A50B6569D04764A +0D4D62F3D99F8E1916F8F80D819705F9A225FB013F65382B549EA4606DE42600 +917914FFCF55BA91FBED2B28C6D74015EF141E70B23F20E5D851282E256A9881 +1180A02212B53F77651229E66C594784DBA4A6179955474A63A4A0213F3D420B +4B56C7F7F1E75E5B9143947896F60E6AA9DC216153D7D575DFC6C57A94F66915 +3BD85DEB50C7841E2B0A93CD1A149B85ED9DBC80FDE4CC5DECC43D83F2E81488 +637ED5C6424C6D08B68591B6DDEAAABAC236426540D5A2602E67FDF46DF8B41B +C85059C38261BB77AFE134F6CB8D65C7D3C4ECC8B1AE7A7C37172E936C1F0CDA +226142B47EBE6BD5E3C4F6E46093FF3ED771057FCB6AB1CC9D10E15DD073D47B +D342DFBAFB13C32C4E920FEC8040C7F4CDA2F1671CA4665B28B641A6EE6B169D +9E0244CC4EE54FC1139C004DBE82B868F3DB57246C43B5120696075D04F2E705 +8E58D22A85F236235CA322A2E3B359ED8579B69CBD29CE58364B4DF1F2C11811 +9B191D70714B696DD9032D2CBB6BD0B21212E70DA9E5A25F4A8D50BBA2179A8D +9F5BA5444C5C0B75368DBCBE50BD8B4B212F3D633FBC922B4EA715800AD9A9B7 +AF56296934D03D00B46FBD6FAA52EBF142E336C97474DF14EAF1D619A49399D3 +91E7DD2A15F01E9158D98748B47F563B1BC307D28F95F43B4B669AE1CDDF3664 +B9A39ACC72FF67FFA5F6BFF67B8810E2D7051C4AA45D2F0BFC9BCBF1326F72FA +96995130D80A8AF5EC9E2780648E57B78EA48C197EB28834FDDBC8621128B1FC +8AE2F55FCEB8F52E62C19A0D6311293EC4E5D7CD64D21A960046D971A023FA43 +049B8262B8506BF5C66198A57AC0CEA9F5A97AD03BE96089B8106352A47FA3CB +BF990F565161A40FF157E88C15584BC7A6769C6E3F9BC9C74EE0BC48854DF648 +EF2A0C6D012FFBFCE0D07627D2E2F850A2EA72787B5860A667EF2788E40547FA +61ABF9A72CA2D9FA10A75ADEE7075BAC42E39E400A6F1D786F3D459D60E469E9 +EEB1E03ADF4E6D09817D68201063B1E386E6A2738D2A61D154970741CD0FA179 +06BDB310233895B9C85E181CA73E1426EEF27D7ED4CF003A6A09AD9E8EFF27F4 +EF22BE7104F3A7381C5F099A78F5F24584E62034C4DA961E33C4F153BF984153 +00F5C91F25A275F18D5D97E9EFF2F4CC8C28E8A01926CFB13B4EF23956B13DFD +AE3E7934AB8E09F6E413D028AEB7212D5D6A8113EDEE007C357491BFBA0CAB50 +52FAF67CA679CF55088ABBF7D469C92C458EB38713EB756E0F6A404F10C953D2 +598481E728F4F4BBB7CDC021620E25A0732B430A78D3D5F2ECA92F53611145CE +AEE80B1BD4AE6095103F14487BE34E9EF519FB385560A344912858B901456855 +C9C93474AFDFF2E72C5CCF4D5858D6836EB69CAD543DA05B2C571E00E865016E +D8B7510097FA31399CD29F06B199C28ED9C017E0305A0836C5C6905B676BB36D +7B4DC6C862EE74202F1E91713E0AB31CBFBD37FCE4B7FC8253F1EFFBD47454FB +0993A379B085A88D66917C35FC61064E5449B4EDEAFD5A5D662C074B24FDCC85 +8BC7B4D1BD46DBD674398013F10D0BFB98869AEE53D2725535B89BF9C147E196 +84CE0778035C26D33B149C78E7CE400B5E3D3F7633D361A34D559C461294AEAA +62BD70724BAC98E91E84D9573C7CB18BAC59F6EDA4DDC706EC5E35EB78B9B58C +9976AD3F388B2FFC563024205C9F17936DF7AD0131F3E9BEC0311923CAB620C1 +D2DBCA3393F93062070CE4AEAB1E4868B8F43F3AA203CAEC81760F2D157FFD05 +B86EEFD28FBBDF6F85C9F2017582AE4B0CD3C1CDE2A8FA0A82F8B05C2305E732 +25831344647581D0E9927B7F75BC0482995C51E6BBBC26A804C5DB73D109CA9B +47C4333D01356631B3AF9B5A61D32621D5FAE49B3D8B81CB02A1A59BEE9E8D00 +B34E66ACE4C4952FBA2363B84FB5A158927519796A9B6781C456F2D5CB202B1E +ACC99FDBEE7C4F687DB772CE186A705DE23C3762D2DD8BBC9FD02B81D4EDFB25 +80C019563C6909B64C934913300B0CE872FB1C4532BD1A51EF7C80370B02160E +9FF9A0F2A3BDC2E7CBCB60046602A6FD1FD7801BD8D840A996D089509DFFBE19 +A030C08194040BABF945389B6CFA3CC38EFAED9650AD22E0044A5C727D1459BC +80B181186B9AFC30B317EB57BB11BA3E3907187B99FAD95C13D4E1A8763425CB +AEEB79A6BEBA3DE2710A39D16C95A803F8F74F2567F34108C994BD8D4CE6231F +B6AA4DB98BAA21698725FFA0C0D33C519DEB202AF53BAAA3C567D2F6C456D174 +526B7D79AF990E5138ECE06B6836A688BD4AD18D94622DD5DA5CFA772C2D38E1 +CE50083A506F5701437720F665C4FBE496F4D5A6600B8BB289F2F0073F9CFCB7 +8C96D4702123DAD91BCC4C30DF26D99F635B9270619ACA6A7438C0479276A7A1 +0F1A566343EC7B1664E276D5FBFB521D7D4B3FC7A898F2428687FB4928F7E3FC +16E607D9B705983E54BBC54FA3EAD31B22DE1D52712B846F6C8279B376F6244A +A161AE4F201B00F833E3C5FEEA9D9BF92A475EA07450F9C7257D06DC27B6BD4A +888FDB45C3BAC7C86CEDB985137427BB9109CEEFD2232849FAB1495E09CF2D6B +613E026FE4CF05059505C8D1E6E8301F2578F812E5287CCB97D9293D62238FAD +EE61D744F4268D4C9B6DCE7D296F8B5636850799054BAFB9A41F708E9E60F522 +2847621C7E91B5DFA9C154AD9EB7555A950A03F21AECC662029BA74910DDB906 +7CE215B0D55DDB6A3EA4869391BCBBF1719E4DEB9BBFA47D8EAF57304FD5004A +51F230ABC1DCD0BFC4E0DC828CCDF1472AB92799574BF44342EE7D5759AC12B7 +A387AE15FD656E49BFC153CE164D50C910BFAF032AFE78155BFB319F17E89E4C +DAA34E0E2BF413AFF70802AC160373A22316553E6D56FA4F21287FAEA2FB22AD +DC2F4941797A68C29A9E5BDFFDC394A6DD05090D2AD27ABA11A39D28E56B3360 +EFF66493A56A48744127792BDEB3A787ABE9DD20C62F79E11393161066F558EA +39F4632321E3965141A0C01B50442E1D185BC7B7EB89B0BE25E15707CFA72D6D +2A1646F584410A54FC2AC0D934D3C21252001FB9FF6C56D848F46BE50307D45E +46C99A54D263BFC99EF7C10ADE013175972144CC946DE8CD4ACDC0E0FC2229AE +C256B436D832DAFDF398663B091C30D2DBB3B7E6F84F650C5C2D856A65B9674A +F3940B6D6F042BB6ED817F2AF7191B77C84F0C3806759B3EB47C4F6B73CC7E21 +368C621D7E0C901294D960A5E3FB1F54474C2C7FB912815B3B5EE1C6164D3A86 +9CE5E2416B26E9985F09DE8EC180522A90FBB1D642B1057252845CE7BDA706F1 +22CD157327FAE5C7F061D45906A25569A5E7F2FDA0209B22156BCC8318BF47DE +3172A31E9E8B0E8A1BD16DF75FF157421707C253C617FB7A662B74D06C2F2A98 +D23918AE172C8BF995D43CBD6BFC1F44173F1ED864FEF722A5E8E190BA9B409A +61AAF8CB4A03B6854499D9E978868179539C9597A9AEEF316456E0B52BF90555 +231F58C3DE65812E9B88BD99749F2EF94AF5C3776B489F6DAE6828A7612CD304 +E2E860631F6E0578661B1E9E62B48838A442E796E115B296FE956FBDAD570B74 +4A461B5F14AF7100A0216C9832DCE7E31B732D761B67600D71F35B40D28B4E37 +0710D0A4923CBDE12C3AA0A6F26EF32D9051CEFAF9DAD18BE66484E71DD0D25C +CDEBDA5502C062206BD453B4F32519C04BCBBEC52025FC99CBF5AC6E926C7DD0 +88795C8B791E032CA6E0258504B23BB24497218073DA6929CD8D0028621E09E8 +64BD84F97CAF3E27FF16727EA0F820DFF47A24E40EB93EBADFB599ABB0954243 +E49E2B928B829E2E49EF42C767A48F30AE04C7EE90FE212AE5B320938D799EFE +E232D419267EE4F436F434A68AC60DE2198EDC7A5BEC9A3A94AAAB643C623AA1 +0C126651F8DFCA044A95B09A2795749FEAEE6F3EFE6765245575F4E49C7E4F4D +9FF276AF91F50D9A6E3D5053B7F26EF32D90FA81FCCE192F825D046A494DF72C +3299698DBA2DCC71E86690C3854EFF118BAFB80090676DD4F5C5ECAC8E55D866 +EF4E4B46C57EEA14212E7B58DD47A55A3D8D7A5616C6D30991FEFF58E584D5B0 +1A923824B76C6BE9BFC3A69E637DFE9481E6454A486E0774FBD3BB9024F8E3DF +DA4A19B536A746AFF8BC1DF6BFD96E5F33561A638503BE25D7812CEC7CEB983E +71575B26EA0E8D9119DDCD3628E54364C54F4583A83443F43E70D6DD67082B9D +7FF5928CF6A649F26DF9999E3ABC94000B2D142F654C71233E4297234F71515D +004BD3D9B4215A052D80AA5FEAD234BE9AC28611EE83825A2151144ED4AAC6A1 +4A80D43A69A5AF81CEBB76A05653AB6A4790E2B5FCAC032AE641F012953EB488 +742EC2B223FCC809E40771FC75B122EEFCE400FD25A2EC55AEB085CBA6A8C944 +4B052B0CCEA274B0F06BD8EB5088F834572A99CB148C5404A3777314FCE71364 +38691B62295A3419F731E1F7493976B10514E8C1640E0EF16A0BC3ECF3E09521 +34DD68B0C21765A2B65BDB76F36083F7FDA217DBC5B17E6FB5A426C5554B7A86 +B8E4654F640D156949AD34C338A08B3DC66C8B6CB9ECC517BF14F150A9461882 +B54AD63C130BC518832A654E8F6F609232C728129D8B11272B91BEB6949E5745 +0B64AFBEBE9C3B3202EE58AB30B229F3F48797207C15F18D8E3D71B0CB9C9720 +9ABFE7D49F806F12DC73DCE075D21209A43EAD269430328F9A6D41A4EDB59DD0 +9C9C6FBC2BA01838DBC47CE925D0920B4372B9E2F422361111B9909F2B67CA60 +F256EFCA7A287CBB48C561EAD1AF652E422E5F797E901938CD789B2CB27EF9CC +64983324F98EDC83F7B16767610905562E92665E9B23D2B0553C59D295A4EC72 +6022D0F92B52DBF0C79AA804861B657B480F336F73434A9D82947F1C6D1EA367 +589C59F314217E799A61E41DBF800865A88DB50E2607945E458A319EFABBAAAA +F1D6A52C52D99BBF3D37F895A872A954BABB2786987A899E28EBF0EB1C455466 +C7C082E3F3370A0216FE0C3A4F0C509A8C0E723B7D58AA416C667FC9C4564B6F +0CB85F8A397CC4F53BF30570821F6D59C66BDB134EE52F84F5BBCDD85D536555 +407985794A97AAD69F4555DE33B978585D8E666815E6A6A91A4EC43E92EE9A8D +9917E02CF4D1A60C20506167AFE0DB5D8E13419A5A6108C11DB4FBB76B295C99 +C4EE2418D70742E4C2F2A4B51846F3BDCAF1794C18ECE07A92E2B1071AAD2283 +212079524040132E76A06B56657DE220EC3D2B6B9E588E4396B0AA24D4D4E116 +1A46E81E4CFF3DAB7E16296C2DB04FD11B385FE3B8DBE676E04117CEE7A84171 +3C833F5A6EC829CA067861485D4E89A274AC41BD4E25610B53CD4182BAEA7170 +FA50530BED308AC93DA62E9A0012C8BA3F1385D2B7FCCE08F6254914B82C56FE +0F7936B97E947E1BC62732DB6E705A51EF4B74BD2706A0276FDF1BD912EEEBA1 +79C7AD98C30539718C087B573F51AA2FA8E3635ADC47BE51F911D017A4DA7E07 +1834E20C0EF6540A82FB89B797E70F9E1D1CE312E99D791C26332A94B230B228 +865F3B0BB8E754673674B52B9433D8898498990F230EE550DFC2C86966C36A1D +E47C6C307265A8F6382BEEBD4CECCF0CBBBC51BD4651CB25C4F6AB206AE09E7A +DB6A6C5F13E9D4C804E944FB9DBC35BE525A61FFE9ED18EC62DA4B0D5A952A3C +DE033F21F1EA07D43A97B1CA81289CE95B049B3933138580319001E5DB539202 +00708A5BC1850FEB133344BC06577610497821BE256AECFE73DC331F1BF51BF7 +9F96D5305F34F7579AA3F0C5AA937360B55C2150AED64F9A5EB6A6A09AE07B07 +0604124D33BBF0FB0D9F6D11301867919156717CB4429EABB1F875BE9299F963 +F1FF384018C2D56A3990EEBC4C7CD63BCE275D9792CF60F917E05939C2A6FDCE +B75AD8F831DCE93480DA2A44FAD2EF145520830C3A36062EBF1F7A215EAC9841 +0D549830BC41E98FDF0149BCDC59354FBA9C9233AAC866C2D3B94A8C357A4880 +19C99FDD161E7318006437780691487E890CE92270059D2267FE20CD51190973 +3F6AB9C468104114D2F8B387AD84597CBB62786FC64A9842B832BE9D8D11C794 +E232501E4F016AD1F276509DE842D5A02977664D2F8EDDAB9441233E5BD9D8C3 +D21314B7182AE0E13B41733608F35728C67DE8D4868D1B6512DD4C8CC2038E02 +5CD5AD78D4041F374125499ABB4B0923D36B31583A25EFB58FAFEB9B135E507C +16AF01749ADCF80B58A96568419DC41C18B7FC1EC0418A953C5BA29DBD44F3EA +182FFFA7F3846C8F6B21F1AE91968A3651FAF6182028D081D2A104581283A179 +4A4608FE944151F2420C41D09BC5CABEE41A461ED958FDA8FB46977B58B669AE +BD0AE160A6453D38C3610A463D555AFED76EA48A19129D9B74032D78AEF3018B +398D59A49F27EA5A327F1FE5499502E5FD0A9026FA43973C6C9191351228DDAE +BBAA8415276E483F7EE4D9762E43690687908FCD8C60E797C1BB74FCC02022AD +474C42A780A8B1ECDE767F1A9687CEE61CAF9CAFBCE4D9ACB08703E541CD4C74 +2E797248AC36C802A06B3A500862A1B08BA9E19A0B51A509626114A5A33C3613 +C577E2A78C0FF15F79699BDA98031459C87973F483C3B8CAF045383306CED2DB +9446925F18C6ADCA78946352F2EC0F718E8B78D62CDFD8AE8F680D6EF66A788B +FC549777397882A8DAA878269ACD75E048A58C1862CE5E1607ED163F50E9631E +7F38FEEB2FFE370EFE6F9BB7E8DE086CE15818FB07E86DAB7FA029F067A65A55 +B450B42B58BE44EA60065DBEB6CC5282B5245BF95259E5389113A11B269B71E4 +8E05397989BFDA0EFA22D6EFFF05EAB31373A61297BEB58046B83D590B463BCE +009A5801B0AA614B44268DC40E2FDC1551966A7BC5BF6D89A909547F9C7CF311 +F4821BC5FB9862CE46875C03C58302570443FCD3BDC6D3509676AE02350D9107 +31AEB3C87B0D1E0C400BC9605BDE315365CD05989D230669085561D1B5461165 +5BFDE684AB4936EA7B227A5D2F56D69BAD0A48083DFF76284D3B03A2D67BBF12 +4DCD505020A6A86E554A2C842BFA8957776005239632C4C41BC1DFF134879806 +0263F20D840054AB340E5B25A744E6B7B6670A048E972EACEFCC5FA14AD45D25 +5CEC8E64AD4BE97BD8F0A189C24257B7943BEFDEB0C8BBB979C49CFEB0423C4E +C3F4311B8A75A0950BDE7461C19BE13680CB7C7DC35CF4152C2972E2689525BD +879F6A2523E1B0442B568ABECB2594EB11331C75200C69E31463B6C4AB62E38C +130564BF296616D2B9018BEE92F66AAE7DD0B979E7FF60F5B23648B516354CF9 +79E5268D7DC5010C7DF4B309429CE77E14FDF25C31FB754D6815F14D2492ED0E +29B5120876140149CCD84DC5653748AD289BE893C8962C812053A5302F74E991 +B6431E34152899A64AD5B07244F280F6F4AB30566ECD1C873E88DFFF6F56A963 +31BFE725DD4D7F5438D7B87EFC522BBC48F16E339F0417C55B71C4B9F6D46BCA +429AC61D1B38E2EF9838AC9366BDD0D554E5824383F2375ADDD0971663197B30 +B40482B681A98D2FF06C761763422CB0853FFADF86FCE519E27F26A8144C7D57 +622FAC4D2D080E00960473DD6D25C68AB8F0D9B5AEDE0A293F6C4CA8C097227E +90541B1248C04A472B7E804EC49CCEF57A08E04B47DCB6BC7A1FBC8994883C6A +9D984799D135BB5347914773001D05C1AAA83E8FEA614F31E1DEC971A1C61091 +16175618903695400308DEF899783A4CDA71B0AFE3EFBDA7DC3BF55C0655D4D6 +FC707E24F5CE10B99E1B03E18B76FFB0213D6A7E7BF78257CE77F40DDD864A95 +A936E72EC763888688C175D6B7C4CA3487B25F4361A920A3F5CF1FFB73D88369 +CB812D659EEEA6993EE193DB0604757FF1D3FC07EF85862F0F31939D505D2F6F +A54F1D4BB3943CC0CCFEF337147B5D39B37816CC6B64AFB3D7A3533CF897C932 +FAA40CA8B73B7D287A888842A84F44E072E120AD3A0EEBBF4D835ED072AF971A +E2D8AA716796D6308587AA86286BA26F4DF597514BD803AE33CDAB2B6EE046A5 +8665C549DB5F341219D3DB3DC55E88081808AB8A493F1BD5A6BA779F859217CF +48FF0CA96215E13AF126743CD27E55F1BFC044367EFDEDE9805BF7EA8D51DE50 +F4094049F144628D0B9F0F6B34E97DF1AACB8BE5DCBD080456E62C5C331132C6 +6237D8F81688CAF05981568A0B2564D1A97AB3C777BB1D6DF5A50A6645A0FB99 +7A7A26A77475BE0BD506F7D93D9A6FD336F8F972CC897CF9AE67B665A09F3F0F +BF103510AD9197EDEF3865B7E7C25F8B5B98F87100E30E57A7B9FB492D5FEF93 +9166722874CE85E3AA78FC49D68F7F48CE1C09BD7DD73AB6F7E6F165A1157C7D +1FE0AAF29BEE432246585290E0B93D4C6BCD6E191C90D641ABC065F1ADE9DC4C +9888AD090AC2EC747E88346574CA0123D3237BF2A42F3782FA5E9002C4FDB520 +5E266D3F7775FC6A2EAF1C9AC5571C98D433DEB0CF20634688AC8D02FC2268D0 +5999DD688729F3F5E52ADD7D3A5AEABB9327D8B0187CC87BF8CD51589F0D126D +C8CFAB281DE92DD0AB708E376F8397E5CE7C2018A6A43203AE32040C5AFE06B7 +712A1C86D27B7688FF0EEF8DC44657AF2CFEF7BD7A358B056DA71670085179DD +3B5451984C846E0493CC7A3BCF97244F1EB919202F67494129DAD2B07E1DA89F +F472ABCAF2D3196A44D71E8DF860C8E3CF259D1D14EE325C459CA68F6299B5F7 +7B536513898418BE6B978EFF50A3CEDE442C0377CAF609F5629EBED60DA4E33D +F29F1B07F4E15AC700FD6A1FAEC51E22D2F5A3F134690FCE021616D0DB89C510 +01090A4A7A4B9895D2823F429EB36CDCD11C026236CBF06CB45C9E96A54A74BE +0BB20FB55FBF1334480535C5FA1238BC95994C1627D63C59F6D15EF4042F5455 +86901E870F2A99727A448575EE641B77C2FE385C36E2C5B7BF63356AEDB0E315 +3FA8282918191ECF16684FC82E5D8B611DF1F4F55E58A9EF6D192C247FB48C7B +3BCDF87F6077D8C4423D10F8A0666F0FCA3855552B2743FE2C17CD43FFA7DA25 +BB816A3B6DA4AFFAEECAE648B69A42DB4B7797DF2E3C076475AC946C9E0ED103 +A5700A2C8CE1E04B07D5B38FC3526705D2830D4F8688DC0A423F54FFE3072F05 +FEA2285B948F9D4B7EB4E1570F53EEE2BE859E6DF662CBD3B859E8F144AACDA5 +7D2501D286BB5F2F0A4765ADEE5543F1571FF48BB4AC96835C4763A6985CB387 +387BDD3C1966F5AE6A3F67C555F649C3151B48D38FA18C34A9B74CFE6F51B35A +F9D264B7CFFD26B357C4B305E94F64E4CAC866DB70CEB5E6744390AD4ADAE728 +A404E7AE954698392269DFBCB80B4BD6FE75D5E68C1BD727624232D0DFC45734 +A6C535777C5C52CD04D314D991C7F43C34E4DF83DA3122BEEA272FC931EFCED5 +2BC8191D69FD489E5A3830CDCF5C73D811570C24D2A0C36363A3B14E0B3ABFCE +7CB90C4E617871F1186E5FF62BBE155A88130C7D5AF716A075096A48A3C7C8B8 +AA5C2E22CCAA63F2D4F915B921AA7072575856290E46EE893BBE0815AB8980B5 +2AFEED4969B0305679730FFE10E21B88CE115000C4B56CDADDC56C29B4CA9597 +85EEB0188730D40391DEC66F7910A80856B8F504547C48882E3FAADA8C4F8621 +75961827750F0E8A3FD6A067928934DB303F2EDFA3E829B4915AECF193451B04 +8ABD6CFA4E5913528D03CEA13C6E697602FCF0DA3B4FC19AC483B2CB7BBDDA09 +B7BDD68E477BAF861C673B44D1A0ABDD0C7C86CF00DEF4C32717B3C82F3212EA +02AA67EA6E74744C42B434EAEF15F17EF5D3AC473085F6FABC646DB55EF63A6C +181536F45DAD30B6F7A072A45FF325B73C5B43AD5ECB446B6A3818E5868BAD0D +1B33429A7BE3B5A8D14814C97642F42A032FAB19B379056A217994E40BDB58E1 +69048D258FBE46ACA5FC91D017820628D5F15AB97CD1DD722A3C27D24DB0385A +77926FB78D48DE3AD2B436BCD6CAE4034CE73E67169DC6F224ED2D24F893E486 +FA68B2C4881F1E36143280C65FB6E185EB5506E94A3724B7FE2CBDCEF75B3630 +1C9D89D9E136AEE13ECE361A84871E9736F88A9B2594F9695B8E2F53EF53516A +7654B43BD279650DF32D175049F16393573CF9EDD54ECA68C8C9CA0E9B0CD692 +5509654A916BB559E1C074F2B0FB07BB66046D8ED5A2B1792DA8AA542A1BE725 +BD5F9001E9E0D813C807DF2DBE90724EC6D503D48DF8A19B3E7B6321FA341B55 +8100D7CDB83F20B0A648E14E5C439561E72A1E7A2EEF735C7E6982A3C4D81AAA +31A9C60ED3C0A77A67921BBE773CBC3661D002AB19585E07B92BE747100DEDE1 +47FA61AA135FC788C68B1227E3E91241962A3E571630CA0BD02C6729F5BEFBD6 +314D9051C9CC94A7607286B5D3575AF8830EBF2D48CF8BA913D70BC50E7E1CE4 +81234AC8A2C2F6071317CC3035FBA5870434510891F32F6BADEDA90C2DF1DAF4 +BBAF53F103E17994AD68EE45ECB2884E424979F487BBB28FA000D03D71F87B77 +10FEA243C7D908F8693C647FD13ACFD6E0361DEEB81A2FB9B3FF6053233A4836 +A03FAB26842613D8FB644512275D43F312EEA72F3D0F26AB848E80599145B5BE +8C6FC10F74759C463F42829DCD56DF0D53F5BFCAD3EDFB4CC5931E827920C5AA +5062A7693067A8E43B5667A17A0C5F2EC9F6032AB82B21EB513B3D94014783B0 +59A3D6A5452093B779B4CFC1CD52FA87C69A03968FAB938CFBC20ED275D75E9A +F353CBC5953F70DCBA73BD902631A1920CF7963B63CB5235C2441921960ABCFF +907F271A070FC3778A8BDB9A84E7312C9F41A2CE7BC4CDB0CF7412112F04BFA7 +28BAFC76B60DEA63EBDB0833D17FF860C268D7EF5DDF4F9BDD7CED34D2301655 +F5A101BC08684A0E11F302F05631430B9EFBBC38407613517F97D41ED317923A +F10FDB8958A6C84D9C205EB1E8E29586B732B397DF42ADF0591A8EE80C13BBD8 +B5D4AB65DBFE130AC639C5744C997B8919E80AD5B47F6665633EC49FDF3D2B48 +064882F9EC610109B58DB1801ACB47A342A58F1AC380FCB17A085BBF7E9F6076 +0AD75BD8ADDDD718C0E30AC820C324F5974FFC121A6101EABB58473E4B23DE10 +2900D6760CCA1F58AAB1178B2D50FD68E66D09F48BB8AEB4A884D1FDE90CFB6B +E8DD5C8C762D9CEC3F36164B29BD570C5BF60608FCED41C04C116547E3157E55 +9D251284F0F30777753B62AC11363117DC28DD5825AF6C1C3B0C63DCB27475E3 +F1F9EA71B3AB981911D851E75C7F49B92B410843D1854661A39E007B208D58A8 +00869B529B3548583EFA90D4FED3944350EC117643D3019D45F1CB28076BB730 +0E25006DE035D74DBFA25F45415F40EEB60486C2E59AD5A72614DC8C048B8C23 +173BC5B3A84804964E367431FCF582B9E47848CA73404D8C53FC9074F462AD8F +20A30DFA5443B9B36B3FB0D45858AED23C363D94DC7A4E9BFCA50C302FCF803B +8816951C64E484BD991809B20015637E4AC58CFF91286FDE7CA54FD0E1A63882 +888325653D52B4E1E76AFBCF21FC2BCB91CBB9C66D0AA82F5F8D08B3E25784C6 +19DEF679B1F1E01A8446B944638246BFD47894F0B96EDACCA9CF9A932D6E027C +F5F7235E436C1C649F8462A08A77932F757CC6EDA3C19DF2749112314EC5AEB0 +FF6C50550B8D16FA25374AD48F80588D021658558BD75128F86574E096F15A06 +53F63FA67C66369E4E62E1312B8AD5D00D8538983890347948BB2B620ADE8567 +36F7F97B3FC9CA260EE317E7A5EB72F16BAA2A4CE94741348607A305370F88AB +BA612BBC4077FDEF125DF0BEC6255E7ECC2C4AE3AF0AB4880BBA09E4C99E6C0F +9B48B238C27E239B880611D0227E99018135931A5F4496D1F92A6B0DA6FE1884 +A21081F519D77419A2A7C10D521C68360BA09B16FEAEA6FEB2F37066EBCBAC78 +DEA776C5E243C5A2C259589CC9CA9415B7D6E311D655EF3E9C7B6D5BA39FF1D3 +AD21FB11DE8381A807EAAC470927EAD2A97239423DEAF187FE2AAD1BD7456597 +B5079B0B24F8C4B9EE1435DC397160EF15149AAC36015265220FF4E8DC157381 +8C988B1C43C7B423BA6A05228E72644F30F6F8172EFDB56C6E1A90844FD062D2 +D5E61A9425EB3DA99A55CF56F67793DBA8B09A594C8F549350CCA93C1B8CA0A0 +FAC1E7A1128A02DC66593E07387B68B21C077ED0A1136AA4309EB29BC6A31A53 +BBF60019C9A5C597B6CEDC154DB66F4724383A9DBF4EB1046C25886A901BB4B3 +D77C70679BE345B94CEE7BBB4798BC6EDC2F5A4F14DA5759972A641B002ED10E +9687784C907571FB45BDD7F6FA9686D74BC8C0830E7C491EFBDF46160677A245 +B0170AF7CEE1AF974CC0488D5B03B4974C45121F0C052DE5892637324328F83E +B16D67302F98BCDC7DD1B3396073088F489C35EE4A6EE1797BD70331BD888418 +F9FFC0390420E6EA4239B14C8C9A954D2985174F09F286936AB89C2EF72597BA +58F8B0B80E90CD009DC27B502E3FF14185652DDE90CACAD3A49551D974C92BAF +AE414C6BA5CBE4D7B4D7EF2C5847F4B2A77F241F42C803D06B1D546059978B82 +22D28160D08C95A2F86E5579F49F5307CF3889564781DFF5ECFC024DF566161A +4A1434E9F2913CD52357087EBCF7EE34BB5DCF9D260B24D787C2F66136C58B29 +9B4768F74F95D1F2A76FAC898EC504FC23E9D0ED6E7B08B410A7D0A41187241C +C8FB94C3814BD6BD73A4F079987A8BA651EC0B06787E4417FF4B6F2FC81CED55 +A4D8FE0F775D7320ACB7152F7476F7EAF777B63B1EBA8344EC0697A978EB9257 +959A4C5FD5FC672A803AA46AA7C2A7179E41F2872D2503406637277074642A4A +BEF17D4E41716CEC33D0652388F909DA3DBD681B97EA156071EE58B9E92A7ECE +270CCD53D09969B92E3367F05B6CC79B4DD6F359FDF2384A88F9E7597660653D +A07B1A3F8A75D6E222E2143778DBFAF322ED390258D9E2F52205DEE738DD26E0 +588D39B88DFFB5D5EE855737BE19D095402958CD5FB6663B2AF889665FEF4C27 +BDF940955BB75811AF859F3A698C50CFF87170EE15CCF4C07D14EA4DAD969B66 +DF5107B8199B0FB8D3EBC624A3BB0AC7166553F30891EC803C05CAACA5429C15 +921C84B52E92724CAE172EC5F3EC21B52CEFC1995770EC6F42FF81A776AEE839 +C9730D4C4DE89D080D31BC036858E1E7C85BC923C5F9AF2226A7BD3776527BFD +F8B153D9576A7FC48441FA203BBD40C60178CEC461EC8FBD826E3587A0D9AB6D +C7735CEB7D7406D9633D14133525FB8FA7FFB7C1BFF590EDA30E1994D1B593A6 +CF3C1AAAF489875BA72DF77F8C89F752AA761296AC5C140F254ACAA3467477E9 +BC33BDEB7F696B44D3F471AAABFF5DC70C1A727D99C74C7BE9D86F0FDD6CFB04 +05B37FCA3425FDE1505EFD54473E05143DDE3A73DF190B9C402D19A98C1B4982 +AFD83A1336A1CC34D02F9AB0D03B0285B6DEBF2B34D241BFF267B5A0483B525F +E3843B646E4EF3D8A4EA6E0CC087EBCDBCF1680C860C714F7B6862714A542695 +A98C45698E45D03E61F145007A0C6EC4F2C1F9AC3D77454728BF30C6975DB4A4 +E49B43C3B4D19650938F6CCFC22CC05785656E0702893D08FD3F0B0BDB4DEB36 +113828FEFE3AEF77217CBB6E7F3BD3516998AC84C082A61725E2863369A4F71B +D79864AAAA710C9FF462CC1CD865BFF588BCA4E6F7482B098177DACAE6038D60 +E0D13E682185E782E9B00EB04514CD7B711ED4580F463A3D765B0278A1AC6DDE +38879DDAFBB0BE351038AADD7413BDE6C212BEDEF90AC0F044449483C178D66F +DB970405D910C9AC7310980A9412782D7F22CF99F5CDF3A9E06186D947FBA1A2 +F9298B617E870F7B802939868E85C2E570A7DA96211FD16C999281F493CB3E13 +672D5900750E46EB1BA4A85A732C77844C3AA174CC1448C45B7E29BD1BA37DD9 +C62264A70F60166AC3FE204C3EA8D6DE816ABE223AD10E41C5DF8DAB86636395 +0773596C658E1FA6104F2EF1567ACC941883B6339A05A9959C43254F18A97A26 +32DD590C5F0F91BF8FD00C2A5A309087BC46C88F3688800250584B7FD59DADEC +24A8130C2D060F278E80C2A3B40246EA5824E106CE9AE2D84C2D05C6C1A95B4F +D62448449573201220052AD26D4FA53C0BC0842C98ACE3CCD372D081584C299D +5808CF1BA70387700713A563C154B4D28D692DD512CCEC6158D96197479E789A +06316ACA00AD785869AF9A76C3A2E9AC3EA2B4A88D740906B82DE343BD26CC88 +F8D8E6F1EE8C287C5702227CDB1D8DC91377B615116AD02BC538E4B04BA0ED3A +D9BE4FDB83E7DE5A99B9480C69856FB49DD8BE701D17D666FF5F61037A2062CB +78AC1F50F2280C159EC76C5420DAB357EA0748A402A37F40D516E7BE42F10120 +2EAF72D098B64DF4E314844A5AD4D75C2B08CB363565E0EEF0E75A6663F5F750 +3E9EACF05931CD231ABF6BD47C29D31D3B67DF60590C845C62A2E2A02FDC71D4 +B7C140ED914F28BE26DDBFF0E8509EA111E83CDD35A86E78BBE7A9583CBE14A3 +D5FFBBF4C0E4EAC1C428F98D338351F5C4F9B4D6745440F9F12A5452273E71E0 +9256051B0060BA1A4922018079ADB882FFAB964463CC08D1373E1058AE99A383 +A163BC46365771A6A18ADD0717A0184E9C704031F65A38F60E97809EE1C91C1F +E9ED963987056D0B93EB89168B9447AE7E730915FBC6CB28DA8807DFEB61C6A8 +AFC5EB0A8931420EE6FCD8D8945469EF9D39AA2495B8B29C623FB35FFEA6B557 +2B07C063BD8C39280841AB5AE3A91530D97AC6DE50F1EA8FAE698B5EB7235E38 +C73A53D05923B5B8D62E1EA95F615F54E3F803E62D4BF7E5037E3A2CF4E2436A +1F339E02AC8B0630BC190041C3311003D68310CD67C2668E72C9F0E8C11C499C +3C1EA16ADD70F3B06E20898171306A8E930FF89B516A56FC61E23608ED379F83 +D3F361FA4154C91DAE27002D56E74228B71ECFE4639D89796F2708F5D1E6A6CB +1433683A99512F99173A60564F09AB0643B949D09C12B5F4D3FABE5A08E62EF4 +23040A354EB30C2C4592CB24F44B09065B486683BAD41B2CEC0432AEF8C7A812 +BD80349131B91E00095E60D6277E6D5FE15C43CED9C033E3402200E9E5CC94FD +B855D1C95DAC44CD7C4929E6556669217BA16D1DDB5D9B7C5F196CC08313314B +C743CE61A2E870F2F76CD9A6FAD2A3AE66FEC7B6E4FCB68E49DCA3E1BA135320 +CB815E15EAC78B8783A0310AB18A21FDC235D675CCE32A344688DDA2EF258BFB +DE66C024D95491C52553726B0CA003529F63340C514C7E7505A7AEEC8B172305 +A1E20FFC79E2DE8A0CAD52FEF0F3E5EBC82EDE503D67B4169D166B13F0D4B4EA +A2F9661279F2EBC20CD49631A76F9E710B45356832249028C3B7C27D20BA5E56 +EBCA676892BB1237F97967ACA39DE5291444C1863E21A8EA7963CDFAB8AF9A09 +AF7E6CCFFF94517E3D782C522F9DC5E1693CFA7EE0BC1A0F7ED47EDDCDA57A00 +A956A3F4F2DD603F77918D59CBE089A15CB9B9A106A10235ABA682CA097D4FC3 +EA81B0B668AB8329E72281B173B0DE7ECED601E84BACCFB487B1CFF2D75CA636 +96ACE9A8455DF5CC0BB101B12B0CB538F21A60BC10140AE7E5A3A66F97CD2BE7 +168EDD15C2A1FB39DE5490A3F3018824AF25CBE789B01B285786C4DB884B14CE +2C621CBC82941F5C601955C33C434634EFFB4748CAE0F6F43D3E8CBB2D9DCCDB +1305C74D8446612AC1466C9CD23936FF1C140B0B182A5D4D1BD203EF31D06D7E +9B3B475241C63F3392B5F419CEF39ADED32FFD9471BF8E58CF2C87B82EEE19A3 +4CD5FADC851C46889FBD035D0E15F83C87A26F87D3CE3399B9A51EA3EEEE56B6 +56DFEB17DF9264BAB1AFF5BD1A583A965B858AF2ACE3C5A8D805E963DF490557 +09C1338FF3E3C788FB4EF80C807B0C0E0C48A39AF1B9B806689F92F3AAF3E0E6 +868C361688C1F92EF09DBAE40377B5E69A469F1387A46218C4505E31CC121683 +E289BD8D87F5D91B9CBE7675A6031DC7305B9DA1494840044A37FE94D0D92C6D +113D7F310FCE7EEFDFE15C7F46E7D67B3411BFB14E6633E295A53D391363FAA6 +68FA9612E19A6B1473FCAFB531FCB68D5BC73E493023CF2822B120FFB62B0F70 +1AAB90B57140100F6A66CFB72BB76BE6F1208567DD98C3547ABFFA936A67B9FA +B7F12C6A7F7A63FD18BDD5942246CB27C8CFD7F4C8CC58B3F354B64D9618AD2B +EA274D61537ED666A576DD48120EAFA66274F01BD302DF58F0636070E5CAE10A +4329051E292C750018947958E39BA2CF4487D1FC985E9AFF039CB101FF524DEB +2B1E13C623F64E4BE566AD4F531743FFC9715D7E120753A4C37FCAD5AAFF3146 +590E6390DE5B1242635BD4F6C3410433A9858B61975DDC68DED59CDEA2024A92 +82ED10E07C61D63DD0540B3DBB8A09F6E2BB987226549A6A6836D6524CCE4A08 +89B21D7D52D9A71F13873932E6E939E0E2D49DC02A6106593D6F069BD2297251 +75EE20FE051887D0629B299ED579D9EF00B9B20A17A82E2720C3BD821C2033C9 +1183A83896C82F58883C6416E575044DD826CDB37FA0271D176A11B6EC2FF49D +A7F01981850484BA5797308BDE96C9788E0E10C7DE3B1B0F6D156D21D02DDE90 +B40C4A402FE525099B51C46FDC2BA3B1C97FB2C38A2078237FC321E75FBB0A6F +0D0D1138B99917071EE3DDEFDF12079324FEE8845A45F692BC5C80CC8089306C +1C101C29C0D9001905CE81FD402099528949BC2AD5EE3E571766E3CF1CF7BF85 +F74A9B79F138908733171880DEFE4130A95DD9EE33481D6DEB00EE03607D8DB6 +A7C4D05955EBB025C6852621BDBD5CB72699A21F24B41DA13EFBA2691CF0C719 +E7ABE48F860AF0146EAD45A852AA18CF27D858857D9DB1BB3F0CB777DF0E61E6 +8D383BE6E4A93AA961BC7F5AD02301B8982489030B53C275FD7909AEE8D28AB1 +0ED23228219CCE308FA5A19A7AE2344AA5131C9057CB3317DBC30633A81CDBBD +4D10D26B3D47BA33A81B60272155255B202857251A79E65E4BB87267D8254511 +EAE0D2DF1740B209A28BF06BD945BA523B8B1274E3FCEA286B4A147C44C12E9B +1E01B7D93BF4E66BDFDD25695E4730EF217D8E3CD233EF1B5C15F89AA594D3E8 +D15E696DEE8585719DA57DDCB448D20F3B12F24604092CC48DCF462B3A7D66FB +BB36556196413AA50E77F696BB6D7190F13845C02D3D9A4E162A2407619FC9AF +29405DBCF797F4590024E91D29EFD7010DB90CDBB25FB75A46F1308458FC50CA +C38B5187D64C793F424F7811F24BEF36D3E97AC14C92D716554CD6583764A79E +516C200D9AA9CE54789CBBA31A507B4785F0324B2BA2DA0F1E38D595CE10A168 +8F27A7E3621EC644E5B02DEF1CE74392100270CB0660C78F111E5878E4084285 +DC5E101852A08E0F92B1CEC2F74E0D83DFC5B1E3E3B1B960C10BF32280CBF9FE +4D7778C6F679E3BF8858C7AAEFF5FC1814FF66DA7B83EBCBE3BA0A136DE01133 +4DB836FBFE6D259C1A29BCBE1D0637E35198DA8FE8F60DA9FCCDF524218246F7 +C4013E926BFA67DABB47D7F599279C96E5C583A2D4DCB4FB306FD1F76C6EB584 +9993518357D8821FB07011E98A6045FD76D0D937AB8267C6D2D2935C6DB05EEB +FC94EDB54AAD3AD92D7944387712E8047FAD2BF1510EA3EDD2354E00778EA9C4 +D6EF0B92BCE629E10F98F4CA37B7B69C034ECE52A45A5806297BF9EB39D2E631 +E0D650A772DDAFCBC804A675CCC8D23C1E9C80D7AF8547C2AF2FD51F11110357 +58F39322399DFF28AD1AFC1212CC125333C67FC1153EF2ADA0965660AF312AB4 +FC595761E098D8CF610E2A5612056EB9F153D0854E7CA010442FE20D25C75EE2 +D68C61F9BD3575816A600E52AA6CAD5DBB07FBFF0C695957248381B938A04C91 +214E6122DE701C28BDBB74C4D4AC6C09F3B20C9C58B9FC40EBD64096A8A5FF93 +1249147F4CE9BAC8F9DC80940D9BBF28D3DCEE5BAC801561C3DE023788F5D8D6 +87F65067BB0CF7BBAA9342CB63A333806C09B3089C02E74B9AA219DB8B7D164A +8B36D9A3DCBB92357A089BAC048BFBC7E4DDB77E88B4A5A5105A5DC5E318AFC7 +64B2D7509B8BF2CABCC9B7809BCEF2563426D600E4EB6C7745DD6EFB4AA7C972 +7C8E637F1567EC588A944BBDA75EBD00F3A8196DE68347DD21BA8C2CDDCCC8F1 +0BF31DE4FECC4C86029DC08D7AC43515BA4150D0F04FE17185A0D56336B36E1E +3305CB5C4641A28E7C40C3FEF8A2630DC00FED1B6DFA6D423BB009704E5A74D9 +04483706D8B037C24A03A27CA1C9ED18F0E94962C7DC9BD92656D478B1E448A0 +441FA10ADAFDC688611055082138C8F38EF6A3A9589B71F6BEC6222D572D6A9E +144B3451574E1764D2AD95F8F091B98CB23C3696136B4878C68B81C9B2D4B414 +167EB6A203624DA1318F0DFBF117078FECBD546362038E5C31BCAE042E61D560 +D09DFCF1A22F9F064DA442C5EE7A1CAC3BB19F299B30963F8FBB77D516FE8E15 +8778914789075C085F919C0EE496D505E097588082E92930835CA0AC582147E8 +0FDEFBCD17447172C082437DB7D7FC6C4CFDF2D91DBB25891FEB251E9F5750F5 +C28BC83885060437F7F9810174DCA42261C10B891186C3530E1C35CB7F2A1FDA +E1A44A318665F1F79D21D28A6FBCF5197D6FAAA669BBD276198ADC01683BD7EF +E13FD0F97AD7CC37A3623184103E75D25B4CBEA45A15355DE5D5E2B6EF5EACFB +300C79485BC8D437EB0C9E789E7048EC1C1189BDB201B142AFBCFD2BC7BCCF53 +45779FA6EB1594267C01A5803A3157BF4E8240A46A934224D2A4EB62E407D8B5 +6DAB89D62382174DB13FD2EBF326F15B374910611E8F3B96BCCE9AF5AC80114A +519B765C5CA96DE6AEB002CE3DC6C76AA2067FE59EF458D524B4C85936298846 +A2AF8ED1D176CF387AC9AB9E156BABC5F9EF3160A8C29AF97ED5DF22FA13FB90 +1FEBD6FB5C2E743DA37F119FC7CF58936EBE8021620D3728BA1F832EA7845F6A +86105B51640225CA20248A40A283DE3A6901FB0B294EAE67D6D068E7E914A50D +6F8B677729093FB191532DC20008BD1716154D7558029B7A429D519E44956503 +E302BA8C478B3B5B00A02D08C9B9FD4D024F2DA1F7B3E32B335FFA19A79560DD +B6C1C74B617463C17D2FBC64F5A66AB9CCCEB8572ABC19AB576760AE2DFA8F7A +99BC19B3F6E05164B4A89EC2686292D1C89259016924370C97783CE79ECC5AC6 +277C61375474295238FABE0DDB56F2019FE2B004C9BAA9FB8675030434EFA095 +F39C48F5CD8DC087F362FDAF5E35ABA147FB8A6767576E8C65E1FFE38389A271 +9B69831C5E70E49748E281AF7B6F9A14FF6FD50887B8C3C15EDBBAEF247EAE0C +3B121BA3AEE22636CD752C1BD2D5544475FC7A72F114D0E8CF5D78346F791375 +1A63D24C0CCC6105423FFFB47AFE247077CADD3281FCF792FF1AE55677D7A1AD +85D9D81E71C6A5DC7518350645E36EFA9E0A0EFFD5895748E5AA887CAC4A3AD6 +F403D284C28F076BC842A00BCC22C13AAB8E1907A897372BAB7E3B1F7F1E2E67 +39F8AF6B751823643CDDF09E326584C749A6F832BDA64325E9B9242DDD76BEA6 +5E35720BB6CD67E0CFE2DDB649459900FEF0C72A1884F7AB8C5AE13B268D4FB9 +9364EBE6C2FCA87310948C882DC97784AF7046D1BBBF70CDDD9BEB562C93EA04 +44C5FBEA5C5D8CFC1CA51320D9CBA2D872CDAE22A78CE4688AD53D5C6534CFB0 +35317629B82C4E3DE43E209211F53BE4DFB90C92F32A20A8E54E8540125781D8 +8A28B247B9509B49006F211C9500C6E020D9BABDB3F0717F724EBCEB8401C07E +86857CAB7FA4E8A6F769DEF5CAFF5386F28CE6A93812270BE60AB1AF6E9A23B3 +0AA804032F4B20911848D42C35D855EB5CCC0A5C0A17200F2933BA8AAF33DA76 +917FA412570C1C00E146BF497D892A3019FD0B346067FE7D9EBBFFD47F19A7F5 +F33F5B8FACA25CE9DF3ACD0D639C52FF3F55B7D5DE7B6799A73C25FA1FB6C487 +E735101EC14FE1F1D37918B8460F12C9EDEB00B777B8013F592BC42FD1685B79 +0FA3E8964C6926DC5A3428CC30D42D9AD716947F03ACCD2F65A92F7367AAE243 +DF4A14A0D8E8CC8D7D80977975AD5D15A2D85322E53D141A9AF7980C3357EDD5 +A0CC691F6C0A045ABB09F375E000964017311FDB6EAE0C18E558504E4A07ED2F +4B7B931BC5CC86EEA408B0D6C8341A77AA63F1069E55DC884E6651CE969D6D03 +35072C583F4CED1D491B7C78CEDBBBBA11F22965E098C9AE0E23C78407E9FE56 +B86E4FFDC73BE28CE2AB3C08241CA420A8720523B7B13C97E2AD96B31E2F1507 +04ECF026A0401EB3B655EF177DB7CB65F39E3D18A8EA44B9C07BBAF877B30E4B +EBDB9D8CE1925C5ADB75E85EFAA52C7F73422E0D279B0B2586BCD0E53BC4CDF1 +345E66F756AF22881A95F7197A423420124BBD38B4DE8FACE16E4F3139E5AB1D +F99BC585E0B9EFBA84ED5B08FAD1037FF8B1B3ED1C19BB3DD88F2462742C359E +4ACE532506EE2BA70AE7188E3D7B560B3B9D4EE3654376898C87C7E4D1382D9B +6A36F1D10F21446FEE2582B00C8E32A6C6B48628323ACC81D49BE0D1BF216BF8 +3199F683A7B60A5EFCD223403F114126C4080A9EA87EB10084EBD2B194A688BB +D0272A606770B686734EA64FD18E695164F6385C7E406F02F622309080193F05 +3C74D73A8E58555D1505F8A5989CACE77355894A0C9829AD42DCB4D6C07CD35D +CE451DE1916998DFA8E474BBBA7A728A1503BB5BBE4B4E0E46B66DD5F003F41F +6F766EEF7ABD80C483AC294BE93700D8F9C2AAFD4CB0EE31D18E6DC9E4D8AED0 +77B7C65202C4D14F0A78F070A8965451C145BA5A81650487AACE91947240FA1D +F7F86D71C40C76BFED93F27DD541EF12191995C5E4391BFDC153BA9D8693E1A1 +DFB543794EDFA54C39DE9AC6667CF9DC05E8DC8A5A6671D9054E729E9E860924 +A265EFBF42519D49212ED4AC62791A10F2E31C27533241EDEFE3C4907ACB9578 +7D8B9F285CE247109D577738F9FC6035086FA91A71BC6FF067FB6AC9AA51579F +BAD056A7255DF5392138BCA35FCAF904A32ADC60D497430D4AB70F648DE47758 +902657530D0B9DFC65D76CB6CC1113BFCEB05090B0C4464124F617C82EBD4CBB +CF5526316A07943099DFAA0C69777DE95982977484596B845AB7F73222F1B8D4 +55B66C0243E04483FB5ADC4A2B2BBF90277F5B516D1CAB1DF7966D1799598209 +ADC85BBCD64A26685F8275C0F16B17454E8C10E07F708112358ABEC038DABF65 +D444BD74AA507FF7F9CF48383D0190F5FDE16A602581E3DA32062672AA141F8B +BF3B6183F850544564EA6234990967C6BB18502BC4D3B1BA4378DDC8B3BD0855 +28427D0E04ABDC5E4397908AC15C7EA5586E6831C8882C8FE7DFFE05EE7DDFB3 +ADB8B5E8F9EF384DECFC5D997F639FDB723D28B11AE6E33B624330581C071C97 +86F352BF5187BCC9DA7B775DE836C48FD19998FD7D97F4373D58F8F97D69D215 +CD3DE93D9FB08D44CE8EEDFE176613B7A03E64B5C661B2CEC2A64789CBE3AF30 +E925FEA03D4A5B88BB8235C82E86460193D120A349866900BB7639F701262F98 +D87FE0837E4D27DF0DA57FCA9174CFCD05BD0D0B83D7F3606CEEFC7E8BB4C062 +929E06FA79F5DE42A3EF15F5FBE6AA316E8EBECB53D0AAB9F58CB17A7528F331 +145A445DEACF06E5AD5BBB1C7675C6462AC8C692CF332F272FB0213FA7E7BA15 +6A5296BFD1C54FA965FF860499121CBE9F91DF3062EDF00C1E712DAEC2FE655D +807F34660250CF8727D96162594995C98DF7617CBDA72F20A02B2F46DDFDBEF6 +BCE98A18EF9BD73F4DCD52D86226615AE84FCCDC8BC99D20D9FB5F38309740FF +DCDCE5DCEE19CC3B544A0D9715601BAFB3C5FA97F04D2FF33BC32A39FCA0CC5F +EEE940B2B3A051ABC2F1B1F5A06D4937327DACA31AF3938D45DB8C985EB2F7B3 +74F8ECFE340E2CFC43F2FAC0016FE4D576B552D264EC1C34CE88E4DFD21EB8DA +11CE9F13E33C9AAF1085ABBE0E56EC907D544D1C547B335D490A83B6DA8912F7 +FDC035C94C9D13FD8B8F72EC9963D2B348ED3D952BC6CCD1956100EC319FF293 +FFB3C8EA021836B2F70003FFD9E36445687A00DC0C0037174DE62BE8E8EB3162 +EEB73304E71641F81EA9EF1F5021A8D91FE539E46BACFF54CE0C174079A89AC7 +C9AF7B23C31412818D52B8510F3338CFDB4397C73E36882233CD2E405D1E7726 +2F5571A0031E611885D90D55DFEA938FC48B80DEA2A002272DCE9C009D8ED465 +1B19E06D88C1A5A3B16B67F705135F71C227923610BDE0D702DB4B1FA4FA7D5F +CFEA69EF27C2B5EE0AE87DE79BE17ACE7997D6480CE050F33F75F0D359730D3F +634364ECEFCBED59FCD1A18CCD3D24FF93AD78D90C329B1BDD98BDF4FA7FF2E3 +78577831BE0CEADF6130152B13A1AACCC033030E3D57ADB8590EFCA3F0D52FFF +43E2A58CF6CB5F8B72D62632557367A0922654BDD6D7668B8B87EA7EC6771ED5 +53AB6B7E6BB3296202D2D702FCA9276DB63577282CDE59B22957EF323C03844C +EE1C10C63BC41DF87BF24F8C9515C0B2AD99C194DD2D043941946011DE689325 +BBA63C58E3BB48F3B16CE4DC93AC698143C98BFA66CB4840E53E1661F2006873 +D76385841E1701AE6C47C580565CCE4E9BD43FFB3A4DDFEC901FAE3187E49C61 +DF11DFE186097A51E6EA26BAD9D2AB4A0AC344871C57F798336FD19D6162932C +DA49AADAE3A6494E41F1C2FD28165511C55A2365AA7CDDA9BABA155F4D52A6CC +148CBFF09106E480284FC5E9FBBD4AB9EE52049C0292CFD98FEA54AE7952BA21 +905B56C23E50622198DAB78D886CACC636A4822210AB53B358A24F2D91877C70 +642843E698AC466A53646CA63CFB80A1ADD8D516553ED0EEA4F63B9337F0FAE8 +2B0BDC6A681AE55AC4ED56904670804251FC15ADBBCFF846224DF0825E7F9483 +6B615611C797F4E035EF2F728428309C4AA5D50B30A98DDFE0B90A78DA9F46F1 +7AEDD173C170587DBD1EBE06A6CCD4348759471008BB9B09110B9E0A30BB6350 +5081AFA183DDF5D25A42318719914DD9F5C38AF94FDD849D22138D1A9F26ED4D +B9782D28D25986ACEFA2656EE7425728DDF9503F8064D658B20AFA5EEB60C0A1 +2283A87315267C2499B6BA6FADDD1912AB337225877423545C8EDEA4C0122C97 +08C2CE92D744E3890CD2042032758AEA4681EAB5791B8F71031BD746BE5DDEFE +2A84E7DFE75D97380611B986939875DE303E107B81E1AC0DCB19A9BAE6F67B49 +B04A11D7A4FAF4C92547D8580D5F661A489DBB9C0C02B4BAC88B63DD1CC202E7 +BBBC0C01CB20B8CEE657B9A9E38F35A0AAAD28C0347424725327F9BB09E91F1A +6D16A44ADDFD096B48DC6A2665A2AAA6E35CF6C517A194275F7E235FE21B7419 +B762EF7A56F6BD785273EC890EDC834C01E4B21BCF14A96AB9131AEA5E45D238 +72E425BA5E5910E1359E4FBC497784CAAD38575D70F707F41A8CD31259C2A20A +467EAF36691D773A350E6A3E56337FD79D4A69DF5386D89FEB81555DE3A3D8C8 +FB6C8A2228EABC98B9D20230B859B42C23D5356D9008B2EEF8500869C6F926AD +43F4DBBB60FA178CC881DDB51074A8F8F79020F880DB554127F3663D9AB3E62D +0B38371E149D73C3F240CE49208CE26C477CDC90E3650030004A1411471A4205 +E24CD87942D19848D2765898A10AE04964EDC4ADA7E1BED5B970E26C4044DCFF +FE2567FFF26101480CC7D9C249BAFF46817C49E81076C46FC32D127EDE804D4B +8BCE9F3D72520F14B8A612D0E899E5CC4C641E688173636FD247AC644B411662 +3BA08587BC5473B38078A312BFB4DF6DB494ACC43825CFADE5719B7D092CBDCE +568C4D3FE2ACCD341F48E23AAF6BAB0095D6D510132C08762C0F2294841591E2 +9C5C1E516BAB78565653C1BC55A6033139397AF3EA1DF3C72F9E32D66235A0C0 +28A9DD29BA1C0A222F0EE3662253DD894944C5FB0166008C5A1909BABF46E859 +DC59157A1B0BE6741A2CB0C35A76D4E04939B35110B78E300A09E54178DACF17 +334C6C47106D0E9783BA75730DFC55269C4A96695EFD3E82BFCC351702F6564C +7652EDB7C02D50D54C3C4E708969AD3627831ABA868E3BCE67B6048643026A4F +1E3DB763CDB284D8410D25CCB520AC07C1469AAC14C87D9BC52030A427551E7A +D4739A5F37E23E870A28A6E9BA533482C7480A8ACF9DD22011731332F0B6DC79 +D86465C538A27A939AA8FDA1A3F0D30FFF1258FBFBC610D01383F612718B058D +2791DDB4863EFA79B4ED60D84C767CA6349A0037C0337526A10E6BD14A0D6B96 +99E7C6AC8D3E2F8036A3A6BC98DED1662D1EB46341E63F2E4E273BF1145E6965 +8460C209D918063589FA2C3930CB960005214A5D2784C6B6045734E95A81EF39 +5B1D833D6989FAF902EE406B61474F85FBB39868A2575C5C9CFD432EBDB6982C +F428972F9DF6A75D1D9834DBF8A1488C3A84A49CBF7440A2E77FA85B78AF7EB4 +29CC968201DF81A2365AEF49A4ABF057C99205B94EA977917A884E2A3A19CE21 +D10DC265B4434122490D3FE316530C82FE8A39C3F59A0EE23FAAE144452184EC +D3799FF4BCCFB38ED297A279738874F58C06506A9D263F45CF825D57983E1CB4 +DDFBEEE8D2A5897FFB6B7BF663C493EE60FD629E2606DE1DCCFA2792482C9AD6 +A6EEAF6560DBCA665F4CA4AA843FF6D02D5C72E5E5ABFEC5584D5FF19D66439F +A4931F985E3CA6643706E6B19BDF611EE2BA3E50923E2BE6CBFD5BB30682E031 +3C3CF9A788C11F2DA441A69324A8BBBB9BC838B69F3053BED49FC97F0DD0200A +7051B322CE54B77533275A21E3BF605D930D3765309699E6D931009BAF642F44 +BF2EB62DA438DBDC891B3C3A1E28843EA76174A0A2E78DF2F0AA7DA283204F92 +AD93A75FD1EC056D9F19F7E99ECAE4E4A7DD77F520A07833BF3582A4B7BEC0FC +038C3A8CDF3A09931CB64FE8572926A04DC33B3233752D22AF1A35863A604E30 +1E93286A5B5958845F4EFC52F6913AF78A63F649B5B6EEDC66AA11AE8CC5B955 +321D0E758D855EABD38CF9B4611A7417197BB226CB297539EA996CEBC1E48C69 +D135789276582355C5B0BC1D00C1395B21A128CB8928BDC4A661F4E529BA4500 +9DD1B2E995CAC781E3914CF66BAD4D9533809E3C71B2F3C73217FEE663A426D3 +43A12D0B7A7B91AD36BB61735BD347654870915132116909C471E353FF73CA7F +BC938E54213B041D01E304432647A4714064FDEDDF32A6365D48276B0535E45F +852FDB3E23505F54DEB38AD214B1F9ABB6E72A9B338F484F9B4E24CC06EE8A2B +7B869C21E3541915EB8CE1D2347204DDCBF8E344BD7D5949D5009BD09642CE94 +1C4AED772A3EC2F29B5F1ABE10C8C43AC98F943AADF7A369954F8F808569D8A6 +51F0BE750E11E6856D34A6E996536991A69FC46CB472F3C0B4DCF170FD3BD7F7 +E1189634C0E640789C1F9BA00C7DAC353A1864D62BC289FBDBD5CF1E0EC33E15 +4B81FA07AE63D969F10A7F36C062D3CACCF9EF553D9442D6CEA64F7E6AE629F5 +784C710D42EDAA206EAAD9A170672E88FE1F87794880E05DC122D8A845CEF486 +50A6F4A150B2517C55A450F54A7F260CA53B231A37860DAB56D7E024428FFCDE +A387759B164C9059B45D2F812C77EF70AFC9931549D0173DAA1EFC4C522C2DAA +123822B1D0C93AC31B15BF9204A1CE551C924024B754A1E65DB1CA16002023CE +CC863AA533A9BA2AD137E753FCA1F1AE26A42F539E3F4759804D7CDAC0D2906E +F81612C70AA2C4CF6ECA4919E3D3F6EE8920892B9F10E038E3315B40349872F8 +988F5BD0DA8F9533567D8BA06220B4F0BE6A01561C769ABADB4B8788180DD829 +5ED3CD5FD887B7F90BA25CDA41269AE049EDB0831E180C386C930510627B83F8 +BEEF8BA9C79B5E030355F16BBD2E0CF5AD28929C424839F8B062423880CF9C63 +81D3ED5CA75630307FEE9A4DF5D2F657AAE2D8DD68C803D4747CFC82DEAF43AA +98DCE325856191A21AB8A2BE76D12C9E11975D9A9931EA129A1F7DC726F415EC +37EDB9225A803468FC3B4C4B26B98680B2047DAFB1E79CA0A42CF0B23F02D573 +E7F7B60BD2F2BAE6C0794461E5901EEA70248F53AC82FC0EA0B52CFCEAC72053 +1985F132C2EFC78DA727E46D7DF71987A8C3561626A877C0B35BA2F88B9889D8 +B69274259A1CEBC064E420A3A915FFA98DD3373E7ED568867C4806C45B619C68 +448AC7DD9977435652A1A149D2B58FC74758AAF85E69CC6AFA0E912AADAF1D40 +12A2E5C79DF222D088688B85427FA79C35DF18D0B3AA04C85C936C454EB8A88A +16C2073EABCDBC446B795C411C1FD86E8802FAAA264F19C450DAB7522A9FA843 +270FA6ABFF4D09BF265B12A21BC2527F00F25BB5788D7B904D3FAA3653761D95 +D7A72E6947D20ED0F13C61F41270F00B79521D7EB495E8EB4F75575B4D4AA371 +7C8E2BD76F6357B6134A609FF8DD9F5488815D0002203CAABB680D900AF0C5CF +5E714A083BDA7BEBBFD8B8EA686CED562340642310981EC6D3A3AE4C7B0F7ED7 +B7AA1D901181EC0FD00182D60235B6F3E741BEB2066568E1CB28FA561C5F0AE8 +193B70478BEDCD1D956B897010EE4D58021FBDC28B0A65AC4B6FD9B547C0CCDA +DBC9AEF5C76DB573595915BF21FE6138F86B6A2154705D3801B1623DDBAE7C69 +87F94795D8EB4F156F3A8E74947C2CA10E2531F45AD3D92CE2B9301CFCAED483 +B98A3D487A42D2FC6C20194A516BDF5A79CABDE7FC0B43FD30FF5183CD418E23 +D76E24559B785F370A3B52B0BA8AEA8DCDE547787A33FD3A9D11047F38A17466 +3C51B962B1A21B16C129D33B0BD510D9A9B0A3560D5E05CAE26AB9507EA5F240 +5B28E67F7DF457B07741DAF86A3910757681A295CF79CD7CFCEBF7E54896FFC5 +8F000206D6B34843B6E1DCD4FFB655CA88BCD71AFDD81F93AE47A18E7EE46C39 +AE495E1A4B96A49257CD49351CFBA87AC5C07F754EC324EAA22BD993306E5BE3 +71A3757ECA6BC50DBB19D6352BC3500F9BC8F396BDE041E9C2C9178D6A586E09 +99E912781B08504705FFD74C1379CF1B7EF91C5F276CA3B2F1B959968BE102BF +E0DED84696FE54DF4125DFC6A08BAC40559EA37B4742E3AADD69FF9CE23F7258 +2E96696DED2A96E7279730D979D9D0BC0447BF6D8ED7B28689ABAE41DB85BA87 +FD89052E007796CDAAEE68586AD7DD684F5C26A25BBD93885AB8F57C8452F8F8 +2D8EA8AA686ACA446508C1BDEED691A69164BDDFDDFAB594435EDBD53FDCA96E +52466F8C71AB416021F197F7389B07143971295E549E3EC9BCB7CA7EA483DD01 +96A0447EC5D41B450D240A9CA0D3282211130A7E0D089965EBB8702CADB66370 +DCCBA6605E6199066CA8074F67089A297D094EDA663B6844912DAE5E46D0D4B9 +D66AEF008C464E17976560969FEDB7C729A4356A904344C59CFDEA53B40F8BA2 +F04AC0653A6856D283950280DCBDDF0DB68B9922EE7FC294526F7B0DE95D20FC +868746DFEAFAC90756FDB913FE4F1DFF767CD5662E30B227CC9BE60FCDCBAA8C +16797EE092010478E04233581F032A1D67F9D5E6A10F7AB4513B65F5D479BA15 +312201D0C6E92B0D50960C92D46B67B2E844D55015DDE98B05B43423CC9BF2C1 +F863D6E8CC32E6E3DB8216D5747DA2E70843800FADAFC3C5DD08675EB6CBD369 +454E2854044DD402F81B40CE854F18D533BA962CF0D62CFF5DB98952369C9343 +FB4FCF95EEEFD79E6185EF0ABFA8C68EBAAFD4BDE1049F97497C004E29B02021 +0F0DAB7DC823DB7A8924D711F9ADE4FF0BDFE1D7FB76780446E1DA9838EC6993 +A14E936AC09B2DD9FE0310C22999154E9FCE8DC2FB1438CD75C78C45FC24B7D3 +C75BFD9ADA6502AD09A90EF353FC5616C03B436D5A1FC14C15842E301D5A60D4 +D10B57B35D9FD7F2435A0AA4E24F4AE2BCC7C9B8D6786D5295A87AF8FF891F13 +2563C5795372932A0D8BDADE96194E422A319195712CC88A71CC5F8239BCE926 +B541E94E860161B17233FD2A31F3004CB2BE6B735E1BD7E27416EEAC4109A218 +BF84D733352B6906306C26C88E3C8B6A3AA2E91C3B5E4ABEEE887F21E866407D +BBE66843FBA8DABD33DC007F7D7A317381E6970D98CF0B76753F9616B85F447A +0B3E277EEDB9A309722034575E512980D1771586B87D6DA1FC86E9738DFAE1B3 +383D91425A7B753B40CB8CD0FDCDBA85B994BEF6952A6EBD9F3EC99099B03437 +DB44C3C3320C225F67FDB43D8175BC9692681EE0635420E5A0BBF76B72E9E7C4 +A74490A9BDAC3926FA2338764D96007A36DB2ADC140892E291B4B3A45F3D27F4 +0E7DD6647DA78825173DB5E3FBC28ABD990717820DFFA69DF2BF287EF548F80B +592C0257D12472A5E3C654798D3BEF8E61B2B4113A36F52F15EE3592F4BB12D5 +4365D531FBCA14C2A792A35F553BB76B1398A210945A9B4A7A09EF512D99C6F3 +54D0E9A86D83472732218D1742853FDE4A679393277F99BBE493EC9D38290BD3 +5C1B3C179CF6EC71499650236CBA9FE46921DA1DC5F74F6AA9C8F6F2DD45690B +5B0FF0023CE861A32439164CB5FFAE54A3622FE34ACBA24197D2BB66893329C5 +6E691A9A126E0E3083556F9D8922AA9226F96DFD9069171E1892F9D328A8DE37 +67BCDEF890B1601B0C0D6E98F8CFB309413F311912EDAC686E17C2AB141E34BD +F98D2F1140809C62C1344B237D9E4535006F60ACD93A2B3E1DDDB4C7AB7700ED +4E8F67C1F3898B65E875806C343DE4EF9A3B6CF89D85A1ED4F9E5D8A51036AE1 +3D6CC1CB50641994D66861A5CABF8EF228541FA3087919EF47E15ADD0AF6048B +FDBC9F08256FF647BB3F732D6B899868475F25812DF543060C7C4F7499769978 +12F15D1FDA2CAA26763C4ABA291D0BDC420B68BFBA83E7B0594232B716ADABFB +D0663171516125EA6AB5950F18C4005402D0D324132173CFC8CE646E69EBAFC9 +B736506180F23EFB814FEC93D7A336FC65C82B707E31823F49B4F773A6095828 +C49EAE7982BB5AF91F8BDE037A434B7888658F86141AA4CA16BBE299176C5D1B +21EC50FE4E8C160212E26BE75D7BE7F10811061DA758CB529B82F9EBEEE90F03 +5C9994922ADA3002447B10270977F87A3B1CC2241A21AF8BA9EF663BEB75F418 +843A8B44E7CEDD2C166D1D10078BEE66350DC99FD90A2D8BFCC6C2A1FFBED8D4 +5826E4B044FE7411DF55213622D92F13FA0606C8C3FB8452C1C240BDB67D858C +DA68FCA7746F76FA6576D4638985FDED88A10AA22678A07B626B44FEB564D8C0 +CCF74949F7A192485A178112E7CEED0035D35640CC9635C38F3EE823C8F11983 +47B56763D53BA55881776CB218A38B2198D438E53A65BFC4BA3524F86B6A5596 +646F58F3DC05CFD8337D8433D3210D5CF22842DD700E86B87195588C6FC34FA4 +7112E16492E9A8BE55CF7FF5036ED5DA8779B45E115EF19BE9453B0102B10F9C +B9EDE16645571C0B1649B467E556DEE119A12232BBBE15A95D6236579D05CA2D +C3FFCE0FD59BF42A8AD6DCEC9597D600E0CD59AC559AE4577692959938B30FB0 +CECAA03C4CE96D126B1CDED0D2DDBFC8FD4863B65EA555AFBEA1AD2541A62D46 +B9817845BE843751F2C7B7A907AB8FE9C33A83FB3B4EA1AD7D26B45AFD5D98F5 +C88DA2B918E2BE3437FD088B35087DC6BC68F6FF039FC23AD2289D8AC24AAE69 +08A4137B5F2BECB443428631564777E38B06695C0FC1FEDAFAA6343E73B2AC76 +3055E0B98A2314C0B016AEE6F5DC847A02D58782D758003401D4F0D9E6A54CA4 +8BAB007E39666EBC0EC0813D5143A6D378BE19EBF949407910D6365DAECDC088 +19F74CF45F65A391E40720FC74E63CE014F5C7F0B3E29C11BC3165F00072E60C +930F7264F6FAF3EC1484154DCB75B49972C5C7D807DB8DD098E08DF10BF37621 +F5504D71B6E4219BD64B430737F2D903E79398AD969B7D52E193D6C07804A54E +BED094EAC4BE53FA336CF9D50AEF82393828E42A6C5E6E5E74ABA666B52BDC76 +64601AB56106801423BC9D4025794FECFAC0225D40F0E4B7276EE88A25E7B2E5 +2F130FD291E55AF98D844BBCE04F75A037B5F4E76B7397FE177427FD5DCED71A +1352FE4B3D7F02B939BA0ECFBCA4FF076E52813EAAF3397BB03C6C8F1102911D +9CAA879B0C755437936B829F3A7912F205474BC31F5EE2FD01D0219AD3B37D28 +E4187BFC5A51A91EE35D886197E395C7E45FD676496C3AD47602110149D452BD +E9AF45F2BD15153282DD38E2058D0478876BB19D67D9DD00FEDE5F1E5FD66DC8 +5A2A020058A74BDE229B07EDE638F8E69818F0BB1FA356F1E8C4D4F2A988DCD5 +D5A2C904A11E8D97C90E25600EB904E3435A69CAD347A3317A5AA33BBB926593 +B6834419D69FC13F6B28 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFSX2488 +%!FontType1-1.0: SFSX2488 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecsx2488, tcsx2488, lasx2488, lbsx2488, lcsx2488, rxsx2488. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Sans Serif Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFSX2488 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-234 -317 1747 888}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E4875AA30E93C19889DD13D93BACBC65622E7EB9902A97 +AFC063E59F1F98D2522DAEEAAD83FEBFC1F9021C7A3FE5481B4309EF7C59353A +C66DB06E43F6389BAA3C569AD58E14DDA4D0AF8689155ABF1888E7ED871F5372 +E4ADBB949D7EB2DD8C37897C94AF59D1E8B28D618D84E4CF11E8793E88C7853E +678B0296C0D0EF23EE0732030FB15CAA797CE9886570A070346FE5976A9C49BE +DDD47C1E38F6229007FEAA7E13A47AA51A253C67EAFC16F7A303E7FFA123876C +E1D89FB17850E071ACAEB12D5AC174864DE3E91209331DC849CEA3ED6A6B6B39 +918D8F8463DC5FBB89BCAC0095153EB449FA3C4D57759C703A3ACA38408706B6 +5C3542228C0BC6DA6904835C1B8365A1431EA4515F43B6C816776FDC25D4998A +318C054A9A1A63474A5B79487BCD549D5EAA47AABAF792919A9D126B5AAE71F3 +8BAE7B89D134C37970D5B3F43D736D54704B984A2302D1FCC88482126B1A1DDD +0122E887A93A85C87B396AF754B9EF343759BA930221B518DC1F6B4596BDA918 +8F9303CC6363830445464A826F60871CB5F9B18745CBB5A8CBC09CA9963E5D09 +C8068B193A2CD7C9D26EFAC9E1DD46D7C309B3765757875CFD8C286E879D9028 +A8FA013C0EB5775664BA314CB75324E28FF57469BB8EA0FF9B4557EE5D9F2A9B +20DFAD3EC7BC90A7972DFBA2384616C0AF12F17DFCD18480D2F98B801D2AFFE3 +BA22D2FDF6C7D6F4524D70657873F1EB737779BC171E38811CF293D5D7FCC28C +44F6F25A07BC70130D95434E4075CF3985E01C4D4A60AE5543F78021362ED300 +D2FA7A60B4F30B4D7F94F4E8851CD927C5A99425AD8B6FD1851C4DC09370828E +680D1AD07D3EF05A63950D1B9DB8A6631974ABA413D23810612C0982882FBBF7 +4F876028A3D4EE0144CF74D866C8428FA690CDA384013A936A061ACBB08CBCEF +37982C0B172EF398AE19A7D029E70F1D17FE5B3232F360DE31BC26F05FD9DFDF +05F75832342BA4F4C57BDFE6BD073F2376E62BB55C9DB2519815C98E40C0BFEC +4751CAAF475187DEA3D7081051BE1AA7278BF38D12D6B591F1A55F00F892C767 +894C021B4C4B48F8C84B608B7826A5D0246B5328690BBCE0DCAD715D1C06273B +79FBD2B4736E2BAF092DF5E88D51C674C81B678D6263B8466D27EE48359C00C3 +72BD394EEC35FE44A402E06902887B4732C7BBD1A0B7301A83488025D9A87F48 +5E0C8433097E65D13F6BB15B45EE9FA75E292D9AD865D3E5BCBAF2BED6B4EC91 +B8324774679E9C6D454C810F647398EE737D274BA7163BC5BBF4AC556E4644E6 +6661622471C2DE17840410D6E0CE7863428422EFDDAC545FDE0BFB5EBD8F2469 +9F23212FAE9A22CC60739504BDCB140E3F6DE01DA1C4DF97A1B435BC1AE23B20 +461CB3CF6AF9981C72DDA4E05B38314F6AAA11C7256B7E15B045E7F109890F4D +F338C21B23FA9AEB505F4184C56318C3775036012CDF509B2CF760AB25808E9C +A43285E0966E082184D9AFCAECE41E6AC2727D6F2C32C04C8D597F6C89318C95 +575AD22D36C09D3484710193D79B9B3EACA8BC91157F74B14FF20415743D0DF6 +AD46603D441C792E662C2CC8D20E7B2FEC571CCD3484616D65793FD92173A54E +93A240DFDECE3F75D7B6653DA44C4875F78E11BDA3AAE0199F32CDC9E5492F17 +615E9FA31A9E626093C72EB9CC2F5DA0FE3327CC71F9D632A9E06A5372F18790 +84AD336256259A858F706B6AA311D5E9443B560628D445A8D20F19EDC34B5E6B +B1572F82E20837D90EE0F77297F12D702635CF53344B8737035313A4DECF1BCA +60F05D9235F8A8F736C91556BCAD438708382B1D24B72488A4E940260665A456 +3EC6DA1F5C27F49F76CA344D0BC471F8D754B382C829EC6A4D68FDEDD8872948 +F79D51584470370083858C1BC243F451CC78F25D7C50AAE21599E7945E6D9BBB +8EBA6FC48DFE516E8A8ECF92737E9866B5A96EFAF64128846625715FD9F7C696 +B1640F39199575691E9CE5D30FD8B30DD02E62A1BF81487C4ABCB03C2791F3A8 +045DC239D4F2792830D0DD6DF169E43AE197A2535595C9DC178E9CCABB25C289 +7159B87DF03E21B46096A7B43CCC37D57268BA44259D932FE11F4A2535E72E07 +C6A26E593FD039A07A197CA411B133F0B99A05EBF83051F71C275332414CD1FF +CE861D48CFA30B00F20FE3D7C3C6CB197D83C3C70DDAA0A2642D2E196FE1DD85 +6BC43FDCB81A9D4F6018A18C7B78DCCC081319918A78EC3E569E5368538FA44F +16FF9240F48144874F19A0B7287A44967279B8B5AAE1D82AA6BDC087DD39AD91 +D8C8E7EF55FA76578739B8A3086A1CD64A2D080E00960473DD6D25C68AB8F0D9 +B0B4E067010F61D39403AAFDF0A13E3EC32FA9DBC6686F1539DCC1B27E139CE1 +DA5D9ABF62644B5D90E23DE7A67F96E610AB2E735BA99883C04E8D7020079378 +1FCC78A2102C26D2E3DC0DD2F3FF5C4B8960F70250E19FFC8F6D6C005EACE2A7 +A366954D63F5634D4D446F83297FAA9EAF14BFEDBC0423C0C477112C38AC578B +18E74D5010380D740F2AD1C9E5F430B07C172B74B834CA03400799772D58532F +55258B36AA134B12B7350E4223F958265E3A4F4E957322B9034E4AE6119641B1 +D9932E97B8CAB5E512572D7D0891B23533D2176F453BC19DB8F1AED575F353B3 +9475B36FF6FAC7FD66141D825F45C1149412874D8511BD47543E22BADD90F857 +3444EDCAD0114140E52B7E153C354CFA58B75B99C856D4D9849DA945F7660FD9 +E2444CEE8D8229B93E8A597F177401E8C7CB41D1A679F924EF7DF11C0FB29AFB +A96C705BB50ACEFCE078C19369F0F95093CF209BD8B60144E7F1BCF951C48684 +A36660808500825AA23D630C2D9D32E2C793193AEE3A19BA91063421988EA0A6 +20D48B9B1CFF5F6AA060CEA042816BA7B69C0E7A1655BDE9B3FFAA2C575D1C03 +B6C95A6B3BBF90DDD65A0C14170CC7B136CD618D8723910BE458B43A3D1C2B9E +EF2A3B3FCFC5F810414634BCF507E7AC527C1447CAE7EA802421E5DC01B8DEA5 +02770D168EAF28C337D45762A088176DCD3A315E523BCB2EBA36143280C65FB8 +541FC81D6B9BDF74EF6E320AB25C8D75EBCCAAAD0D1FC5818F220B2C713BA3B6 +11ACA1743E051A5CD3E1C80121D077C8403A2403F0F14375305720D29A145191 +2F4A74DFEAEE232B1F2D551B141D9CCFC489CCB689374652DD390A384EAD190C +B950D0E91ED2B5A8DE55BCC9E99C2E7C903AE04590721063093FB20C4D06138F +69A4772B854BA0F29B03EE1486CE8422288404C4668F6F87438C6745F282F7CA +2D3A11102B9C65136126E8C09337B7A6EF3671320A7F252FCB0FDCE8C6A0CC44 +D808138ED0DF342EEA443F7FC8B838BC0D230C40972E6D8847FEBBEB43FF7C73 +AFBD42B9952FB62006DECA4E42FD1722C8EE566FFB041CA181B2EA2D5BAF387F +E861DA45FE0335B6EF780BD59AF906D603AB47E17888FC2C1C9A3DFA6C31BFB1 +D57BE26AE57A5419F1C253ADC20659B5F92CBD85C145C3D259FA1FBEA0F6A00C +43DEF3A7DEDDCCF18B706A4D430ADB1F798605E4D9E9ADBB1A31FD0E4001AE32 +BFF67377D94F8803BCAE80EC59434C7F4C0B854F7DD668D66870BEA874628E0A +4FA065C0B2CD0DC51765A2B65BDB76F36083F7FDA217DF1D4ACED4B89D520E9A +556DA239A35712BE7FB1CC3D71B51D4817037ED658A684EA21E5D7E5EE2FF39F +C53A2E53B10E2384825C5AD86E71DC698A264E12933D2FD3C6966D12CDFBFB9E +F2E73CD8A742E6FFA12DAA8E14EC892378DD9EF71EFD8625FC998752DA9D6055 +50F4F7A1482EE312B5F73CDC4331AB0C01ED5F1E3749CBD6AEBB0DFB80852117 +5C60CCD762F1ABF747549F6FAA26FA10E1018F18C8F005173602E03A07034BCC +C33741B39B57816991B24E6581F74FE0DFC963C150593EC6B655303FE43DE369 +C48C9E8980221C4A19FA7CC1FA84F0D42E7A93B3471ADD65E46C11ECDBD527C4 +6914D29D51438B5F4CF583761FC3F7DA2608909B7E4FE4D8D9B185BC68AD5D44 +361B4C2B70956BAED271D32384616393B2378622A7A5D19A2E0AE2331F55F22A +E8C024DDEDD6D7DF33CF3C5807D968B84A7FB100468C4529613CD5DA6628D725 +5CC1CFFD95F8A7D45E5FCB9B24D37C1A468F1EA8A0FB857FA703F2813EFD00C6 +21509B9F1AEC8F6AC22DD822E1A1D0CA9BCE84B9860CBE7E0CD8B2844CCB6110 +EBBBD33AB0C871AB44177E4F68BA74347CDD3AD3DDBEC1AB6374E1E10A9648D3 +38D194D67FB179A172CE41A84F0A02D1BB923F96157C957E2D140CEFA96E559D +73541D0D52394BC6EF1728620A7DEA91A4C2140EC4A3A222556396616E6E5545 +6DEAD95453335FD6703BBC2F3C588C42CC8FC0A8317E7FEE732C4D3004CC32F8 +29B64C360D5E100D1F095275D4E9C6C475E9975FE2FC242B14097CDA9A312363 +4869992569E9AEDBDCEB506E9B93D99B3C45D305C63C25AD831094BC7F0EA888 +CDE806E50A568A8D9E0D617D0651AD3DD3B7CFE41B4359C89C36A60BD4925131 +11286F60DC32825F6C50AE8EE0F548EEBD0BA1A11E393C3A59C005718712C09E +A0A864F3339E0AF4CB954B8D0C08D3D0EA87BD5B92A62CE6BCF095DA482A4DED +969A8F4CC0D8925CB7CBA56FECEF89358AD61D0D5C29D2F118506E1E6C1383C1 +F00ADDF82CC5F283B2DE52A78D34306301489EC247E7888556A5C31F69E93555 +250A462BC20FEF409005A1FED6A1284F2D0E9F00965AC10E2C82352D6C9C9E1F +76617F02A6AA261A691C6304C675685A105757A5998589D7ACF81C3505D4C32B +083901F1E0386ABD238214A2A47DFF9A7F01AF160394A462D766ACA64A7C9473 +72AEA5032FE6682EB3D04B27A736F901F247158CD4849962B184118936B770D9 +01A82428DA343DCA5AE984D208DE293094158F2C092B42A314497D1D267901D9 +C5FD0C0DCA99CA436114846D1036F8F468BBE13DA25AEC236C1FE9964D8819DD +67B489D07D7BF3BA998726FCFA82AC82DEA463341F821DEE8DFFAD0E3F3F3A44 +0601B6A004DEAB37B26010BB2EC1D1392EEE038F1B813F43FA03987F7CCD03D3 +10B15D4F19504541E549FD4C2C122F9A948F50AA47A747E3F7FF9B3FC935C177 +62B43E6F111BBB5B96BF5B21947E77981D0DFA681D3FBE972751AA9F0298E873 +5741DA37E29C076F2F38367DD8008B4E6DF0DCA7EF476FB73EE5A0163435FD0C +8BC9894BB6597DE0BFCDFD63A9D5FFE08D24D1BF1576BC1C26FE5D6B594ADF0F +A37688A4FF913D3F49FFC48A6D27820FEEFBE23328E6C0D35AE05E9ABA7CB89D +7A07C604C930F24EAF36298CF0E839EF29B2394A267351E7CDD7AFAE62062589 +00B6BCC488EA5377941C7D4C1A6F17164EA359F717BC5972BDE2D2BB4E21A9A6 +F8EBF653856055EA905AE045E8814A497ABED1A5A701A394932F679444C284E4 +2F7CAFFF55C00E0300C50721A92E2D981B85DA2E574B04C786ADEA99C57FCAAF +1A9A30E3E80375754D19D2537B2CB7F48287F12F93E3D6B28A4A54B5D2D82022 +FC4BF826BA785359F8C49C0B327AFEF4A2B222301FD7280B65F7F174EBDE90D1 +EDA458062AE89906098D9022F88C9ACD568DB86671E256B5412A5875ED54F352 +D66D136B8FAE2765F85FE43B5979AF6FA991D7AEBB785A7A71D463E644FEECCC +471318B2BF8178BFB8E2B70EC887C1374E870138E929AA5387CCE091F31AF9C6 +C6654897BB2D9147E5D3B31777A803D8EBB71B61343F7E41674334C47FBFA4D6 +2D6776FB11DDDB271F67E8743EC5C291DC6627D3B68E13F294488ECF22AE7B06 +BAA2E889020D48739B7C57838BF2BC337319AF8937D36D32859900A0632D4438 +24A5278EFC481EA4EB7E70A45490A6B6D9CDBCC867E87A73A7D4F9D7BF781CCD +2694F09A4C0E15B87831062D93A49DE7F5517A86017F680FCA3855552B2743FE +2C17CD43FFA399791020564C9B25C68186CB0B1C4C7D185FCC266788E2DEC93F +DCF70BC0C43B5D49E39A377946AD908DCCB8287E17BBA4F8F78561CD2815A88C +850B47A0DBC2A33039827335F3CC0A99D584C255FBEE470674E962F548EDB716 +962E44EFB348C5A0E024A9C530D75426F2119B7372FBEAB15F5DB32FEB66EA2B +123B0269F5C5E0242A3329AABBC0B6B76D953B78679A23C0BD615BDCBF3B5817 +19201018FE91AFD0B446441E0D4C268C2A4A0EDA65D11E8596CE8CC8967E1AEB +95199A02F8013F1A6410102E99D4FF7FBCFD8F193385123FBD0EAF3788648BF5 +BEBC51DC14B9B755ED7F034F99A7A86D70CF9AF7CC5A01C1AFE4B1CD5ABAD43E +AE696FD1F690C0A0C54E1F59886AC35C27648206F893FCA98B0D6952F979219B +247AD14CFD0DE44D81E73554ADEA67A78F81F67A0BE67D6274F99EED7EF81F7C +3DE36ED0BD0E131BED5D089AAED58B4CB3E9C7C82EE1FE5CD1137485B26BC8C3 +F9F7FB125AC97F952DC8ADB43F91AAAC9FC5E71BDADC1E5ABE8CB479F7A842BA +D05BC87AAD56928C24D1A37A5F58E2475C8B063396975CB0B0493E6294AA9704 +D083667702E4BF06F871DB941811ED3BB8AD43966DEEB308F76B431108241415 +585E304EAD398B3018FE6B4F370F7F61C6FBA0370CB6C241CE33EDC3470AA749 +FA5BE2A8F7D9EBE3F6A5E0BA436BBD25829C3E3AB3EF5B587626A5F1DA34009D +BA58BF45FE30CBF609A6B8F3897472CC01C22DF26AD8619150B09D4EE490149A +800CB4C0EA94256DC29D5786AC356DCB3BB34C9D419A70A0D047FB628B3BBCC0 +32FD49D5AB137C1481609B25CA2786B1B7D49B326860AF2A3526B0E6E6B7159D +038415262A3286810DC4F4FA49C4C3DB48823C8A88AA70289F6627936F5AB519 +714DC28C174D3AF0C9401D348F798A699A8A8EFFC394F1A1FBC56DBE82223FEE +14C3256903B484F4E13A29F907AA15EDE90F17906A065504F5EBE68622562944 +82CF5D93893DF19FD283E1BC19A5F2E35B9B7F1CAE4797DBAAEADA880EED3439 +9C667904EBD9FFCF04B34BBB659382B803A5FBBAAAE5F8E8E2625EEEE8D0D57B +09EF8C6E294C518851DA4CFF3F01E1D7D5770F0A058F9028E625733773720844 +5C7C712CC6F70EA75B8B579C053E17C9021855C7699BF2797616CE321C02B016 +5D0508583D0BD789A67E8C61CC15333BD0DB5AFB480E98105C626219BCFA296A +B82953060686ECEAA9F0C9AE9C5E95CB45F8125886F097CF267AED7964343B5A +9E8CD91DFA03E1F13740BC41AA3DEEA5ED6DE07CF0B1910ED59D59A9C8FE5750 +F35C875DA81AF659291A239C1D5DB5594CF9472D146D82396299495491603E63 +99E851E6312F444E7DD3F9F90AE53D165FE6FECD6D2ECE2FED6218913BBEFA7E +B6F68348EDAA7476A4F5667D78046F961E95494B54C3EF7B3DB6D8290AAC56F4 +B051A7546D7D0F8C91EC8298A7FA7F347962534A0A0D2413B3A7C9F9A905B447 +B5B836D674E0FF4165FE35E1599736DC754BC44144CB7A9543483425DECB077C +A8D8D0B82FBACEC53D60AB1DDA824DFEA1138F01FB4734256737E04B076AD4AC +025D0E116140922BDADDDE35A147F3E9CE7320E28742852664056BD384675ED2 +6F27EDB7D3B8DD91D49A09EE079F45AE936BF7DA3B1F8128ACF24D3BD428B121 +2E435E2282AB5A9A3BB9944C0862A5DB1CE329BD48D1AE088AE29EC812096BE2 +3A16697EB1B3CB2BD027C96D69FA18DB965B9D8C5F424594CCC6E244C61B96A9 +449819E929B93AB90CB9C15859CDC7C181F6C52C63A5696901EFE6AF127E3007 +4DF02C044564F338EE11AA405E0207C7E3274FA9447ACB9B4FA06EEB09BD4A14 +4A142858BD35EED2A4EAFE743D3AF679194570B9AFFCF749D080E7E42BED4E6C +0CFA5AB7EF4EB9428BECC79678680E266A6C70EA68992C4546421454C009B895 +20FED5AFC5F554AC5D22AA6D4B8A5AB31CB7F05A05B8CB892FA3370398915291 +EEF2B93A459608940E7BA8A5223A9170C48232191B2624EFB033A07C37A12F60 +E741D6C7EBDAA1845E4BEA607B52C7980791CF24225D5C8976C11406E630C62B +20570898CE57E94C8E444F592B411FC5F685A8D52C7F2BE0E0237EEC244189F8 +BBE3F05FE0BED47CE47EA5BCFB64288B6AB3D72CB20A8A656B07A3F256A69DFA +A5502AAA0FA2AF035F576A331E3D38ABDE3D963A9F5FE44DC25B26A971B6AC2A +B13D030BAFFC09271852AB2DDAAB218D7098F18ADDDA9E89265FD8D01D1B22B7 +C557E8007B09B95103753BA53A79CEB65DD7F36AEAA979A92F7ADC38D7A95CCA +BC721D46570B72CBBF7E0FBE8CCB7366922152C2792A819F430006B4B1E6EDE3 +0DDD6884F52B311FE4F146274656620B937E2DD0A948E52227F67980C92FC469 +CC030962FB6FC7C2A011B655829DF871F98366F505BFB8BBC469917A6F2A9039 +BB1AF6C0B99E3090036AC25A78E0A69DE64C8257C7F0E2EB4681A944FF1D0307 +67ADFEE9ED0305A99AAD168E9D4B070475D1761C26A48ED933C96BAFD8D4B247 +6BD89BE20D3890376557A8A623848718D0DF45F19FBA00895D87D97CD1146ABF +250917491FD16DB6B31C599B4B14E8BBDE7FC6E8585265ADC8CE1649295C0EDC +EA4F6B3CF63A79A37EC8F5AC94DD6EDA23003C1DC1968ABACBC9A34B2E05BF05 +C5DB8C916D3011D02CE45BF5E62E6F0100BE881F3D9BD11EB7E577EC66869BDD +29DC1B82FD19C81CDAD3AB1DD6EDDB2FE3BD6A70A09BE3536EE12E019A9D2285 +9D1596BE5850F27832DD1237C5909285BBE7696BE5EB128E9E92D448473BE822 +E3957638F8CFA2E78EC53B2848E0AFB5D74BFF42EDE07663DA70EA33B65248CA +88A192942117F7B043AC68ABC895597A452DA716B05A65B4DEAE9E2253E207EB +3B10F7613C59139ADFF03D73028BEDB6AFC73AE7072D80C54D3C0DBACA149CF0 +B00AFA79E4436C6564C5AA6DEDFEBB6B24D6410B3E0546199EA760C7C036C7F6 +6FB1380354A508F985795BEA6083999D41E547585243A37E9C40B98C34E092CF +209BD8B60144E7F1BCF951C4868F4DA0F256A69DFAA5502AAA0FA2AF035F576E +70F8A368F7267F027B8DA169D9F8F28ADE84C774265393F7661941E01443F4C2 +CDD4D67C312427F462E1B1B4A403B65AB50B2AF1F0D8F36C2AB8D493BCF21492 +7BE98BDB14F2F3EC7FE0BA186FA182F3048CAC9736F504D22684EED191209F04 +68BCEC278DF6D9668434092F51366A9047DA2CBB3D7005220E5131EA5D4BF66C +C45FED1DFC6E866F1C27B04A076BF58F0E203FF06C790940B4A32B0D0DC01576 +87ADFA8C2811471AF79E694CAA2DC543CE420DFF296F8FCB4C69B80B9C6D1A29 +705AC412FB980EC9433AE4A9080A7026E83223783CB35B31D82802C0F05FF22C +E05248DE1C21DAF2A3B21BE1163BEE7A3EDB4317840E9CA6D3D8656B3BCECFA4 +959132D9C34FBD5DD8F79EE2C811AC4CD3CB62D4FB608C55D9967910918C762B +DAE4D208B014C64738266F0005BB25C144079A9E06D1DBA4AF77BC1C6A126A6C +76BB597D1EAEAA55B5107A5566D32A57E5E229DAFA6A47330C67F4CB36770FDF +7F1358213B1B4DB2B2F16F41E89980EE4C206561F13E472210D9E9EF90013964 +69AA031FBBC18627297EE080267A8A5BF588633A9E4DB638AB93729A8B67AC84 +4D6BA348F1B580D6B8AB79495771ACBF4B6D9773D0F79297EC0B12990194A6B8 +8C5998F9F20B901936014F57BD2707948B506D9E519CF4B3EDE652E63E44EE5E +F03C87DD1B5400FBD250569E78C70C5EAA1DBC6A3B0E5D4E70C3A272CD5DFF38 +A45647D51A40C01C954051D5C7593D6546A9D962C3D68120C9705DD8F660F188 +0F19FE0EEEAC872F1A689BEF2A7BB645F8E223D8B46EEECB5F676837ACDE0089 +4CF022CDD8965A3A036A89AA0C3AF728A6E1C161EB20D1D6F385E5744ACF9F54 +8D5D48797888A818135775127C866FB1D697016FC2B739584F60D9B4AAE7CA68 +87439C38D6E4D95D8F947BD124052878A966B9A20363A5FB5DC7454898C0C5CB +2D5340BE2A1943B8659DD7D7207F8226625AE0F62D929A6C475AB50B0F6064AD +57B9C3D19DDE12A3C90713AD32B28BC389FEC375BBEFE38CBF3DF0552F7F6344 +0935735A1EED4392F8D780F9CB2509B6551EBB9FD01D631C2B635D6C03894692 +2783990E9A997E93C686F989702E43824F27494FA477A36D3113A561FD284C08 +04B7786C2374048A91F2EFD1DC0A89FD795431ADC672C1A1C3B4F65A046927F1 +FB5C8B02FB44809CABDAE34B0421822632DFB732A74067AEE6D29C6F276C5A3E +D6A7969DFE34921F47FBD9E1E3403FAFF41294971E32E3308C07190D57D1C425 +BB6FEC2597D681EB4AC7FC3F2B8825B1988590CFECA2221462479F25B8AEBC63 +3DEBBC68F65BAE827500CCB8A8DEFEF46DF8B41BC85059C38261BB77AFE139E3 +BD1D5ECDDAAC0B7F7C6B08D31C10475F3C339EF9578FBA89B6C81ABFB5DDD866 +09F2518E3E835894E9BC6AB4D041902FED34C7E806AD809738068E7878898C64 +529726A2C612471BC33EB5563CA921B50D54CC075C6C00039806CEFE554DE1FF +A0ACDE9C1D46EEC067CF616E84B62165BF919B7FAE8233B7AAF23EB24FF3851E +250DC3AC6688817E4B62F8C1D93B4F9ECFC14B5F3F44C330CF2FA9DBC6686F15 +39DCC1B27E139CE34FA8E7CBE98E2E7CD0A51BD638BC0C253BC1B4DD2931F830 +BF30A160C90B12E10F8AEF078D737650D73C050BFABA8C25ECCF81EE5F06F9BF +790EA9B56459BEE6955D3E4F0610DCB9EDCF8EBBE083F8A9CA4FE72E6FD72E0C +DE22C6BF6EC519ADBED96E0CEC2885EE9595CCEE99D0F1E85111990750232C1A +0F2C81359299D326F98270AB9DCC4117D6ED7C7EAE33C2D9039CC3ACDB83FB1E +D6242E2A4647D72FCD0C2677DAF9AB2831BB1D14F3353E3508B0126AF71DFD8A +BEE45F90A0BF72E56201DD07092CA78B984ADD85C2F1A1CA0C1736DCEB99C69B +E659A826641038F1298F5DB434B7EC51128087D8117F48330A6E72EA317EBBB8 +E813B504773D99A76404B4C54BBC2A6A4ABB63964DE162BD050AD2DE4ED8F785 +3E887FA996944A83934003AE6EC6CD98A11CF25BF9D1CFC7725D52551BAF3D21 +87685FC42C0F3575D98C9CAA8C556012EE5E31D9C4A78B39E67D270BA73C84C8 +B0B3B89FE45AFF6A86C9AF5A6CACC45382A37B570C5A0D315C76D0DAC5234CD2 +C205390622627FCB48BAB355E95EAFD6989386C7DF2A8EDD75890DCD6EC3EB7E +978B7113541C3B84D43689F17D50EB6A9486D0BDB1D3E99FF86030A5F94A2503 +82DCDB836B55F212F19C2A51654DD35C0F7A8403B2CB2AB40AE9F9B35276E98C +22F6D62D48AAC5BF951D56CDCDD2A5F02C09906F674153FB9D69D7BEB4251D54 +544460855284A7E474A7881D6854DA3233F713E645B4972D1EBEDB837CF697A1 +85249283F0EFF5D6069BDB9E884339D885C107B0DED29C9DE80276197A7689D0 +A96C853A7973EFE74BD32E7F3E47FA5B0ABA0F480AAE3866EEC0B930E8AED77C +57E0A3DECF243664ABAEC46C288FF4E06C8C42D4FEC7D5D05FD2B57226A37E38 +86E7FDEED53ADFC162096E73CE86FF9DBAB825EEF795DD0DEE8FA7A1DC74D031 +1D3A273FAAC4DDBC995BD4822441B447391A605313D50934419FDA978D4095F5 +DEC32B9265ADF8152818A7C7FCB56689C7B3071ACACCD0D3F83D6DA21DDF499E +702766A6826F992D99A546A9C636847B4E79A114130C02EED17F9C23C68FD200 +2922682DD82B7D3D622DDFA16383B91D900CF7372DE8CAF827186BE82080C782 +78759826CFF2D71D67C21EE1C8A5CD079CA4599B2D424EBA860D3FF29FB92FEF +1C8227C3A3A71F84A52F2BE751637420B70C1F659620ACFA11E9E26E867DEFD2 +68E21176ADA7E7ADBC7E4CED76E1D4EC4704BD05FF9ED825BA5E2E148DA86C37 +7B42A3174AC753B364F3437AC57469BC42FC201FE269C2E89705259942680654 +8380892E21766945DF24ECC961B0B1ABBD9239C9B660518C494B3868647B83EF +5B459D8A3B24AA15B2D18CD1BC8D5DD424FFE364428BDCD23FACAE25D5940795 +4565AF36B781F953706FC7216817167C784D1F0E949FF74FAA798AE997A267D6 +9BB86DA67B98F35A5B54341165435D0FB156ED00BB2221D85B2A2224FC3BCA74 +0FB48AEA7F6DD4A159429A5A869916E8F9D8998A5DD4D95803B7D95DA6D35FB7 +CF089BDC83D1DBEC62F3B1DCFC01BDDB016FC46B7490AD5190DDFC3CA7C9670F +3722555711097CDA9A3123634869992569E9AEDE627DFD243D7AE255D2AF18E2 +F500E56789FB9275E230B0127A819A6E27C71C390C37D3B44FFCD31970F8CAD3 +4EEB68EA6DB155D5CF7653F5D8ADB675128BC282144D38D7FCE12971B21C5C64 +B9AE98CC6628E51EBA46E244FC6751FFB768A672DC30D7185611344BB087FE60 +311463595C540619D87B474D29A37DD09153D5C0A73B921821671840590EACA0 +58927A71F24C332891DC18525D9B6E102648DE3CEB5FF58CB0F7EC02D7FE17DE +21B3AB6CD3885F0012382AA3BBE0CAF6D97357C00C3BE72D939F8EF3A1DD23AF +9149B8D33E4E20D768D61CB47F91282EDAFC4FE25FF7A7020278175E7DAD1E96 +7D520F98EE80F870F114FF4010102B4387AB3DC1E1BEA5E17788F8D3C4CD4D1A +67BCB8C29D51F0FFED665357992D491FBC69B8A862FD8D094F37CB28AA098BC4 +BA22F029985BB391F241C93E59D04C0611CF906FCDADB64094412A15A95F8AED +D9AB199138664F373856B9C3D19DDE12A3C90713AD32B28BC446511636D6BE6E +E9B793212D4DA46741AC14E929DE6E1268E76FF616DAA51DF3B1B4CB9E260C1B +54206E16BBC9223EA5D9B71181E1DECBA918C05E79FD1157F31A1B749D35F608 +F085D02D4753F758128E2C348C05A5CF266298ED5CE6AD63CBE031BC6CAA67AE +18613347AD972595B0BFD0746AFB81B58FCF067B66A438644ECD6A327AFCA6D3 +D423551D2530969281B85F09C03D370D6CB92798B68DEE20F853903F755911A9 +00FED03373EDF9FC0F2C91AFCE295EF14BA832B1D277A5EE824FCF86A700E558 +24E00E0D4EF4B8E2F95E92C9FCD24019F889A7107E9984A7EE9B14C72976CCF5 +5F2E61DB62F5D5BF63878591ABADEAB2550914DCF27C6B90522AEF7A6FE31D56 +6CAC82BB19B020FF7F27062C81E842C1851B665FE59E91D2B4E27D3B182DAA7E +5F6CD18BE115536F59F387F65A69A3E61E1ADAA4415E86870D7CD07A08A80AA5 +668FD3EAEF44FF4B019485623C234E7843D64CBC08DAC8C30DDEC0ED585F0DA3 +A10DB9BD9664FA5EBBC394F6F3B8BB856F528EF173E483782FCACA8DB225952A +1E6F21AFFF3F861E7AD31A870CCB24CCCED64C50BD25304F8DE9CE6CBDBA5FF8 +8D82ED87ADE9B168DA8C4820FBBC8A0BF42466C535066508DEA8E47CA1F7DDFC +5C1634BE22191810D79BADFCCB04D28D8BFD350655F5B81ED5C148CC24AE1351 +3D6257B109E9C16B2A0025DA665AD19EA3ED28F07755AC125A04A1FC3B39B6F1 +74FFEC15B2AD9D2897C79E73912740AD4739CA66526031CFC132D39ED4A6FA37 +883FB08893B5E2465C600215257EEBC0BB67D6CBC18BF607227134712FBDD572 +62326EAB7EBD4FB803C3248665D724F7933A1C545B83DC94CDAF1D7AAE628D8E +02E99D8D03E058A0D4B189F8BBEBC69409E0585464ED7F91C226110DFDBBEE19 +55667224C5C327AA555F0BB0E0DF3AA287C257F7C25118B07A9944777D347A8B +62F43FF50158B0F0A5E2BCB827E917F17E578EE829DFEF14636A8E2B766E0F89 +C9EDC6355B7544DB1A0CDF58D10BC11731387DBD1967FA40352820F2BDEDE6AD +10F354EA175A46F32B121C810226CCD80AF416C079A9D0CAC84A4DC6EEEEB1D2 +1800D722A9A3B917AE53D44EFB0A89BA0F1AF76D0DCE3B3A1E5D4A70A02757E3 +D966C96EC223C08E03F9F95753F94E438171035A6DBCE0DDB5ABE29D394F4E28 +ACF7B03E2A8BA5EA2291502744FD405DA2AEB37C97CAB2E29E84AA2BD29C2307 +454260D4727F3697AC9EC0E7C98310BBA39C60A90757B8059986ECF44C9E71D8 +415985CEF57A08E04B44B7E8C679BE49BBE1F6767E01B708A03EEF92F6BD7B6E +7381637AAAE53AC695D61B67563EE5E5AAB6A49FE620EF6E6892790658D71DAA +55B880A4A771866D4C637233922A2D709452FD10840FEA0ADF0B05185C4B452F +6094786E9BDA5BF8ECA5C1D75FBA2CF59DCD102CEC7A9B13CBC9BDAB52B8F69A +5E565748B32D0B6A5C37F31DABD7892DD4A7D3C7A0D3F0C9F61B80104564019A +0AB9D603FEE03E78985BCA8B2AC20FE5D327A5CE09746D00F4D04276542EC66D +6428C1BFEC5155122AB2D8202C86D8ED6E1873D8CED3AF09A0BB0195AB8603FB +6BE9B715E431D572281307934E65B354546EAAB9FA46E5270EA1C40D77793DB2 +033642F602DE66D86C3F86030A60C17C7897D3F56A0111D4BB1FA2CF114EA646 +AA69FE84639CC9F488375663B183FDF43ECB3F1A0733A58883E742E795EC98B5 +3DE8F62FFEC3594EDBE83C52997620CFDD0CD0AD02890460E30977F5D69F0766 +4DC3C49C9AE9D661F69E816FD775EE193B16DA7EAFA78FDBAED4BF7F39C7CCE5 +C8B6FF34CFCAAE32435F41D5E4957B34AFF592705718D29CB3BDE49421B7869F +F19F1C11819B053D038952F99AA7D7B11048C472910DB6C2993C9912B513E14A +309F3B172C78C3F5FD2A7EBB71DED2DE369CBE7B9F5188FBE8AFDFA1240CB790 +AEA6B38A0C1A3D6829045A925230AA4A616520C6CF837530BB6B4110EEF70166 +4FA122D1ECFD5E8D8238F401E77973E139CB9008ECF41E3A99AB148170361F1E +70783E845E6666F2F2BB2FA4F611181D881E92E09F6E537E0B49D4371D346EEA +7309854EEB654583A52F164DE9350DB08F44784912517175FE95E14289820F2A +E7C7FA5DE7477697819A2438424B2831BB2A148A87F4ADD2CDAE8EA6689796E3 +1C53006D49910B6B7D7E567AF050C99D5D25371701C8E9CC892D7E7D1D38D7F2 +23347E7866B15D215B6F37E98C25BC3DF350EB14C5E10E1F7DD3EB030DBA3F00 +F08249F03242C5A17B9CDF0D76ACB22481904D2066E8772B087918DAC93BEDF7 +A20AE8F912F34DB417D1FE3842AF111D2949A4F3B851FA5BCC2BF66173DC30C3 +99C97547E42DB66D6223CA93542304A98C8F384F854B7C7687430A2FD7ECFE9E +B00BE9729706AC41D4F6A410ED0D698EA85489E9A41E045EC25FD507AD20C4F7 +771F1875067659CD0F416BFD4F1517152536A26F9C736E52C07F950259AE1907 +FCB1AE308F10DD3A562E358317E6E21AB5C9E52BD7A0B205CCB5724EC3F27993 +E6C5AE40F2C624B36A933BFA95AA36F39966BB3030E2F5A93637426DE5052413 +FED60BFB77445B73A38C72469C57B0FABF28F1B9347BCDE598BFE2583C955EB3 +43F611F095E643EA4F4E9BFF0409CA8D96989617446E9E16FA2BDF6CE62D161D +1CF4EBAFD6DB7B51D1BFF16D0D1F7181817C3F51AEB28E8E5C2295C665C6388D +5B2584C215ECEEBDB37F9139AAC08B1F01BD5985E7A6B329D3940E11BDDADC3F +D9D9EFF6B907656154086C0AFF2467B2E9B84D06A29CF97081D3428A2A2A99CC +CA2C6EF11138A7888330304AF47BE7233E5DEBE15110E99EE23096F9298C12BB +EC79A11F80C46DFC066F8C8F6682E8B9175400B30900FCD1CA8640E6E32198C0 +7AC56244E6BA4A996CD0FCB69CA42F07DE3D187245E67ACC6957C5C2556D9163 +824F034B16B601DFEB74EE86D410349BAC46799E7FE16ABC1A4D60511AF75B09 +3C96D362AB29ED79631C9C8A7A7D39919D10B1BD6817D5CEAA35B14749704E67 +392E52118E537F78E90F8929252E51A6C2C7E7B01181C1C816E30AB3485E594D +FC9E57E3BB92CDC789898D423BAC25259C9770746B7940419A07EA6A96801997 +964A8C5299C3E917965595C3E87185EFAE1C0CA976C77FF1448C9BDB34F7D6DD +EF8D5E61BC5D743821CFB4883D60367B9F208C662EF6CB2A90B88779C51AE815 +C02F1D4CCD9CD7DAE4D4B8C76B211621B2CEB71F27F0BF00D3AD655084E8B788 +45DF04780864A73AED524B093FA4A5810E88056D523B4EA4CA826196FC125570 +84C035FEB681AEF4579C8AF3546AAFAF52DE22B257359D24766286E469BAD043 +354FD87F051D9962389CDC368EFBBAAB27092C0E9818AB453223A0CF7B6851A3 +5CF8A01136CDAB1147712CA4CEE23C6ADEC79BF29B3A8C18A3924CEF966A76B0 +1D15124E7E9036D29653DE9385568F622457F4E88B6039E0148F6BBF458A88CF +AC75CA76119012E6841FA9007D05620621CD246D4038957B3346FA41EA49E2F2 +81ED94286F91DC79B4623B9A5D91EFDECABFCBC4733B62BC0BDCEFD9E0D72021 +2344C20F50D036A66431F6C7E0BC5B6139D3BCA5841D13C4D120BACE8793D2EE +5401D7D9F25413767427B1B07C6CE826EC5E7F3A69258FE006F0D32DCE685BF6 +39169D925A99D5A876E8DBCA6205ECFBED19D14C82032FBB8E6684B361F74DF3 +85FC6B7DCEDAAA27257DA6B188B4A2CF6597742585B7A6FB189EA252D6B6EBB5 +68358749BADDDF1FD83703DB5A8F2737E24320E34141E296C3F36E96C3244C4D +2DDD85DC5054C08F115504710D020796622883AFF87FF3E3B49B9F9B31C46968 +C4AEA73F093EC3B25572798F3E323259DB239198DD2F382252E218D10BC79497 +F95DF3A3CB1F17D0316803CC2AD5B2BB3DB0E51101AEBDE6EAAAFE81169FFBBD +A540245D99C662C1E3B88890E87E0BA07409F767034D4A9051B8666C2E3C089E +34BA12C4B7BBCCC654C0330CC9874D83F6EFAF3C208C52A53658440B0DC259BD +BB364D9DE9914E33DDD3198FE989674B86BECCFD79437E64CD6D3C9CA9B45368 +73F6ECD6F0F0B4C3633A1B94C87D8885A6FA30CF109D3F9089B651035B9A8217 +8DE12276A93A0DA463F138056CF087430B9BC6E6C96C3ECCD5222E8019931CCF +8618963625DCE4C4003A165AC156029DA95A7638B9B882004002994C7D6A2CCD +0CACF8389E268D40CC3B3245B82574E9D93BC4F252D25831B3772CDCEC7C33CF +2AC643F7E91EA0BFA498EE51CA1D6FE1F6B66253654F4297F80CC0A5897DE410 +6887AF5E29B5368DD1475CEF47E55CD71C1A2593779B2F1055997379E7D63EF5 +6E765CEEAC67E040967C7E80ADF97DC70DCB8507CF6007C6ABDDB7E103DFCD36 +056B9E719A1361DFC8244E59CDD51630773812B1C1C2E7CDE5E3B9B97E5EBB47 +006CCC09790061D0BFEA12561FFAA99F3E1334E150C5242363B55C8EF6657BF1 +EAE3123D94AB401FBB7F48251D352F379DECC1E26A31A234EADF11F7EEC9D5B4 +F7662781D718F43FB6D7B3051BAA3C1EAFB070EDCBA68B47A51E46456AF1CBF0 +EAFC640B6D46EEB7969484BD1991D34EE9579E08C7BCF90E7B86DD5D09E216E6 +5771C053A8B27EB8E6C76E4119DB8FD8B76105A06050FDB69B0340D53A638B81 +003D57ACF7D24717CC8DA190A5E4CB071AD116BD38E8EB2AE503F2BCB82E28B2 +CFAF87FC6A092504D90F690E4CBC26C905A09ED123DEAE309A028E938EB1C96B +FC473348FEEF7CDAB66894AF5DE752FE8EF5B96BC91F7348269DC1D380F8333A +B7542162E5F3F925024AD224FC43715C47200EAA66FE1DEF10D74576C2A42B99 +9C0B6CE225101AA6A90519037C1D1B74FEEBF24594B804EA3BD544134B566AF5 +5C06D3869E38155BD2E429581C16D5C79310F6F3A1134E69BD1E12EAA7ACB669 +AF8DECBFD8645CAC579485353D2B810661D689B5F00FA36A6F3BB065493B6F62 +4ED401C8B89DC52B3BB8AA5BA478F8CB80A32EDB01BB42176213D8E431699077 +6186F5291AFDC969B4927FC2686E8980E8F09402ABF9EEB5AB6142F751EDA70E +217AF7B7681672CE80ABF918A9A0E32D190ED93067F3EFFE148E33D750950567 +CC8510B29D21A2D402FED0B221E5B0E7E32EAEC8939994F641698B65854E4A68 +24DE278FEC3C4DD91006A21E9924AA32E95A45E71F250F1AFD72F4BC2D434A35 +E47E23EACA3799B8D57CF6F4063A1F67F04C731C5A83B6E31FB1ABEE4EBCE683 +A87408BDAC20EBE12D8183FCBE0FDCEC5213052E31DAA367AD11AEF363A81347 +62CFA6F4A529EAE651497D62D7AF9AAC4844380B0B4B8BB42DA6C886B758A175 +CA67FBE85BDCE50D8FF3AE7ABE6DA7EFD120EF4D74AA0748BCC6DF789206E4B7 +D66D250F7B9109BFD0B23EB71F941DD8E5BB4ADE3F3899D9D069CE70C7247E45 +84952B2361955BAEC3AA490B3DD6DC913B22551C874C3A6F789B12E800D35556 +5A31B5760D37E52D95A5E0A2DC6A3EFD67D3A39562C7DE527C6882D80C5481C1 +B5645D105B170F88C4674A96397DC38CF6B186C548385008F872C6A79920F81C +60FF12B05B0382BC25E8D33F87740F1584ABC3545DB893DAEE87F94966BBACEE +586188E2A2D6DA049CD86742C16753ABC50D5FD86942708B4AC03232FEEBB310 +12B590449E3C66BD7B2AF8227739622BD42F19563A569721A9F59EBE9F9300A6 +D44AB8BD58B38C71DD59CF11559B46799ECFFF12EFC7CC10382F5CDE57234DD5 +47DFB8D0DAB1BC246D75B73554CE7339C42CB3564AA9996519D8381784E26249 +8D8D0BC3AFD5C4CD164B916F09CF1A5897C82A93BF7EECCB06BFA76FB297C0B6 +6F0639544195237132BFB228848D7792FE9C929BBB852D49C7028AC113B2461F +4391D0ECD1C8CE7B7B2172F956C8A540CD083D0520D0DBFEE9DEA45A5757C002 +953789FDDC1DC1DB0A398A34EBA3695EF8F0AEDBB77CFE5C1C347C624BCB1C96 +E182B5EAA6299360DDAA11E48BEB68824CACCADA672998DEBB6C459A0598555D +C6DC4E831C5C36A4BE11228FF0471FF1E94CE65DD495CD9D0FF9E93A6D95E0F9 +21DF949170161E1A94816677B77DE335D8525607CD554EC31FA2A5AFB46E1FD9 +72233C900895E4BE532C7C0BC786199871581A469A5D2BDAF5867D2B2EDD87ED +6C1D01E939CB1A814B1BBF59497B28BA613B4CFEE327E5CD2F87D36AED0416B7 +F8F6E1D878378D9D989F4C1B596EB19DCB04BF18AF67E7A87036A569FAE6499E +1ECF66F422BC3D6830A465E0EF2BFDEE75A8A1ADBF592B7A3DC5E3DD4BC9D0DA +732D90B2B90923F6D64B9EF050ADC49278B4798104F1B8B144DA96FE52B71338 +2D409A18D9F2E95348B2CA30F4D737E5C58106975FF09B19DAB001063322FF37 +8A8AED2FF5E08EE438EC4A73DCC131DFEF2EC9ECE2607E19F3119175E83FCCD3 +AD0FA8035AEC2937ABEE +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFRM0700 +%!FontType1-1.0: SFRM0700 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm0700, tcrm0700, larm0700, lbrm0700, lcrm0700, rxrm0700. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM0700 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-203 -320 1628 942}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F33528B839DFD4B92DF0482493852C44DC635E3E +0E29551E072F9AF208EDBDE681F2A25022B9758023CEE66E71B499EC03B0DCB8 +776788D7C9EEA9C8A55C4051AFB58C8580ACF5C1E76AA745AC43137D7FADDCC2 +ECC373F673B9F896016BAF3DCAAD7A1E982A9A9D5F459EBF287B057484AC0344 +010753C274C38A6704F869833E51F45F91D8FD54CF7F4EA910EBA59783AA6CBE +A5963B4E5E41841A8CC0734ACB9679EA0341518770ADD726DFA8DD26AC8BE0C8 +93478DEE80AA4676F6E5451772348BE3F3242DBF7F727B6CE01BBCBB0F6B6CD1 +097F6065C56A9DB11299EFEA04204672740C1EAF81CFEA33A414C8A3FBC097A2 +789BD70B825861F9977FE1F2C556C2470E710BB50DCB709DC41C337F18B9BA95 +983DE7ADF0218165DFB1FAC6389F1FC446413E660AF4601F1935AE3801C1ACC4 +9A2A696F645918A8546D5C090D0F9AABBC99667D458EEDCCD0CFC60FA74C97AB +D5D3C05A769932A1905F17170A86E307F730F17B7CBB77E583D20DEA14D76F02 +FF9CE7599E0DC09CAB37336C3D6DC6A91510BD76E458F2F009E24983EEBC220C +572E997C37FCDA62DA400A703999BB3862B0F2C8BF611DE181A1F6814CCED57B +FEC1F3573C3625283CD37815AB5F9C0C6FE819A83091CE1D5DE3923B1BB8BF28 +A2C22E7865E86FB42E506501C1DCCD2CBD90682B0BE596633184CB857F09510F +487587E20ACD964B083372FDEFC3BE0C146C67EE26A37B5CEB8A30AD2C432314 +A1564D93E623023343F145A038D57E623315CA0874DCDFC2D705A3CEB90CA329 +85D3C7DF7E216373503679B3D9626C3EA6F01735F7BE69E11195CD7B1ADF895C +86BABBF8C1F6BB856D647BAE17F2FFB54F9DF65FFD8DD863EB0E25F84304D438 +0CC7A5FB48EB2976ACB14993B277A0DBC3A2FDE006B5360B14C150C3CBC2D3CD +FFD6608CA11443DF807C1DFFD681A54C2BC6EA2252EF38C2B8CB30B86290327C +D4FC25E4513109C9772E4F493C02BAF5D75BC6926360E9B195EA068BEA487469 +EFDB542CE210FD150632268F30074BA17C75EDD68D7DE2D513E8480D2F8C8EAD +17D351163A96E083CB804959346ACEA4ADE9C121B7E1A7A0CCEEF786A3C1C3E0 +C53285DE297185CAB4D152047CA87A0FA70801B3255B67EE2C7CEE02DB18D755 +37FCCB3CA9F6D17E75225F26DFFB580781AD99F5A0BF8A98BF67E722C1454CB1 +7F39CE4902398C41CBE660269DFD450705A63BC0097A615A01A587E920D079F6 +60DE0D06D2A8CE55BAA4A17C507277058D97EB6F5F24FA7AD6043EDD +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFSL1000 +%!FontType1-1.0: SFSL1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecsl1000, tcsl1000, lasl1000, lbsl1000, lcsl1000, rxsl1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Slanted) def +/FamilyName (Computer Modern) def +/ItalicAngle -9.46 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFSL1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-151 -321 1485 937}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F267FE330B57DF626EBF7204BD97C51C4AB6B2EA +A4547DC63AB4A982E962B3FA3CB2E616C884FD46838D5F3C9922EF4D2053857F +16FBE2942685AFC6E3A4D6772DD1FAA256114C72F01B2F9C0681046AFBE99706 +8D743FD802FFCACA64E9D2CB7C048FA5196930D064DB426F1BBE16E3773DEC5A +EF10B3E0118123C4760E072E05CE05F9E15ABB0D322077921ED2B0DDD4001E3F +8795EB98F6AD8446057469ABD8EC87398EF9D5C4BD00D9C3DACA4C28B62ECB21 +59CC2D87E8EAF41F1A358909FB445BDFFD93D92BBEB66C9BF856A30E6D5E253D +5DD8C4233D3A48DC91B9A7C96B85FB1351EAC6F468433D233CF31A9D21F63AB1 +AD71498C56B1BB55A37D5170834023B3900AC182AA0FF6361C9364C5E0D726D5 +84513E143D49EF3BCB0FF23B718B7922777B2A84F0CB7CE9A92E88F56661FB83 +D498A3BE340BF823CD7034FF9806C4B37C59904A7E3505CC973B13757398DCE9 +B8E2ADB1B70C6B443BA6BE886D13A0729B0DA341E9562E9D4FF0683F513E785B +CAA7F89442C002E8278DCC1FAF99541F55DD3EE51110024388354E934212E69A +71AAA9BC204027368DB0E2599A51B31B103BFE1D8D65B840384D7B6BA8FC9E64 +FC428AF5A95E23EF408F51E44AF5DF40B5DC669262F876604123F4993659B132 +76584AF51E6FFCF0A262793E7115FA73732592D01F246937358A9D894BE1D573 +5BAD5762C8D52F5947A1A60DFDEFA779922D979BF4D846923EC36A1FC3000323 +1184E355CAD748A7D7AFB8A37DB342D6C947E7CFA5C68B85E07DE33939C1B48C +BCB5B14881FEE3DAD530EBEC15453CD96D9049DE0AD15B01AEECE3726EEBBBE3 +D3A0B48E153AF7BCA866DC636193019D124804D0066A9856C3B196F1272EE5DC +58DBF9D63E77D32D89219A7E41988F8E37C732BE27010BF75CB184FDA256AAEE +DBF510376176AD76F2D3ECD6010EAD51212595B47418EF52BDA0E36EB6FBB6E0 +7BD329E9B9CF1C87BB9B17BB8F95C2882A09A4C809368684A13EB526BB915C39 +778C4634D3DC68E13539725DFDF0C13913B46CE7E02ACEF37735C362396F6F55 +95F3F5A5D3D16981018A7F4B68AB6BEF1D1FA3F2CE1C8897D29794FC6A9E4D49 +FC4B6639A36D71BBAA3AFC2A9C88DB5E336FB3025DA828E4495B37D7AABB7211 +8325D96782A67290E62FA469C6BCFA9F039975A6E314A5CB2386EC67F55F013C +FC43EA80311D5D5AFD5C679E43C25635F68C6EE14450FEE9D0567DBB96AC471B +2FEEA0BE4050260B1475849FF83B1380B290054C791329E5DC8C40FCBB2BB86A +CA3D96BE9DF37341CB8ABE34CB2F3CD927B2581AA05C33C03364C7CCADC3CD91 +9C54DEDA6D88F1088F19E0E32B7254DC35A2EC454001077BC863F9A19A661C7E +EEFF539E3EF3529DC385235B0B28B7D729E70F1D17FDAA0CF8ED6385B1E0D72C +9680BDA2840F0F6ADA6BC2591C9772A6BFB6CCA5C901815E559E239DE13FB817 +746FFC0D9454D4E397FF3E26F5F81097297C00D2CE923A1C5F7BDA809F952959 +5AD75A38A5E539CA9C75EF015D68ED71558626322D37C3A3F2189D91F4F859CE +101093BFECFCB4B58826FFCB0421DB4623108166A19E5289872538ACFE9A1274 +6FD49F88E8162DE2D0CA520392C0BC6F143A94419FB66B3AA2D5AAEACACE8D63 +485C2587937E57AC32605F7012E29BAAA4D3E266C9C2E17A046E6D0570FBD0A3 +17729E8CA441D9A2628A0750CA03C8A473FD7BDAD7EE73B594B2F88CAB773CCC +BE1A3D050A169C3C1072C81FD72D39B9AC060D6626A174ECB3172F525D34097D +008029BFB0B1255C71D033EB8865AFDC98697D63FC27737640F3A2995CD72F75 +83985D479E1CB8ABD2294D02A7D3F5F3BFA3A6C028AE06949B826C32F09F7A86 +C19E0624C6CCD611DA2C9BF4F3076768B09C83129949DF2221689A8E9589B8F3 +8231C3205B3B359FBC14AB3A1094A34EECFBDB0C5CF318C81CCD7DD0D932138D +4E0F3B3E92A838C381D15A6A31A2D64BBDD33ECADD10EE7664E22D21919DCCEF +8B8C63299B17139B67C8DC9FD2CAEAE65665ED334D5ADC777888B0F560170599 +C72664C23FF6091D86F7A5388A44A2C8B65489B9D4E4D0339BA19A2CEFA06C68 +F6DF4D3199EA37528933C8929FFC1FEA0E07837B98352997CB5AEC2C479342DE +244C8A754E31B2D25759EBD859CB9B1E4B540F38E107A623F0377707C11C759F +AAE782B22828C905DE5D2E6A2F2545B0CD8B50EEF72F29DAF3C492766B4DD140 +18DC7CEC39CFC5521964DF1186811BB519B9FE8F76F501C303969D22D25C9B9F +53F8489BDE53DB27ECCDDD6F4DFBCC8A504273FDD95DA94EE25D7209F2B13005 +8C89FB3950BDA46BBBFDF5E95DB261C8D808BF1666598734A2E01A6FDD6AA04E +0FA65EC40C8FA7B01BA581CCA5EE0934BA9A764BC3650BEF1B3B107F9F42BF25 +5A69ABAA9786FAFE125BC63F27A775F7F638371B463A5BF20DA4E3BCB74A09D5 +A9D5263AC2A47512B0C12D985F4E5F9091D0103D07288500661FACC936170156 +739D6597FD4A92863B9E195C66844C2E93DBD608B2996D06E0FC9A0C9F23B214 +97E7593C45B8F1F2F3AC55308320E6DDBBE50FB4B021D97A1A00F90F27B2EB88 +21388E8CF451BE33AD04B20FDD36CF48AB206CE5B17197D5EAE1BA5D227733F2 +D54563D330D412A44B5C135B0F86CABF671A37EBFC4C60D029AC94BB8D4043BD +481A4636ED31FD4E25ECD28FF1FFABEF308B4437F957803C94C28906D62C2A9C +768D84F4AC618C923BABB6169AAAC88022B484D7D20C246E7A16BF27EA0B6468 +375E2D177A00374D65A635164EEBD06A9A08231D2920BBA9E3BEA00CAB583373 +5F4642053D6887F8DF86095037158D122737C891A8CB50371A6063BA0E864A73 +FA19856345A9CABA1C9D195E2EDD1C60A2AE1CC2C70CE8A97C005EF0D5286EE2 +C3A867B0A922D9425CF05F75E868BC25DC1615861051F9FF2BD1A5DAABD76EF7 +206D3F2ABEAE5C4750753B0C69668E6453F75910626E82E4EBF96FFCAC582905 +C13E6AADA7EAAD53BB79A5CCAFC3A1AAC80A00B22DD744F8C3D09C5E0220FB8F +D4AC5DA7CE8241746F583F253D889CEC6DCCB65E200F2CC3BE12B3EE1295D8E9 +3610CD47834AF2445E020BA1E25F0607C090E390FA866C6E704D0F9847C2D1EC +FDE3A4E223BD1A7101014BB1532D34EDD8EBED7726AEF406CFA49A768DAF7617 +1498FB6D60F50051AC7A2DA642B85F9F62CB5470368A33568B73D6E31B8F6668 +C8BA45AF91EB9944A0454CB691DDBF843D6DDC5CDCB3AB65B3F378F13D4D5914 +AE108C3AC2B60E19A4379AEE00761CB99C9056270E522BFA698334E7210F48CD +D47B04DE5CAD96B40D5D62AC4F5C2EAE78AA575E90D0ADC23B14A9F26E265309 +F868A37B2A196D1680787FBAA3043842D5E055A38E0B4FFBF7C41E26C7484E4E +EF38619D76198C318CC58AA6206E80EDC589EB48D264B74C33E48A5954E5CEC8 +CA5BF29272568EFB195BB263714EA97621B802089568693DC0DD15AFBBAAD7F2 +2D53E866F4E07E5734A3FF839676287409EA70DA79E2CCE1D434142C6D9C8704 +101CCD4C504A70F954EDCB330E2AFC862394653F5994842FC2D8E4547A93D6F1 +3C01B9FA812728D71DBB14E32F992F7F9B49B1EDA4CAB4653ACDE73483DBEB3D +86938BE16645712FFA7108B2AC0CB38E3BF84290E79922AEB32958BE1E8A677A +7DCEFB272178919EE799712FCE00B4B05FAB870D7C8E6FAA4B302EA768587B58 +694DF4BB1F33905CE0AB7BE3B19DF0F8BD6849BD36D0706616385BA6A4CF3FD8 +B389526B0192B446A1CEDFE8F0BF848F93299C2A83B08C6BDE5324AE2F08DFE9 +35F3D3D1B7F263ACEFB4EBEEF4CC55BB3ABB0E37660C7C103D41859629D0C497 +BCBD3953159962E0B01C5DFB0B6AA8A416F0366E3EEA2CAF5D87C2BC304C0B76 +991CF963436500886C93F399DC30DF727DEEB7CB5100FEC096D8C444EB8AC4F5 +77033ACFE7CCBD4320D647FB737C5D7F2FAC694788455B5CB5B2C891E7C64BA8 +F67F4B2A05815A0008121E303B0745A3F10319A5A14AEAB5AE090C2E12AD5A0C +2A4EB1FDD7B49FA369478169554349A61BC742D751C71EE8CE7305761322D369 +E171F1B58F131681D7C08FB306589E39D884DAC484BEF298ADFC714E59EF7169 +8825A358CC3506D9665B287EE5B5914FC368A1BDC4597D63CA4867567B7C6EDB +FE9AA1817130C2066761E3121C6EEA3DB2AFF09B42A7A12FF5F9FF80B57C4FB6 +47A92464C8B4B7F88B7CF2671C173EB2574007088A67BE974969705EC691B78B +BA0C67526084160AFBADB7FF3EBC3198DC8FDFB6298D147E51FBAA1E38C8D3F1 +27A14CE01541C5971E763528ADD3CA5E7FC82E20F388D31825D18ABE50404166 +6F09C8F83ABE33C48FEE2179DF6FB59C264E9CDFB2CC8D0A22351192E2B3A5E4 +218B0B89C65A9884FD79C3A4D0E7F45181695BB10DC043CC9F2F2871B3604ABE +A3970BCBFC6A61A485CFA7BBBA8EFD1F8CF34144B09F4BD9445BC44A443B66E2 +FC9C94D5828B9A2A19558DFFE37D8BAB60F4081948E7FACB550AD749F57D764D +869DF6EDFA24BA3F8E2B3489A004493F9F98CB9FB33C6E30C092741BA7F80BA9 +7A9ED4B5921A5C4B2B0B8786052C5E882698376F9F3762D6CE21EE6AA1A98C24 +392639AA8A5DB795504962F8E02A818F8F3A59EB95637073FC26EF3349C67E25 +F2C9C47C9A7AD7357352EFCF56AAB007CD23C7FE19F990437978DE17270715E6 +DAC8C7C7F716723D5092244E49336B0C7009C3933DA6FBCDA4766E5922B0A0A5 +A63DFEBB88CCFC9E4E593E15CA50E062CB329E8B023894B9EADA0A2BBB48A07B +FFD97BFEFA0FBA554312C97BAA4B8FAEB024C42FFBAE30E8C0AD4E0C511CD1C9 +B88442FBDD83503D108C1B4C8803BCAE80EC59434C7F4C0B854F7DD165A69731 +75447BB30B2436F6232750BBFB4DBCDDEA4F18F5BDEB1FA522F3617561FEC7CE +209C3C3CA3B078ADB2F5168DB2F652969D519DD936B2C6047782B4548BCFE807 +A1F7DAEF175975472DFFC1B4F9F9189239C70E412F3EF72A59F1FF0441EF2F23 +E27C7F9541C30C84430CA1BF74A91445818F52F1B6F7C61A19AF5F46FE2E11BF +FA2ECF96608F1C83B9A24918730C0FC374255348582B5981B64619BED151131E +1FA003F01AE35059F68C25740F232E444BFE08C9D3183373BBF182734505818C +D484D14BFED98B5D61AC7608BB90246A76F3B72F5895A6BBEEACFB97F60008C8 +EEC8B1FBBFCE771549B7C87687012BC32C93A581900487A2273B16543C815061 +7EAD85A52811063A18DE1DDA1EDB2DEE1D224BB5AC76835D94E3FE7A9C1A4F6B +A103142F7EBCEF2B5445B1A539F37340A0376DC995592D007CB15ED7A62D9716 +4D16D8E04E5B27C1A70C3320926A16735D639194E3FDF857E2206DFCDE0AE9FB +86847A3405A668FF968B539014942319CEB69F2AC85B506D7677E95D4842B17E +1E882BF1B8CB4A086A650AE3C637AB0F48DCD542D8F76531BC9E93052D692A88 +622F59290D16CD52F115E3FA20328EA719BDC4C61AE70D7834545294455AE610 +339A30E9D1DFFE3198CB4DE8AC3CC9FCB3772DFF8130652558034293B2FC8B9F +ADB88E84025FA6921A10A84CA2D3298FC4FA89C76833DEC9FF1B9449A45F359F +845163951883E3B184D344DDB28A38936BAF35367849ED049CDF2EBAD1665622 +3A55C9E24F36B6A2B5D3DBA6D10E70EC7D957DD11789AE917E61CDB10F40D5D0 +A964E3CA746F7B19FFA3EF4A1695FDF55750F35C875DA81AF659291A239C1E01 +C1C54F7FE078095C319BFB87E2E004C5C20438D897A538D89D82DC95A1D51149 +1939A9F47B5F2D18469D4ECEE23E1680B0037F6FD2AA662E20F4C6AFC1072A1A +22806BABA793640971F5CDCC254962C6CBB4895B2AEB007F73A55F7A99286DD1 +27CEA81A0F8CE2EE275A371776FB79877E9A77A1671D3E3D9D4FDBC9B58CA131 +CC354517C3D95CE763FAE0900E12C339FCEBDCBE9300AA282A2EF6C9CD8EC53E +E4A426E2818E9B48A02155ABB970889798B92A370CB1DBC3E3A4707631D6A47F +D43AF28CC1198A84ECECE0905588ED740BB8937D8773AD94B834074F4EF2996A +399A791B766165201CF8E3386863CB3DCEE81AD1E41967416E1FE8C348E1AB68 +7ECA58A3DFC699F91A8FB37E1281E36D11B5F8C9F89BA1AACD47D5706D9F0A6A +523122C4E5140FBE6F534C893D523EB780560E64C819A7DCB61420610DBA35BE +10A71D241736D55A53F94F734BBCBE96D74CD18B50D025D8595656ACDAFA94C6 +0B1DC71E5446AD563DFD4CD5C128AF2DC718E26691A8CB3CD9C85C793F28CC84 +5E0B9CBB39B0166328315266C0F5724566F3E762FFDD4792F38344E4DAD253F6 +FDD85DA7B7AC84DB9707F72A41B88EA4E678EB468ADAF74767FB03181AD38B4D +DCF3080E2DE58623B2B826EB1603F269EF8CE2215249880BF61BA0CF4EC28501 +25FF3B85286A86539211F1088FAA1349A347F1B137375C37C6298315127BCD53 +87FA69F268C69F282C0403FA6A564C2D86BCB101F09BCA1BD769969D54CCAE2C +44A96F647073AF9B3960F98A4F749DB087DB932B0FBF2E21EB9666CA339E375F +308538A8451EF489EED7D3FEAD0F1364600994EEF60A8505E00CD209F6F36576 +3EC4B50C579A65795A2C560781C92EE14B5FE749AE64A6666D6F8514A8F42F82 +53421DEDEEBADD280027034258E151FD6D9A2D6E64C3ED9BAA1996F7A50176A7 +06D60CA1EB8A4235A8ED0C5C2E15E84E5794B28C88DD46AD9C4399A3B1F14B1C +82179F5137F6825D34473107205BAA3E15F3150FE4C2AE4B9E985D02557B2EBF +E0DB80E7351CA240C9AB7C5AB0F7D0F251748A269FB9BAC734FF40956EA6F70C +FBAF96C839AC458F135173B7A8A8D0130F27F494FA4EF1F3ED532F10127F20FF +3C150EF82E3FE619FB7EE65395F82D7D8F14769310D38B8C0B82852C0E40A45E +806BBA327AE1F46F91CDAB63282BC437C6589784EB3FFD52113A07B4F1DD4E04 +2B673F4006F37E3698DD216819E3C86A6D4BC77AA9CAEFD6021E95672E290117 +C783D9E81FBA6978D5CF2A318BE5650B4C76C3A8CD4E50982A8B488C1C6641CA +D95A2B7A44BFA54A0C2058CB0A24ECCCF40FCB0D3A837FA49C68D2F5E0021FBA +407D765AEE96012AA0D3284EC0F13149CB8969F5E84699D184A27FE98AF8910F +5573E4E5D40D9B1A32366E272328ACF70A793778D647070FC79D85C59B170DEE +CA10CF4C06C6553AAD6E4BC6079179BE910C946245DEB1F10DD24AB488D5BAC3 +188A8B640E6C52B9EC4D1154426F706B17465B75290307AE73E6ECE778CE28FB +CEC2BB6A9CEA78DC92873DCC986EE325F9F093546B3770F16E220FD46131B928 +4B3E6020B4AEF2400A7411F1D9BF7699B1927E1EBE6A3276478B73F19426BC53 +D97B40BDB9C863156EC1637E7DF13EA687834689DC47C98C32E48D570FE2E122 +60364701ED8234B9E1E5A858242AC7138493DB18023E18ED0ACF86F801F15B35 +887A2340E21AE7CCC647E7888556A5C31F69E93555250A4579736AA817CE3DAB +393984BFEE7C64ED558D16D2EF84B7221BF971498AC6B29DFE3FE833E726B8EC +951A51E13DDC00DC459B697FC541D2FD68C16252824E10F5F3AB39EF8DAB748B +FED0734B8337921F147E34C38DFBD4B9F642C69A5017F1099B7DEC38F4B7AE44 +4ACDFCC96EB0815A8D68969D018429B31CD5ECBC2189FEA08056D280F09997BA +048516FFCD6CACB3D5A1D59F87076955C6A62D14293F12C99646DB524CE83A0D +D71A650D4F57C71D65F0AC4EBF2F99A472956A03156F8809020EF67782E52035 +4999BE9326FC6D40B26F1F09A31CC2BB74C92AC1A0BDE44FA94B4134A70F4B34 +82E8CF028D9F976E90C6A369B773AB2E1F62D1F9A090432991BFAC975D0AAADC +2FA9ECE0C669C03867B0BE4F643EE587CAC33FC9B0AC672EB0F1DBD308069804 +97115BF7D1094C5617868C8276CB6C4BF970EF1A8A50279607C8C6343845987F +024EBE1308A01D054321E6F59FB84F4C5AC640F559306794B7BE0A5F20B3026A +DD240904A49D06B04E7B77F70EC44C8500DE770D89174DE274188FB0A04FD51F +52FD2F7842EDD63EBEF678EBE6FD4D5E852DFF23142C1575B669723240EC3DBD +BCC910DAB600ED071A5A5745012C8D08FE4CABD2248C5CF72BFC266395746897 +316DC32BAE3DD25B7FCB919DFDADFD2B6E5F31C3641BAF720648582DD42B0C29 +7B9951564AC27E01005AF72C950FB6F4E4F6E151F9D22BCA94CA69B2BD648B61 +554D8CB14CFD2A9D089B9E3997BD1D12C24B426C41715131DAADB87ACE724DED +D2D12DC6CD0A40BE13FBA181BD7C8C42A5FF9059D3EA7BBFE5FA78557F30E854 +11ABD990024BBE87D7A11703F105CC68C429E2A6F87A9E342085BC6A849EF8FA +CBB939634F2A5BEB4C0A9871589795CB99776F2B290671E1ED55F97FECE3C833 +79408533479974517228E3E6CF1F04E3EF1FE936CFCCA8C3FE2474E6CE59DCA7 +62B142CC90A12E6C6491B5C4A64A547382B43C9468D17D35DBBCC1C6BFE73927 +B031930824819EF4D3954093316F759E6C909C73DFCF7FAB7CE21F0814C4FA99 +A8DAF3F600D6D8FB2A5FB0D606BDFE812F0A4C2801E7AC43FEF1F46B90E6B049 +7E4A4DA92C075A9A2D5D6F7008365E52796975CD5B1D9774263397C47D99942E +231E7EEA2BAFD81E6510463AE4FFB43ED490A0EE6A8F62AE04614DA48B1D8E40 +D824DD8B76A517D9A73229492316AF5A089B4DE83B8ED0C1295628690BBCE0DC +AD715D1C06273B79F978F903762C22B889AC2A2A7C0BEBB0C91AC442F5313441 +AE0CCC52493F0D102D2B781066E4A198030923C7038C89884DF1DBD2128F00AD +7FA9FA045C41D5986EB0A40B5EBD3FDCB4FEC22BF887732D21C4BF9C536F37E4 +A49733A27ED7E573BC74AB93B42D60F8FBDD007BD7D484C2E2A39D8B968FCFE5 +EC4E5C5F9B346365105C8F92D2738F84630243D7FA628B86507E9E71732DF972 +6C273A263D3B0B5645FD12419224B691FB11A0ADF662C99C97D573E0A9FE8107 +9C1EF28042355B1DE999FB71D9EA7C3AE7505C3FABC1C616BB3018EDEB43EB31 +05E59ED9BE07F639BB8526C78909F0731ABAE42B05FB72A81CDA65E587656788 +BCD95E3880C1D4A4AC9D76AEF549FBA91D657FF06AABA5BC22A0D98F21F10848 +224F235ABB8581CB84D5A8CF039418845780ED20697C67C54DC08DB236F90E7F +3FA85CFD58F8482272C24A3996FE703E556A0EFEF88912B215C17570FD6B8907 +99054BAFB9A41F708E9E60F5222F2A04BB5946AF61C588186E5BCB493C12B767 +59FF2245407D8CBA4A9D3A3FA0C03A3232DFB19142D097A538D86E6988F7E15E +9E922729FF3AA455BE297CBFF05394485C96847BB526E2AE82DB06882D8F54A5 +EC566863EAA723BF2B045770D4104835AFD491F98D85C9EBB25537F26C7C7B0B +42CCA09D6157F9795BCD1140F15A6CD3401A04093C37D11B10E0E9711D825300 +D3869D865E54C6D681724473BE3A84C032F9F7BA36760C9A55D27AA22C47A22F +587C4BD5CB5FD947972BC07B989A52BC6862C96E074B94BEAF0EB7F7C95062E7 +CCF772BA8981AD90A904C217D1645D489940C3EC874FF49E54972132E57CF525 +91C8994AAD34177E48CB498F4A7AB891DF0CEE0E95DEC08A13061D24AD69B437 +35CD51B1F1DCF0DDDFE2FBF05677906C9F04B71C837EEDD00FDFF3EECF3EDBA6 +8617641E399868C99D30E2010D1ADADF1135C431DC4293CF49F2DEC55106D803 +396574D661B1460F3757D26B286DF2FFB814E1A0E1621A8A95AEB82FED39A473 +4AAA7A8E15F854E3D0A0B8159DF6F060A4DDCB10080AED2157AC943B3797B336 +7AAEDBD842DFDBBB6523884C413DFB3389DD944BCD8287E6A00B2C62021B93A7 +A2EEB2196414F490A547E5D5E154937669BA4223EAF0FB266192568D09F537C5 +FC7B90834E74E67EEA93282C84DFB0B74098779B3D0BD3C87546C956FF47CBE1 +355D66426ED9FA29140E9150AE09594793FB5EB47B2AE56319A1FB1E60D3887E +A695BCB4FB90578EC532FC5CC00C0A5989694C513E63A82B84C35C34114B9FFC +1EB8B8C5CE3985B68E4346D33DAC03684D509B8F692DA4E5CBBC5F3DD3AA2640 +A68E4799E5E795D2847BC115879FE8209715C1738AD675BE1ADA3EB3D5F78A6F +1812A21CCA203EF3807AD76123CAE40F57F36A86F482340C110C37A90B5978F4 +8D12C5C3DB9A3B2840F2CE65CF9E0FE961DDB0B370A3AD0E78C5B459A47F1482 +1879DE9F0D54CF209641F33904CC67954E847881518F9A5EC0C84CE13A062F05 +0B7AEC4F5EC7D3C8E690789A2E6F8AC2417B744CD726CC1A8EAC9437EB44DCD3 +E59302B014A1675E0C9BA31A85E0E24F4C186B6AD69EF92D930B71AAEC8B88F1 +F5DCBACC2CB9277812A758917F06EE76CFF1063E50BE9DC3015C6A430A004610 +AA76774A8FCC220F0A2C9032D5E846B747FDCF55B95CDDE359F10A17B1C3DA8B +D4221C565AADFE6BBE85055679091AAF17CA5F803FD538629679C01917B67157 +8FEF5E0C5056A62319E866E682061E28669128C4BDA56F122727523CBAF6F0C0 +66EB0DBC25C1A5C451BB69C755428CE82D2BF219EC08B50D86CF716C6853E82C +32C1C6B7B5B21FD5054AFAB3CEC3049E1544A4F0F2888EBB407E92769952925C +692EF6C6C79C089F9FC6B08004E21B98FADA350A21DB3A067EAF0818C09BE1E3 +E601802FC5D54CB21A5BE50BB39E499346B2E189FAFAADD5858882767F0EED1B +7F516E6354D024F745A1B9CEB4C3F2D261E309760E98984970A10BA4F0500313 +465AFCAA8EAACC28EAF3188350D866D7541C39D765EAF560049B9D3242AB61F3 +B2C742FD653E61511636342D0455A8BBED700E8131D312A1EF075D0E0CA932E8 +20450C5F14BE23287A8581FD1A70361D6D372610275D0131A49CEE1DBECF8955 +D62424B70ABD5357C516D626E6E32515F89C726492A9381FA0715057716974D3 +3E8ED869BB9F96B2A3EBDF22625AB44F327FBB63950EC9D477E7A891E333EFBD +D62CE0775262C32787BF33F99391ADBDE3E0389FA050E83F568FC0D180BA73D8 +8618DF6F1108207F06C9418271E36C1D4614B63BD917875BD4F188DF79660DBC +1CB0CF5B48C11A436760ADEC26844BA98F18E91D0004138D6BEE4D81A4C25BE6 +280BD06F19A14B2024C5336757A79D0E781566EF906ACA3D96BE9DF24A84290B +01953755B96D6AD739081DE0999CEB55D1857C617F22EC2877AECBBC3A0FD92C +ABEF5EFEA189AE4069420C33679A7DABE213A2A6444AFB453AC29836F93EDD04 +449E5B4B2198CEA897BB8D9375EE8C96627A4E96A879168B604F5E3C5BEE9525 +ECE69BF88555F9928901D24CA03B7E47417DEC627ECC8F4495577C4A8F35E8D4 +51109D6938B4C65CB786E5F349D306ED11E5CC53E58F521CC8A0156D87ED4722 +86FC177241A10F0BBB449E5E733CB5B5E95D205AD9D33F409E5892FA23324314 +AABCD3AFBA75DC6F817D6493B7C6AD9FF6046780C3763D9A81C45BE1E083CF50 +51A1AF582FD986BC201AC461DE2D980C06D995E2EDF7D8FFC0B060393FD14E0B +B7BC7F81B30458912B40D2227EF7176905567F1C8F69A4772B854BA5FBCB55BE +98028857DE4CE7AB090E92DC2B54295C7D46163E8C08C9F0567BE53369564958 +47DF9F6B46A49ED8A44443555041C9F9120E183D50C99F778A30ED64C5A7925E +FDBD2FC1C84EC6D3D50C424A1532110D97ABBE2E2F46F09AFBBE16EFDF1B2594 +C1F9391A4B969C5561B67744EC271B2ECD76A991A197D4D3CC8943C030C801CC +25791D1D64A668F285432B5DAD752AEB49D4AEA1F6503C32A0621D6F3D39D572 +DB969DB777E23293E2A2EFEB3CDD57CE9FF4E6F14E8137A998BA472BA799ABFF +C6FC7B4DADA771B85E6673A5CCAE8794CA4F979E688C7A29637A0297D1B41358 +4325272087D1106B5E6829F1E21A6C94D80957B6F034B4D72433FA5831D82802 +C0F05FF22CE05248DE1C26C5E49EBBB70C52D98C6107D60CF2350748BE025A10 +424DBE8D6FEF72372CC051A9D3A362523E0A23814DD86E57273A60D565A7AE9C +78E22F19B959F16FD06E23FF8368C90829A420CD81F314FF3336407E38BAF13E +4C90790C9480E1F09670297C14583B86D85CF64A20C67DEF29CF614B517C05D3 +1408F51B851166F4DF9137EEF043C756A238215CFC8598EB4C225CA2A12E50D3 +12DBDF86697E624C2B026E18F15A7B71E0B135B57C8F80B9B9C2EF28F24F95FC +0C55A5A58BDEDE0DDD23183A2A43E4967192C8BCC858C464F3D8420051E2018E +651D9582E55751969E4AB320B93786E754EDCAE72C02AB072EC2E9C2FD123437 +413BA485B535046CD41D8F13AAD3AACE818BFCD1E0C31153501B10257CCD0CEF +E7799210DA1FD43F4F4A64F68FF73A2FAE97C8A3427D368297F7BBB484AE40F9 +C9E94ABF52DD9C1DFC16185055E367076211C1A34D6B1BF0D568D1E5D6AF8E0B +69197F45B2970824C2F5AC3F24F738F371A77BB00E9A42DF896B3A78A5BE33A8 +46D2FDD25DAF9B5A747EB2846F7C46C051CE6439DE6D24E2264000220DD0FC1B +56907830E671F292118E9BFAB6FA2CBFA5D5B063E7AE8EA93FD9D110E04F7F26 +9F12FFD6E0296473615B2AF9C8BEB8E15D5F182013D08BFC799038D1CAEDECB6 +0C4D6F820E677A6914390FBF6311C5FE4243E1E0D01E648FF28EBE5570945EA3 +793D08715216210C1FC5002FA5CE7DF550B6569D0342CD152EAF04B84469D7B6 +2AB03992BDE3FC715236F8237E333A92DE4175CE9D9C38C9A3F28A072341A4F7 +B1D8B50E7413C85F44E84ED06B1C3CAC1D6B0DE5513B3227CC2BEDCEB4652303 +F320FA3020C85C4285810AC9444F273E0AA2AB62434BF863BFCB7CBDC9337F51 +2839A6D370B5901814516800B3F3CDDA49DDEF5C0AF62D11AB45A2B5439FE687 +415B03C5E8042336F0D22EA3785F551FAC8ACD17AE63848BD49EA4C06E3053A3 +12FDE4BA83871829384E5C0C2EE896B4F3258955C21485159F387A2350AF4F52 +16FAD04392CDDD72CA31D19E3C430B4219DDCE0C4AF5E0E454972E28D1949150 +82261C6260501C07C8872FE8C724C13AA252A8CB7F76A5F2A0DC997B13C5F3C9 +AF4F1FB3ED773F94E0EC66A6AFB5541F77A15893F485D6AF5A1582BE57695FCA +47756A0E3A2AA23AE701A8CCEFA4AD53BFC0D06E602BB5C37725C04D746AFD1D +E920C592414DE6652539AD438884CC93EE821624A14774AE620563A1B26BD72F +CB151757FC8ABFFF45FA3B5BE823D18ACB7658252830CE4255C804D698C48C36 +86CB06BB6CF84CD33FAD82EF2DC4F60DB918C5E11E1DFFADE7B18701DECF3E5D +33FC7E42B3F9B0267B8C54B3A03BEE2D9A0176EBDE252361BD5F0DBF2A9816C4 +13A49F1701D24A4B780D475231DC70AD41C01F4DF93CE793480C57235CEF0B9F +19B8300688E62623CDB05676C5D84907E5F8F3C88FECAA2ABE750E915A6CA087 +3B2FE38E2A624953C12169F7F4A7CAEC0973DEA035DCE5745418FF4EEE931CFB +0A9DE45BDE3758BB0ED9B4CB16592EA6E1670ABBB61404DA801AA118CBF676C4 +E6A1C2F027C24547BC0F04038ADC634CAED5201412387E3FE9F8403643746E53 +A28CFE4BF80988B073E3A94F1A515BD7A9B8923061CD16B6AB14D0CF4EAA58A0 +0EA117E44A300794A6EC769904CD539A05F245A0BE699F0E68263EB5F1D9FBE2 +AE1D7EB7B88E89F96062D48EE1FE313B5FB9576812102EEAC3383DC1019DE75B +FBBB672F233CEDBCFF5DDB509F8B44B524641FDDA6B361C7F45CC53C7802DC68 +60EF693FD44FD95C917BC973C7F02AA234AE72B4749DBFB0CAF953F00B01DF37 +7185D68225C2BFF4B134C14C5A176F950C0462BD64F08BDDD4D8BD12CA7EF181 +81FF12D67CA6CB7D5CFD47425798B7A60D26292C1EC40B12F2B693749B2E2E21 +36221AC346DFAABB09C5B46D7C44A5E57B58CD567F3E3BFFFE67644FECE3FA85 +CF1B93F38B2FAC5F8EF88A1304E2429C1DB52B9433D8898542D9081374BDFD3E +E818C316B7D3FA7B5AC77AC35A6FFF0BE78E130BE08DA99B91A753A390853199 +DD34E1BE87D4EFA0BD65C3708C6E4F493D05B4DA674A334689A00FA28F37F33C +CA9FC8B892C74D17AC97E09FB872EA0B42EA313713AA5A3B4643E7FB60EDE025 +ABEA631B03D8B5C489B6BBACB50EDF02B146CA120A491C31F98EF3E46738D778 +BE92114DFF885ECD22389437002BFCECF3A82AB3B967D549895AD2EAD722B1B7 +8B26A85844D260CB3BE028E013DD8F3B261121462032FA792DAB235EAB29F3C7 +D61F3183D8EBFA0E72F699808928C43BCA562C921C6934EEF85D57C2802D8C70 +411208FBC7D4CD4BBCF4C35092003E5E28F15BC6AA01A577CD8F491D338445A7 +316FD3B523BB617F15A89DA955D68A53069E53DFFA64AEE3B225CE30329E3126 +6FDE276799A01FCBF09D91FAB6BD9BB4E4195EEDD7AE69C84A1813E7065BCCD2 +84480A6B40814A337A5020DE27A642453DAC08D651D1A7B606A333C4AD3E4903 +0BF7001B47BE4331646A8BAD1DA7CD15659B544D18E986116590BC6D09CF9E2F +D073701F4CA8A40BCF8594E66ED37EB6FB4E5E6E11F3BDFDD77118A7DD9161BF +42FF71488951B77377E1A55614D792597C0CB84E040C63CC4266AA53C4CD0B51 +B2211AE0E9313F4B66F573679909F9AA65BF6C8CED3E1145BF147EBC5D0B44C1 +0BEEEA054EF8B9B96E2D20C7EE3CB12C36612D0E9F1DC7BE4C83A074F65B4761 +F8C356810994E46D30A3B7248BAB2C58A03F9A7DD2335E9F7C97284940D16F2F +072954F4C9C3913E92C96B4FCA84D379BADFCCBAF01E6F54C1D4C0EBD1612BC1 +9E7009FF0EF2AA58DA317B7092156F05D2D31CF902F6F93AE6DD73579EE1C553 +97223612739DF806D6EDE159168EF3B7D9E8E5CF7E37C727927ED3F80509D10D +D0A658F28D10A5C06469A929AC3FCB9B70953FF50756EA0B8CB58629844C537B +2F7A94A8E4CB2C76FD40381F362DDD7CBC0431FBAD6C6AACBC93A8F2061E311E +8E1AC8086072F207D91F423CD53DD5CA96B434CC935FB41B05873AD6000E0316 +3C79EE640AB5D0DB70D62675FC17BF413EAE9E4BF8DAC632341872669F5E66CA +B9E9FF914251B02C3B6DE7C7DA1E41386C80E0C9B6FFA3D268D97D57AD16CCAB +7E2D4C93CF0C156F51920356A5E33226D8EAD6EBD16AF8B7634C14BD447CDC89 +BF0E68A230309F7C13D8E7B3D9BD79F9CFBC03722C78E702F2DBF0DA3F76BAF6 +74A02769B296C04688A01BBB8F40AFE4BF7E6E9FFA65BE5C087B650DE011F5D0 +EB243F926513AB5BFA88CAB1816005FAE718ADD05ED338804704DA6C9CF628FF +E1AF092F50035966E60FC528B95872DE4BD0C173B8631DEFB9843052615C66DD +F423F3F77DFFC11B8C02BE44DD499CEB3C9522F47D6FDD7BF7665D584F7E30F9 +67E1002965F18E4B553A27E1AA5EE16D5A4C0A304666E4D844F28DA1C82F4363 +A664E935D36524CA174E99FDD2019B04077D4FF8632BDB64D22CAA5E73A63B50 +D64CE1626F514DB92A3845B6086C41EBDD6E20D487DF73D73878ABF61030B5A9 +733881AF30D13361A2216E33B748CA6D6D9C5BDADF31F5ABD47D7D76D5EAC819 +5519283C61065700A68F15859393D5AFB62B4BC36AC84418A98C84266E477E80 +138BCE2F26105C8C192AA43937450E15A94639169FD55B993C6AB60B8F8A0A1D +024BAE5E767C544EEB0AA759063824C587DC78314F142A4E64BEFAD6E2CDDD6F +7670A97CCEDAE7659CF5A71DF2A46FCAEE3E56D84ED42F448933972654F4BA4D +D48135CC49297465AF931B30013457FF798C2CF820418245421B52AA378F68FD +F5E9CE08A2493F81C2866D5CE1BC23E70E3A240443C430CB523210CF1A2479EA +44EF3FF026C39CE7B95E9380BEF8AAE1A8EBF60CFCB319405EF317E49DBC2B87 +56948E67107305F5FEF70CA241D0CDEF4036E1CAF816E7AD2773295B40002BFB +9868ABF66E216126E43B23D164A25E0C7519713F45208F40938D39493945CE36 +DDDD5D327DC6CC689B7F03CFB7C926DDD1139D8A35EDA9C957F70FE653702ADF +F4541B4326BD66E3F14410786185C04F21DE4D460DB6E43FD846334C276BA5CF +382614A15DE3F85B876520FD69E9384F92D15CFB983121C21349320F879A6E0F +B14281480158E357E9AA1B47D67BD342DFBAFB13C32C4E920FEC8046FFB9AD40 +DEF4F48C558CA22E8CB9BAD86EF78A8D4756AC6FAABD931D7A71126DA51BF79D +E24E5767912837B1C107652914BF01DB6AE287CF425E1680A52A959EBBD9B874 +FBFC33A2A4A1B516C35777906D2220332D954A20BAA112AA341201B1693EF8AB +E78094127C368894E437F5C947248D320852F1F9F7DAD31FEC083AC19C7F2CFD +2FF2ECFE227101BB98ADCE6286CE37F529DF94657B4765A4E0CCFBE2BC4A87CB +00A1CE8C1859D81E3C77FEAFE0734AAEAC570E47C61ABDFA47DEE8ADA552EAD4 +E0D3887330D1BBD3A6A39F0BF0409B44C2298C76871F1F34DE40EEFC4CD980C4 +8FE49886C0858943DD368DDD3BF0DA1F8A8C01D0852A8251BE5676A4BA8A2837 +3901ACE1E9DFA9017780009C1689610166AC7D111534B5B76DCB93A228D1458F +A4C886317967BBFDC3B0A09767B69215C50F1EE6F6F4F46AFF8DE9A3F5B5D858 +F3A17C4F3DD61486659AEEF0D1E8D9530B902DACA4147BB87D81B3CA5B558C2C +C285482AA8EB94830D4806C134D4B3BB450E58E14FA40EB2841D5C3C82398F0E +CD902D0DF24F0AA747F7A0381A7551DC366F76FC50A57204AE358E7DDFC645A6 +19BC423F739AE20B5994227D954260D99EAFDDF799DC2962570658B43872DBEB +162E092658E4E93858ECF24964A4A4B22DE61EEBAA5C23F4F6197A01211185A5 +DC3338C02C4D84CA652DED4961F69AE5A1F3DE2F979A10FE8BD727156AA56A3D +39C88D48B1C18D063618B051C854E0FE2B28610AE543C86C27FAB630C5A7CDB4 +157E231B35BE76EE9F21801517DB815B236651AD4B31D4BED58C17846DE52CA3 +246C4906EAF1E112073970A8BCAA0816752AE45D2C9863D25FA6C32DD4739F30 +944FADF698C3080DD4C17124ED6C4682EEC0C213AA92CACF0F68968E31B5538B +CC0E30338DD309BFD81EF1FF564FC8E7CBA25A4BF562C717785D331DEBA8199C +66B2C9EC3BF4AD02345108910180E7A56062181F7F0A140F71D7976575E5E599 +ABB051053D4C4FE8A3B80188A60EA788DD63EF2E273FCC3C4E53EE6920D25EA3 +94ABA08EFE3C136BC879D7543F29F66532290B50BB57B1FA69C4C0D45AE4E8DD +0C0FA09D9EEB537F394A0EF73187522C00C38BDC6A50BC42C7E3437236414F42 +0BB5779386D2A7735C1F44C5DF7EA11FCA5328FC5D92EE810A3765437530BB56 +180C6CFF05F885BD11FBDC0645DBFC70C3C1F362D5153CAF9DC64B16D6EE1A04 +ACB0C58143D09A5C5B71DB79F22BBC904590EB825B8E323D68A30FD72C8C4900 +E8BF78E5799447FE21F6F7686842EB76DD0A813FF12753C57CA6C202A9D8F6FE +17FBC56C5043A10317243E5432A64D965DE625C8E3D4F28ADC9D38B16CFB1D99 +9F1C2902D3BEB7E48EB83BA8576E586144609BC8F4D809992CACDB2BE163DA6D +3D3D92512D7F0EE1CA72650BF0BF3BCDE4725EE17198518BB2B97C2A6959D8A5 +6FEF49A031A2333F1BE7C074637C4F0ECD3253ECF6E2402B33AF3ED9ED04A8D2 +99DEB1ED4FAC952467EBC9043A964D080B736DCC94270EB49456A22D66CEAC03 +F25F7AF7FE9682F60117A5E7EABECAD47745792F2DAA54DE4BD1B21A3E9133A7 +749D74317EB1C99B7C943A38EAD784FCC9F5078ED97F9E48D91C60C411DED96E +F282F35CAB802C9AFC1B25A795BB2A31A86621DF59B601948B67811B52DD7566 +3C5B3441F75D89FC7A54BE423892B2621B14C5FC1A47D508F275E2F54C2063BA +B01E2BDF98349A848372D71FC4C5CE5A025151160EB591867EABDA5218D990CF +EE729E936CBF739B02120FBB7349EE42BAFED286FF47977A60681EFAA89BC5C8 +88506A495D727E53AD520CD33372F9B855D6CBDE8F60DFE7939BC07609324BD6 +0395349EF34E63110EAEB88F02DF2FEFE96AE7242744AD22055598AA21EBD78F +C518654C4BB3909686D365F5B2AEF018047354C3CB1DA6113687D7C005F9ED73 +380DB024ADB803BD8DADA345CEFD6C2953D08407EAB05DB47F14959B583408E8 +13891F637EE1F2BAE54D60EEFE2A8E9585E6D23A36DC93FAEF5F71D06FD64EF0 +F9F12B349BBE1636CF9F5B629AEC150FA8F740E9310FA5E7929BC427E43BE1F7 +F044CF15D316FE367E91FE4331357B25B9D556452EC876C757B70C2DE306DBCC +0032500BB384E4ED63935DB30E02B453F48DDF65879D08618B6D4CDA3A2AA3CF +016238978E4E93D7ADD76722EFBD2EB2236EA3A979911448D851F0A174F28D2B +3A35894FA9D607369C5DDD01B3CECCBE0B3709EC7A46D5A520F622EAE0C54132 +60527042C7CDA8E0A4685689768350809998C66C6D63BCE8E29A5FDB4E59962E +AF956DD9FDBC271599EC152234EB1D5BF391A44EA0820241866A1D1E478DA5EA +5FEBEFA70BF46FF81291F0D9B080360F78D9F196DFF8B258E2913FF18CC3B58E +971CF6C09444150239366C54F5A6DD457AFD67954DE677D2C95156D094CC46FD +0BC570CAE6066EDB2D177FC14A2DA2429FABC92EBC103DEA2AE7AD3338C86C38 +00863E2BAF6558F8039467A764E8005EFC2C14C1D87889A098B93E465737413E +894C44B6DC17804FDD2C741DCD71CED34CA3D6B538682215D3F4DAABD5F5659E +A10987FC7374400EF046253A9E26878F97E849DA13E18CB40C57E5461059917C +0945E5935EC73BEE9BA03FC1F699E189620EB15C501896E17D72059AE83996CD +B5B1B92CF3F1D48B9882A42FB4320BA9E6CD2366125C7EC81D4E3A96D65369FE +79F2A479346F2052645BDEF000D285FC7EB4CB77AC4A6F1AFE858E296D269F3B +C6E1C2CFD4B16A53D3BD6DF6B71526DCC334A4E981FE6852FF472BAB1D21D704 +6DC68A712AED306AABA9E88EF09E16BCF4D7D8DD42E8796B825E180E5D9E4E5B +C8A0C1243152F73402189B19C5D3A5C3C7CE2E63B5865219383C1430BCF02D3A +0BE6C4FB1F523188353AB84051A6B8F44ACA0FE9905C20048088CF3108395CCA +DD57D6B8FB9BEF7940EEE1DD45A11FCF99C40209EDF8499701B8EFCEFBC359F7 +BA7097A36BFA9146A378C11AACEA0F4B8C16232287AEC4533D3BCAD82D41DE73 +DDDF473AF4737256A20C327D56D89B1ADB41443F424CAAAE5C84F12461A2B898 +AD0410A754085ADCA200819A8CAF996F354D8E6AD3261EB7A0E0CB75A64F8486 +E7EAA5F23282DCF45E774DE8EFEC65445375F9D6EA5EC4467BB9CD76DF6ABD3F +2F664C3F9ABED9B0AD621241B3F1DE1BD0C9218DDB56E422091A767481401A8E +CF4B3FF8E9CCDECBC0E8DA54D16A9CF48EFB6BC2E2C5935CC33A182C7C554713 +412D1E1F77AF698CD4C306B038E3671DA1F7FA84181BDD2F4CDD34AD656BE9D4 +EA910977C81A2C26E3CB3EABBDF6A0AABCA678D07828BD89D263F4B69AB84CC6 +7F23CBE8044B586A22AE8F403E1A20EC4333B952722A0EA094FC09B746AEDD61 +6B1D1C2B53626A134916D51E23725C884996145CB07F3181B633D183F4C723BF +A61F86FB08262A3C4908AB49A45418575A8E42AD49A6574A057F9329208EE0F5 +9BAF502C046F9494751172300ABB5BDBC3C974DAAA6F2D417E239D0FF9F29101 +0A2942F02B54B4B13E4577AC1082F6BCE3AD9322AC9F44E588DFF258DA48A7D8 +F64E44A9FCA9EB970FDB2A3A8234FB2E9B6C9BD3ABD24CB49D25C109BF2C3985 +C87A742D4BF6DBF0BADD12D5D03E0255DABA0E99603DF5DE2F4AF74D58EBD9E4 +38B8904D241FE08ED61ECF181841628D0D6079E6E3FE3BD22CE7D2189D1B506E +243F5B3D6F61254624FFD0F56A700C829A69F677054EB6B25AADF5A23A1E8F1E +F144BD4E12FACEB6CE936760ABF9060DAD724D0666A0B24793ACDF55FA0ACAF2 +70B14152BEB2B292C04AFB9A93E9DA506BC16A0B3466923A1181B8100D794E76 +3837387F39392C913E2DE34E242FB361A1DFCEBB253F5D6CC74265D8BEA2AFC1 +47289DF70C21D6B5CA5E5AD93EB9D5DFC4FDDB21977196E3344158E822236535 +0AB963D1A4DA2BA987B94C443473CDF3471FE9C2810E975E31D8C2B4FC971AE0 +0CEDE0F89A09F3273C63B84DA89B96B2017AB0091A3A3BDE607270EB4828A251 +E4BE916198766F7A0C302F85F77FF080C7D187810B40C52BC58F138E81B5FA00 +EFE54F7781DD013487F5672B240B49BAC0AE33C82E3F380AC5E21ABCE2411CA0 +48486228EC282EF36D060B328BBF1CAA972E83DFBE6E3AB3948993FE716596D2 +390DF30F5CEF8EBB0E253024DB793A433F11D82EF67E669A4CF60CD97FD41BC3 +1E7A1760011B137A340A7213030D693DBED86DF4E6E004CA238F94BCFA032801 +36FC78C938EF6022EF843D00B9D695AFCA6E2D224D5E1BF5EFC397B083F473AB +D6A15CFE14451C5216F4F5460CFA7FC8A05ABA9862275AD223A611392752A460 +2973D2E42B02037EAB92C647901C9B958B170E1490E68EB9F5491014BD7712C4 +1DF15C5874A4104324B618F69079235399F4D850B19674754FC395DB567B8A4F +98F407B16CA29B649EB82710854D0DF765FC8A0D5E3880C61ABC58E80B3B375F +377AD39167FF395FEC6B83182BC88BF431D6BFC7FB8D0940035A1E859B03088F +D135A150C5A6849E346E2B3BAE58D4D6508FE0DAAEF58FEDEF18E437F86489F0 +7B76C00E2D040E49577B1FDC1F994C0B1FF9065B54E0CFD2CCEC146811691D9F +0B79153293D9EC6305B8E7C1853C5340229127C636C803CA54FE83BDD5ACA6EB +7951485C6BD43DF9D90D128F2D623C00BB91B48E004CD61332939A153A10445E +F8605B9A14DA9FE7F5E3CDCC99334F1B3B606F0179BF4EBA8565A235FF3743D7 +93B6A6C970BFD65F46A804517273B02B174AB1068ECC4BAB2FB2E7FF4040F2E4 +096F29F3D26335421C261FDFAD9837D5866E3C377B8347FF4DD4736B01DF44D5 +035EDAC23F15A560F76BF9810720AC9764DFC5DB523D6D6CBDAD636859A24FD3 +578294FFC731BB41BBA90D608ED14DB007E9A2FDFFC0438CBB5D56F328336866 +E962D329CA6D9F438DFF9CDA06962A08981BA85C89D20CD84C7D9524C6D6EF8F +41236E7678E3D045E480354827192934A1D7B4DDE2C62A9E107B133CF00EFC25 +F0E9D46270225DDD21F65B4A4EAB24A30D2574678712685D0CE05F41BDB02235 +7EA0C3238150AF25A673263C1333D5EBF936D8EE86BD06F7D26A067C11F25A07 +4D582CD125EF9CD7FDF29DF0D23B4D0C0473C45288E9415D6924DA2948CEBBC7 +6400B7D6963C438F4DB090727E2CC70F4953C0B5CE528F57A2F5CE5A12FBE201 +850CFE21113E9EA28E47471145F05CB23F558CD913422256B655038B0F837927 +E3DCF18BAF4205A5F915A91FF241B9FE974F82F1798EE37BE0DBF98FED6B9E93 +3068F6E3586177BFC69ABA6C9AC927FD8BB23F527377FD5D562A2F148598310E +21F22E1B6380C2E009D28BBA523D187FD32CDC799E2C0969BB1F12B83FC9A431 +614DE6421DE93F01A58C41789888A3E79F8C5D0B38D6BB66F3A64DFBF3168545 +969D46D7AFA9FE2BB58E22A10541145F800D2153F6D8F72F85728FFD69F0ACE9 +7B4334C54056A35734347678FAC819E7636B192738CECDA36B19C820B917B25B +B8C6CA1CA6A1A94B4373F16AA492D727672DE3B7C72664DE8F27F4522A64EFC6 +F7CE2A8F80963812FAECDB279E6F2ECF03EC140F4C5E064C1D8332E64F8BB14C +F1E116A11B5E38C48AA6433EA0E5AC3BBA9B49E74AD64B3B2D1380668200F13B +7DB0A30192B1826DEEC74083E84BA607C4622D49F2C976FF38179869E064FD35 +B8B66260590F49B9B552EF7A7A9F0FE99FFE85E04724A324521A9E80FA7F12F6 +D29D8F098F5C7CBA00036EAF24CB03584B5ADD692851C24F86635B556654B109 +24D560BB5F658ADE4C11C5ABE90D1FCB61ACB5F37206AC4585CCCF7E9C49D665 +EA574B3057B3E0C80CB61927D5A5CB244C7784510E7B11C544E893DDA3C6F00C +4FE1919432DAC490C88EACF6DE9B3C84F049B8118A7E6C4BBBD0B438E327AECA +45EA6A58169F2317EF986C5841273722B55FD4177940FC14B2D12C1ACB03F964 +24AC5EB572C6CBE37FE727DA542A791D34CB1DF05FC282181C78EEAC5D7D9DB6 +7671401CE469AD5C1F171F944E8EDB028ED9C4F089449B10705729BB453E72A2 +86412CAC3A555FDBDFC41BE5E6D64962CF857CEA030D617B2C960F17E3A49633 +86D50EE10BE9F8A9AFD2566EF00521F1BDFBDBAB61E99697D730A86164770C86 +8CB78D6DC799DF0C8B40663DF42CE3C3FAD80D5CF80FC60D640156080D2C9152 +F48A9C8758232DD8E66AE8AA170903C91C4E31C9B0E424B42A63D771CA5E0624 +FF748DAA74F850D87EA9A6F1FE4E775965B7574E452A2E7FFE523232636602D2 +D83E566F80EF322BFEAEE3DB7B5C7AFE9E0358AE032B4CBE0A6F5017E75932EC +78A5BE2BF9C4825278FDD4A1825929928FF4C24BFD9BA2B05E0201BDE05C4679 +F5B57046A4C01994E6FBA383518DACF9162A85ADBDC80DFEB8F42868BEF4AE03 +4486EDCAA9671FF399B84A1C12F74B6072192E6715C0641FF1A2A32582B0344A +63BA312102FF7FD4C06ECC4B17394A5E1697A4C608CB1DFB5A9321ED1655B00F +C782452E7CB9073F54963073968E118D2CEA870E257AC983B8B5C203966E862E +B2D353C9BDA800B22436521003222F1C83B5A6F180FD59821699648ADAC04682 +57CF95D673A3BEF39E284B297FE2A6B1D7F0CEBC69D0A90857AC987D336A309C +59CB1DB029C502DE2FD3EFBBED86AF61C9B3766B8821D23C03E8BF6AD3D0DE2C +DA3AE8E9EE54DB8E160009684DBAD690FD58A493076005F489B5ED766F88DFE2 +A1DABD32BE9712ED9EA9B305441F03AC94C72B9BEF32241256C4DA4555E0990E +B833C384BE7A92A7F640030404EC1D4A6075A6432A3FBBFD14908A6AD8494796 +8165CBDA28C4D8332F6546C371C3EC3C6E0F21FD5A7DFBB02D27A759AFC2931E +19F801151FDADB43C5F980350466AE9FD13CEC7F8BBF90F0E28C78BF16E80C0E +3389457B85108ADAF04FD74E50BEE6954CA84492D2470706B5EBD8274EBB6EDC +4ED3E47EC498819688DB7304A5BBEFA47BB1A736AF4394EEEDEB4263E1F6924D +3FAC685778BB8C7119AB121EEB63C93AA9A8BBE648A6AADF2CF194C28DA7F0D2 +4F85C00A62AEA20AF29A521CD9A1C9EE8E5C6E99AFF17BA75C446F04D97EFB6E +2DFF6FECA7CB4CF7A645370C51EB06F85862B0C18110DA75135C56E57EBBBE2E +7D3C3DA0383FB28E6D10224FA4B2E50F1792F158E14341DE960B0C37951ADBB2 +38D7271357A2D965A63FAA8BEDBA6026ACB573446FDB9C123AF30F19682E7054 +E5B86B554BAC740D75C2AF5F78ED9B89406FCC5D971131702A148C74AF7B1684 +EC1883C69141F06434D3D0E9EC6AC79E5CA16F1202F5247CB203E6A2AF814456 +B70DB7DC8DFC2F24CCF423DB1A69641361CEDE75B125F59896E6EF03591368B4 +06852E8695F15A794F4388EBE5C7147625AF0D35C5AAA2C24F32EEEFECD20E74 +AED62B369F99A8EE46162C05F4EF05441A33B1905BCFAE3F5EA397BC7C1092FB +1AF7F2C6CA837BEF33E95D9019429560A7C3F517ED4378F6B843BCCD11F8428B +D9B785BAD6FC6F4D7D63444B0B7E3CC9430392B874B228181C6D2C2718FCD378 +F5A317F0F18A07935F6DB5F42D05B4357D58F727145EE477A6DA32CB894A11E9 +8A97E791FDEC52DA2AF2030A189E9633E67B755D03800F1A40502C1297BE535B +C31B27D8DB6F926D5CAE3BC42EA40BF8D33E448CAFF90173BC6BCFF56B181C04 +70BD799901DE8B8E32E6F0321618A74ABD0DD2A7C67A3FFF03B5B8D21AEB3F68 +E6CFC594DADADA44536E7123AE58CFD60CB56DEC6E480266AD6BF609CFE6DE44 +295F8F993205D27611C12598EC43D8834A79F1A16E6F448554241D8F8C1496C5 +1ABD0B89FEEA2074BCFA3E682FBC1649E7E7334DA8958FD45ABB6698C0C79E9A +8BDD73CE632A47E28A0AB60A35C2884F7D811560C231D0D2B0056D7E28AC6D6B +35CC3D5D6F8088A35E9D5ACA841ABA05EB6FAD5D5E925A1482504EF7D9804782 +6D5813D99B8F6BCC7F399BC69CC2DDC492ED3C2367269A10D605A8B1AC6C8F03 +E9277CEAA7483181E0786BA595EF1C0A1AAA0FAD2B7E43394A97510476412AEA +06E40819CC69FD103235D182FDF0EBD86BA52AC589061202BA92EA3ACB6E3000 +D752406B520596E1FAA75727696B20C327C47CB38BC95E4D86D4E1D5CDFD642C +3C9DFEEB665E2B44C4D1DA33D35E82AE5549BDA38BCCE368DBBD3E505DFA09AD +7A80248A5A3B3FB0E5E1051634496ADFDD572B1416841F28CB136463598D7290 +08139E7AA77E7078BA50BABA20800F6A160B9593D912A6E4ED45188D5ED43698 +4D4CF43C206E42D6EB6B6F89A24BAB13D6FD3C488C1A4A1D381018C830FE1B72 +8BABE1C134F29193BEB0A0A447B0447CBAE066ED3617CE3ED1E98766E93AC37C +DC13F2626CE81AFB367AD103BD11E13C10EAE1371DB2CE7110BD9F54E797BEAA +29C7529BB8804EAB7233094DEA46B3F237C8782880AA9ED936D351FC94E94C21 +F3E3184D33F5F29849EE735A80FC9D5CABEB1BDAD01AB1F3A2426A878C78DCDD +0BDD33966F493EDDAD612EF582BFAD6EEA5F0AB4559A72822A09113ADECDF7E6 +3448F7C7986751842F9D3ACFDFF14FF4643EEB85A4C935407E5988690DAED537 +CA0CDBB668D4FFC47AA465DFA276B5C085BE2AE80ED10D886D63E18B62EF185D +0B3FE9CED6025D00453437F429629A16539009BDC4AB8A5B9AE20F1043BD4B1E +574DF8C71B4519F26910DBA6C339F5C3EF15EC4C7C1FD489812B51C10FEB91D0 +56B60ADAE857AF53593ADEF1F4B6DFA26BA06F044DED5A5C4AA479E702031E7C +EA3B5D457BE088ACFD31ABEF42D735151183ECFA7564C3F101C591A21369B61F +BB3F0E2E3FF6F7605AD499CAE59247417015F749EAF869D8BB1313706C4EEF9A +66E2F5144EF7EBA5A68AA690E501BD92720FC4B7E47BCDDE59E3F8E1157F278D +CD21D397123BD9E6E3FEF16D61A290AB0DAE78D90E5EB747E46F56F0D7CFE88C +F637B1AC0596F20FA2717D1960C32F81B90CA155E7FA8981C09D93B0CCC35CD1 +15D02B43F720702661B491B583A271CA689B08E5843711DA3A4AEDF39A85949B +146E9CAC8665670C45C0DA5CCF1B522CF7FC9A8966255F38F47F72C64EDA3713 +E83F0484B20E7AEBFE1731C7011F450715F15A3E7B07EA6178A26898705EECA9 +7E18A5275647D5DB7527A6D6F9DCB93E92214DB092ABBDF2778098AF1D3EEBF2 +1E806B294D857FCB873227D2AE69FC5E67F25499B70CB2A9FAD6E4B0B8DC7D2E +DD670384DAA7321D8E8858310014DF0B4A58510E5DDEA6E9A0F3A2743CF2EB27 +495FD5895EEE08C9C1C422CB0766C075996BAA1C270B6688B546226CDE43F537 +D624C40A5338EB8174421AB069685D2A9684B2E4B9B9C14C1A1F7060B74289F9 +5CAFF3DA5A9125147BD7625BE2FEBE90FF8311CCC009FBE2E2E87A557EB78F8D +8B33D42ACAED2A4B0C17126F159E9F015FB89021433F526C1C9EE02B1C23A145 +B330A545144EBECCD575934835DB0B23ED8E99602392D24441A9C8518F6F103C +EA9E6CC0C8A40E4DCADDE5F64F3A0BC14C9CA724FB5FF7AC1655E257162D73D0 +F76345F7A3B5415909995E00D2CDB77661E5D5F5E4A10E2D0772AA0073528EAD +BB38EB17C8D4087F2CB77F121BC8BF7E049257570D9DF5FAAED5E4A05F864291 +4C37F98106D0EF4F392697C5890AD51C57002392866039FDC22920ADF88FBB5F +7AF572229C745D77FB23D67836ECA10C00948B615D8DD58C9137BD1AAC5A0285 +5C8B832277D330F8C44FE027FC0A04A7D89E5290720AEE910C34B0E8D87C6257 +DFAE337E0943FA94F823886FC92333BF7354293758DFA3691BB6CA39EDB4198D +C1059EF07B51603B5084CB1734979BC525AD4E09E67C9A8AD6C362B2B8AA767E +7D63D1B36A8D1F337DDC54EAB01E1670D8477628DCC736F224AD9D017C7C7388 +5CB407090459F47D5FCA493338223252BB9E2D0F5D14714F459DE77A60DF743D +681A726C5C59523F0A91832B3E3A5CAF36023F0D4D479227078E9112E0DE1C1E +ABF81D19D72BA9E4F6C891E782D4B53BD78CCE28873C6B284F0726A7A2BDB85E +89A6D6C60ED42B97D79E7002BEB12DCEBAD8D7F0A1C50AA27191450C05FF41E6 +49633CF806ECA2C3A6AB28F6B475D69B4B00A8D2EC56C522631FFEAEC7F9F3D4 +864982FE942D5A5E55637270355637DA1B7410E0392DF5EE3D9C6DE8C5D3FBE1 +057A51F0E8EB43FB340204946C2358F529E0E822A5BED0C543394BAC04AAFE50 +791DDF4772C42F08453C36053FA15EF9478B7119874303C49E8A932EE99D71CE +8CCCE5DD165E2B1168EE8833F27AA3ABCE0529C4CAB3451A27A4765BF980C8A7 +63F9F3E21E04B3B0A3E8E14F6665F4019C98D808537A6153CEFBBD6AF053E806 +803CB3F2A77C7688568F6FA1B53475A37BFB7DCD99C608A0B0803B7354BBFC54 +4D0D6401C1982633906C58B804B34F07AD83168EA818D17984226D6E62BA42B5 +A30623058F33F9A5F109CFA73482BBCC3DDA3C2154CBF2CEC8F2C884112C990E +8B4CE7DC33C4FCBDCFA8B125DAB2A1975838EA784920322CF8FE88112A2BE480 +9B73343250FFA5D81305B8859CAED4FDBEB8A60DCED0D6ADB2684F4FE0375CBA +36954B10EAB8C57A1D74292538EA17D4F30B43E307AAFF8800D864D02235C770 +3E23F75551E1EF89C2623600C97E9DA224FD9207E33ADF1BFB3E9B30DB5DE31F +6B864BD41AE314A72DDCD78F503BC76DB1E2376867B380CD00BC21FD8556434E +090B66D0BB3D04AB6B8B8003FDB77873283C6F3AA3D2F7D8CE2406C175446219 +B360DDF7C0E782FC3DAF614D4DEBB886E4CD48940AD790ED782C71309C739B6F +9CB825AB3646E19CBD01CAE44E09A6B88AEAD231BCA2A680F9D330428533770B +8DBE47273E11180F1A1FB2838309DDB4A8B2802C2BFBC35A4CF9E257B60730E1 +9763622558F148C648E257A8D7561DC0A7C20632FC3ACD54728AC648D994632E +83390CCD0A3E280934A717E57670151C2A2E8DDB27B177B1B026B2C4F2D1153F +7D0C634A6F3BEE37A6BF61327FF87EF3BD0DED5BC391640131FBE9C36BD1B7E7 +508FA0EA49F50B4DA8F21BB7B66DEF4142114B73FBE0D299A4FD6487E1CFD2BA +B3D2AD6A461B6F809283F70214AE60D56256CAAAA55F6085DBD1FD48EC73F2ED +A9EF7495D6B010F819D518CCD46344EDD05AC0701C55DF1F16AB5EBFAF65993E +3E9995B62C23597C25EBF2FCF562B4B7AAA18B455D220D5C4ECDC6A213D15DD2 +A33349BA6054202AD9D9A551C589B2AA9D0D7E79AB383C63BEC88FFD34F64234 +DB09A3E46A0EB331FF050FAE937C842114CBB3E823F21A9962D979ED2ACCC5AE +987676433A5D2F7BA90F8000FF03F2D40B3FC37089C414EB2BE562BF5432E21B +99D82E568E83A0EDA2E6CFCF65EEAFCB7A4B53AFDC19618C2B66DCADDC1B1597 +098AC2C7953687115E5AF4DEBD9CF2154BCDC03BA55F136107AB04D539346A13 +83BE9897E764A5EE5EC09EC00F57641B9A422AA18B94496132CD153BF3440D50 +71E810A8D963207081C45F6099CD0E7F8D70A301934DEBD8465053E6E975F0BB +D9E93373517991FF2AA52B90F6E93E200BFDC54D8C92AE3391504A5229EE974F +5B5685607F41E37BF73A2217CD3BBA5627FF798351285E496083C94358F19250 +3637B8C5CC9AE93512F91D48F2EFE4BFD7BE34A3498EE299577901371968D096 +59D13F6BB2EC4CBFFE7D88AD3C3DF8B7EDE274D1C35D61D4A0D271A231F875D7 +5F5A855365DE34F7ED3F30145FCDA01D0A85E42E5E1C7F6648FB6D8CF6D4AB04 +BEC06996CB70E6596BD8427619AACF4E9754032CD56CEC327D4BDC93FBAAE3E1 +44FF8B53852E923A8F62F139A04E4708F20B7E0319331F8CE1A164C5DCD34AAE +6836AE6D9E88371110706CBF6AAB618EEB621B157B61FC2431A941BE744946DA +203663CF3748C087E1008FA2DE7DA788685ACBED4C59DF435655A7AF911AD7A8 +4F7DF24BFC85083FB7BDC0540419473E1155D4D421EC999355C4DAB93F5E3BB0 +8C925B76998CE004E3D4373F05A3FF0FE04C70FFB4538BB086D2368408A83FEE +B250DB443FF431A995F63893AE7AB44F4229793AF563CEA9F790AE6EEBD05AE2 +6E3610B35F803D4357EF43B2F03B54B3FF2541C3DF14AF78C2F43343310E4222 +D49DD873D49BB4C29A25C39061D597239878420405FB388123A084C31C1CE76B +7F0F5705F834414DCCB24C3EDEE9980A9FF8F6D28B7128CC63861915932D718F +F5B06878537DE06AE78E3378C8B9FECAEBE5EA30F4DFB6CEF78102FBC4D257DB +D25310B54F2326CD8BA462D5A893A145A041BDF452A3E45565DDDE75CE22160B +CB51EED0E5724D1A92EB69C93F249FDA47A8ED49E4FE0B03B3565822B965CAF7 +8D9BD0CADFD03C7FBEC29E4D9CB0C34A9BA772C571FA51C5656F97E9FB098179 +61CA5CEB90F4D3195073795B111FDD11902CBD644AFF5777DE5AD06FAF697357 +F717C9A2DC45494525C2AEC6ADB80B4FCA85F4AFF5AE4AFEC5A32B135E7FE851 +C039191267D8334703C8102F6057571F2336A1846DD46DAD82FB74F40CCCE2EE +0D54886C6F2818C9BBE188C4A52E7B2E8C8356FCAB680E6EBE80223AF2FB6134 +AA28282250CB15EAD20AF688235E04587B4C8BD37EE7FF0BFA8953868375424D +32308C9F081B73266FDDA42D7FF1DE7ADAF77A757C94049DCB82D55D2BC423A9 +AC7537696045EBC4B14827394A607EAF4FFD72DEC7D7EACA03C2AE443610DAAC +622C9BF4488466357C82B55F03C64462ECF180B59B8F1B70C875E40C98BAC242 +9797BD9A77C82F5AAB281CAFC1688B831FB8673CB9E4D898FDF2439406494D28 +AA7D1BFB8C1B2AFF79C5A2DB909DF320067A2A986649FCB57FE547E18383B1A9 +C694B576F701629258713B66A048396FDE77382F995114D678A02338C31A3509 +EF69B0E670813EEE69FE772D9450B52FFFE08DCD86A4284857E02B9F57BB8ADA +261787A2B21B1A2E7AE5E07A94DD75526BC8135E9B36AFA93C41BCCB2B3E1720 +81C57BD525B456074505BB048491F98E5EE326B8CFE0627795E9C4981B47EE28 +7652A56D72BEAE91F66C3F8DECAD1D1FD18DE55196B5A342B3CAA998306C875A +925EE117AB4726540CB4FE5890B688AA1A20AEF7D2F277D8E7B6084264138DB5 +96C323282BB9612FCB1525A0AE0DC5FAC1C331947E5E82B5E3F6EFF42173351B +63C52D1A53C158370C53D8A82553C9455409B2499C9FB2E521879EAC709E8D64 +FF2FC73BE3BC71BF0F000C39EDA2E2751E2A0D385FC146A862C254A56DDB0FC0 +9150E0B33051D4564B753D46D097AD98F480AA2F1DB9E8911B8AB174210925F9 +E41C4F51FB3B83C306B1BFE08B7D7570793E681E375B5BB146FF3ECB7250944E +957D6C23CE68ECA7088D6B23C75707D070C6152AA8A0C894706E7C08BC358074 +8E9471565C16FA74AA674E87A6BD69FE322F8EED66B12847A4341F2FA45C3F03 +3EE66050644E837F7E865622640B763E2FEF19F3727CFA20EA057ABEBBD0FC32 +42EEC35622269FF10BF9978B1A6F9EF24C99BD1CD4BC82CD9826FE5A6C30FBED +97DCC4FF2352FA174805742D2BBB0B46B680E91A44CD57BA51EF29C92446C7F7 +9D7BC124239F18DB8718384ACB9D955E4E9B654BF9776FC594F24E123536EB14 +7AE0257EA0A1C0111F981C7B7F68BCB118E763A68CBF6019BAF8DF7BB90A7439 +098090316D27956C98914F1E7C12FD50E7EEA20B4461F56246BCF022EAD2DFD3 +D9B96A3D42BD6C27C579B06EF3BDC3E02D884B891552F90F3C35E771F432F3C0 +0CE165007162F2615273B07FB3542C75B12CB0EED5D49B6093F057EB7856F578 +BAB662739B6777E6FEF02141059AE018612DB6C09298DD3545008BB0258D58B1 +DBF1A8CD045307ED8013FBA3A7A35880B5ABD0C8C72B12A4A14808581CA8438E +DD8E35A911A03CC09EEA7D12BF4BB7278AFFE45DDFEE695D085D08F69C917BAA +878B82BA1CD5669F1B317F97F1A944D5BFDF618B09D03E44C73E470258516910 +7C5003AC4200EE916E82A6E03C1E35A1DED5EFC129C5A8712C41890C8CAB576E +77AAE0600DDFAF5477218DC960F74D005960101158140ADD3D61395E02258288 +0FEF5C688C5170B49332E6C9539B897B799A9BFBA05B79F7354306166ABD42D2 +61ABBA844F7C5642050F8E4B0B84FF05E045B7873D7CF1DDFEEFF05CFA68FDA5 +93EB6A522AEE0C3BD34F5AC6DB72658596E282033CC7409775DD60D00B87F022 +AE59E30A88D63CEE9E70F0608A39FAC34BD3AE89853011264E908150EF342E72 +800618215FDE842220596E32F06651D3C46487DC5F83BDF830E3C4C5BD6933B5 +9940FA1A11A5F769300D4E0A8C05C217F0C12300A4127CC824E7E43040D72416 +F4EBDD75E167F0EE2D4682A0039736F320CE52F404B97D7BC45432E09567691F +24E773C0C653804538D055BA48D2607A03063E4FA8DBB425329AFDCF724A5BCC +13264BA2CF1230BBA90868F8CD2A55C634FA406A75B13C0ECD7394C3306A3D06 +6F8CFEF65C1ED8157E40AEFF0D8E17F1E5D5A2DC354BAFA09511AD14234E5243 +8D28361474435A3CAFE818462811420FCC05987FEE53BDE92ADFD9456466E094 +621BD907D6D07EF0970EEA89124666F20238FB8D92838CCCCEE582FAEFAB26FA +F46544B2EEE505503D2FFE0C35AB3F1556BF8566802B975395DDEE7B494B9A22 +B13D609E94F18A1A31AC984327703DB64D2AAD01C112FC84997D765D49116B12 +E0E47E26DC8EAD47FF62E0C9739B9B54463CF63D6BCE334F79268AAF5F1790D5 +D411E219EDBE8C5D75676D8B543659B5CC040B306E6EECD2E4AC70890779B0AD +4878922CB0EE549413618AFC7DA3060527D9A0A004B94B68F9ED96DA8504C6B8 +6571D6A37A81C7953715C6E45DE8E1939701E7FE8B149067579E25F585321824 +826F1064FCF6F2E90165CD9CABB2AD5F09C679F79C3ADC15005CDD2904922A02 +9904EE5B09CA042C9C0233C302129AAD6F2C591326DDA30AA97FA0AA4E571F15 +F5DB0A7E0B4DFCD1F921A20D412994107EE33418FE30566D76B4463F75DE189E +58B2546D7F7A9FC840E1FEB18C298A0728BDE977778A824AE27734BA5B503041 +7F2471D9BABD2A605F1A3F5BF9C43E66539F9EB55EDE97808C54F416264123AA +97796C51C9C277D2CCCD8CE314DDE7993474667086FD2AE19500F3244A97B461 +B76DF9E4025B35D9541135D0B1808C3DAF3A0A2FDDDC9D4B4C647B0DDDC34890 +51DD60F711608E96A60D368AE92ECFA0FB879A257B691B508F4F0D3ED1F6FC42 +D3B3F1CA94F671A32040DB5C239E39B9EB9110129635FE6D0335D8BE31AD29D7 +ED050C8CD57B55A67B10E03EE61374156800F20B69D2D32A1CF68FB9240825CE +AD16D4EAEB25487CCE70E509FA2525D36E5B3EAD1AB7A5550769092EE05C605A +DADA518801009A9A88E61A5C652163A6E415DD4D1CBCE0B5D29B541759D99414 +66A3553519EE768A648F4D3233563DD7C10F3BF38EE35116ACC3579EDDE702CE +31308E46F995EB9BFA1E9C6FB61ED915B2B4CA0A58DFB8B631C0C10293263F9A +26D65A711BC479714E5A9C8F0BF282358323D45159C2D48D348D826D749BBC6F +504B14915A9371D096F52E610E394906CC0718E655F7B89378981755F578EAD0 +C7DF31DAA86CF07954EDD396660851216EEF0E04A0D965E44F477A7C9A28C87D +2DCB8ABBF3012B4580A80E746FCAE32BEE0B5253929CB49E25C14325E65900B2 +4CD581C81E4482415242CE2B7B1E497E40AAE81910AD3AB08495D241A5EF6E01 +7942C5D53A16815852EB8363EECCBBC517886E96F1F38054E4B87DCFD506F871 +603E0F4CA2AD1851C48397EF1663C24C1DD26C08A80D9ACA6303174F730B6C48 +871DDC6A030B4C04FC44516B159091F7298232F0283680427AEE9E1AFD164BE2 +B6D28F03A4B478289B650B1CE8275AE269609687F1774E505C73237945D0F630 +2DBFD8FF4B2FFAC4E96D08E28D229AF45B75C4D88E1A07A8F1D31FD51CE7B29C +F9250A7D833C004E6DDFC6B11117CB3D387E55A41316D3DA7273C3CCCEB74C1A +F49860CB4887538A91EF941CA15EC873CC8D8E07304F414A5CF24B5D0A586945 +572A8B602F0C845595DB69999FB456FB37BFEFABFCA7A65A9874332A95E3A5BE +5EE10A9BB1DDE920A0DB3FF8829F7984C7CB05351BAC7E8E2211F2570513ADF9 +53C6258679E79C0FA768A25AC24F92D3D76F067A800DF73476360819269D6E47 +360353EEA6E3C3C5D286232D8942DC1C3C899B18098512C50D70F8BD183CC9FD +39BD14EEBAC28942D9DAD4E6C8C42C003A8D7D372F7B2170FBB18E54A0DC01FF +3A2F31D47FC8A19053D445893279017FAEAE36B261A588C1B8B4E3A86AEB7C8B +0F62B2AA14B181320F21AA5D238312242CA4FD3EA3AB95955BF55CBB851C2A0A +78BF46F70EB75C6CBA8F5EF35065809BAFA5B0902C218A116FCB5F713F84FD68 +FEA012D2B55203A62B861FD6F287AF690E1CD1AD5AB530E03FC43C8A22B39C19 +E9D53DE5679F7E92F676F1F79BB1E9556FFEE4AE6103F7E179030CB2C733D536 +6396CD7928DF034D46F0E8DA619307F6FFB120BB1B0A170775FBB92CAEA5C7FC +B7F3841CCE3941888FB5AF3A83F6DC89D29557E578542B134C34D099EC982BFC +EAC959FED3616EC4CDCFAE85EEC5EA5F28CCF812C321D0EE3498327B7E58C32A +7FFE88ECC453618ABEAF6B28779B399B08869AF06EA3B46BB454DB8F08667352 +D0DF5706DDC7C5693FABE3FAD07D7FFFA809F4916599A05E5FBE6DC4761A564D +AA588B55403D2B00B70975EBE71E793CFCB57B9D03D2CDC48FFABE73BB049D94 +AB83465F7B9845BBF1907A8FAC3AAEB30C150EBA3C7FF155472EF1A67ECA82F6 +C1FEF3940FC776395A181153C374A54E5B61B7CDBDD64FE08152685143A62920 +300138723A3B0E50D30321FDAE0E8FEED5C65FE37EEE424C37AC789AD7E04A02 +00294D88472AFA3345ABA02F13E0D6CBCD690B170B19AEC52C6A36B2D1328FA2 +F14439288B89C2AEB1FC51F1BA48D330AA5970C1623623B6CE1E7027BE9DC907 +E75BAE4488AD4F100D4C44BA097A36C56A082DBB18CD07BAEC0D5A7F2A8923A7 +9248A87EE9C95618819C164072ED55ACD81ABF399BBC3BB5CF5BF5713E8B6F8A +5A3490063A2C876CFE5DB40E63E57A74DA97CDEF621FE754A42215A50D4D2024 +1CEDC2551DD2EE9D0A9337602F5C9BD43A7095E44BE118BD160C1B9DBE7CC02B +51BBEA0468F3CD3861AFF1169FF6F7E7273C142F34529456AA5B7BF34CF082EE +D536466CC9052836D2C62C256876AA2A6D1D6866D9A6B54245FDE270F38846DF +E4879580C20D062BFE81152E7A006C6CA5CFD2CC0210B82E20E6C63C1BF64E7B +CA788E1F5BF13C4CB4AC8FEB8450C2A97BDA68D568F07C51E2B6282093AD4465 +615E924B78927453F6D2B6C1CB2AEABB0F101FF56A0EF43C645BE3C3A3251F85 +794D7BF47493C321AF81D9EFC55A7619A394F4E09EB141E9A433A354E34D0264 +71CD3AF90E595AD9FA28F692A9396691370FF3E7A8FE9BDE1336EAE0B0F9E8FC +B5AAED951EB12C098287D5FDCC24C305042ED0F98BC8CA2947771DE92F89B761 +60D61D864C1BE5B851A090E94F2C07DB9FEE87106D63B9735B932475F54A5192 +31A27876B07067A75B1871CC4272CF947CF56364BFE3C8CEC68AD410F86FD977 +68D05E644CB6911CF15638038FB6C950BA44D10522FCBA73ADC9B42140FFFD4D +ED85FF5CF08F7460B13989CA3CC35984C6F1D41F9044ACF70AF5B9E0E68F0CAF +70930E158F76EEC8445994DFB9AEE8F2F3A6C70A7B56BA6D2EB787FE45520E24 +5B41C67B19A6D329B7E972020A8E400C49370CE63F3B218593A2255560C4E71B +2450185232C9BDC258CBE8E134C30B12D6CA48F8858F1CD30C4693EDD8557BC2 +57A3C6C470F0DE87DA40F576A7099E0D8DCA1BEFB9CDBE6718CF2DDA7C4D694F +D95E91873E4BC9465F76AB7819B85D8AC8AE10ED1C119340AEB5DFB6A71DE2BF +F43EA3B8D350FCB53C3365CC9CC9A68FD6C30FF218927B6ACACFC682CF099DE4 +EE9518DE4AE5E7338C7302E81C4C6342DA22CAED1F7B8C260F748596DB6EF7DA +1EED410BF2165D86808DB8577ECF960ED19483AE262CF53ACC938DD4B48A0C2E +754A991E3576761CF6B85DE76F7DB073991B32F88BC44D0D992E189363A0FE66 +D24C3BBBA4ADE914C3A71AF63896B34B6D865D9CF0FAD2AF18DEDA377C1D2335 +F9F5B81C6B4169186E6119A2D504D7F1564393F1C11B1452702DAC7CFA1560B2 +7EA3DB71286541E64DC5545041647F6F6857DE12458EA81E15A809FB977A6A6F +FA96B42793A3A2D14F0BCC000BECDB11440E499434A8188BD26D3D63A5734CC2 +2D16704D7C697D2DC31850592A652C38E24BCA7BB2950A26ADC9E6E5EA384431 +5ADF0E4B03B04A019452855C6438BB075B41AFBA2668CDFAAEA5439DD9016B36 +65BCFA9D744535A2F061671C5B30004FE3218F34ECABA13C6CDEF1C9DBC67F2F +6E4158683A7E13DCD95D659108468FB7B55F5BDBF4FACA69FF9695C7C5E8A9B9 +6B03E82A9BB5F0B519F48944F2FCAA988ED903EEF239347E7D46A8E0973653FA +548F768AAEBCAFEEFBA5A1DCB3B7B4AED2A87DDD4B99E1C48814806D3F5F9338 +08D95ADD70A2A781E515042D9E5DC76437F1EAA2F45930786E3185372279302C +642251C5A9AE2E007427A260B70E6158EFF569FB2D9264F2B02353148CE2BC9E +35E66B818E951F4AC556BBFE74C75074484C5266EE62BE71930A3403897443B0 +48836FA1BC5F9A45D04553F557C9858263329FFF3360B902E3A42E904CF736F0 +0A21B694FF960495775DE53C438514DCCF276D1D801D95BF1A7793C59F1ABEF3 +FB23208B197AA8A3BFD1BD23D7FADA5A14241C882474B3EFFAF093318F719DA5 +476DE938A0A75681AF592E3C4228902C12447B9C3CAB48BD1BBC6F81798C0549 +5A6C1CA6AC2618B1126DA158E23259BECBD99819DDD99E2A3C5918A0EFA3C7D5 +9ED8EF81080B806CEC60FC984FBC5EC83ECC883547E423B52335D9462E620B1A +A68C56E739889833A90ACFFB2BB9DCBB557A0BCF4F13F6431F91F4C05BC07A79 +C1C9A84E9E749FB3DDD10824648F000FE86581356847812D5D5267E45F917D55 +0EE88ADE04EA3FD133D66555101B9E95D4B086848CC5EFE46672F8FECC88C4B2 +9E6BFE0004777792A1F37F6B8BEEE1E661939AEB73CBD6C5CDDC6650D11C5ACC +B931D52797AF8A35BC0A4E8F82683F294CEE91CC146C3EDBB010882424F90CFD +130234B84E0186F45A4B3644C024F7C98364EFD6ADC07EC6777FF2B9821FB2A6 +3444FFFC1C544CF32997CE7F1566E1469B7BC6CE0B7CF3A9C90BD1AAAB5FB2F1 +BDD5A3984B3FE378EA9C10E0207A017C42DC5F807D875D10801A498B06BEABBB +0FEB788E96B64706CEDB1710A4C2685F367C38FD3B118F3822C6E6D8FE8F5CE7 +13F909A44EDA2DD03BD8D8376FA3E65CEBD5867464F9B80875169C5259418F40 +B6C35909EE3CE5211A6168214F027056825C7AB87C607C4E186224B75E19085D +7C2BBC638DD3FAB1A0FCC5F06D262FDE37C1EC2064C610590E82697C305E6ED1 +AC4026DD64FF64408794817C015E03658A6FEBC76BC99299BE2C7818214A344A +B3FAE4F62231B08AABB030033B65551B1F6395BB7895DDBE1EAEC6C0B2EBF0F9 +37D10DBCC54B80B8085A8BFAD6878956F71D5732624E2C9A7538D2D3C1AD6904 +C4DF7B6C38539E3D109CD8E1A6E2069F84EDC455731D3A13549508FCBE0CAA35 +6A9B139E235D23404CA90DBBFEFD31AA7B9C7FF5258C68CFC70469AA6385E778 +9F1AC38AA2F2E47361EAD7E33CF78BC735F172BA6691464D407492542A93E597 +4E57DEDB427C8A4B0F34A870A648889D40A109ACA71EB8752108758E9F994E09 +D69B409F4D03FC8EFFB1971D8DAD7F2C4AAAF056AA0380CC032C32F952ACFEEE +68A98759E7396B2ED9E9A000B07C6F208A16D92C0387A0CC97D90706D4CCC41E +637DFF688D2C83827C574E44D5EF0FBEC6B87CC2FD65F232ACEC5042E032EA95 +166C218C58B4CA353BCFF371E12BB467B506A25810B223BF2496A8FBE883C4D9 +B574E0CCF805D9E7C3A2DCD6E9966440F9903856732A191F2AA6F297F3DB95BA +869547A74C93194AD41C7D9B07E63D225F627A94D37CA4A9F6C2CBEE708282D5 +337F72004F18A0141F60DFFD428C7F05228FBB221629A9043170F8459DAA6BD9 +018F2683EFC15737095D32199003F23B675B0EDFE6335FA2C62D585718342627 +D6A14252DD389D7DEAD279ACB0638C105F40CC47F5632920BDE0AD7E67BA3D89 +7A484AC4114F98985D5C79352DDA68BC2D26A4BA9A22577F3A163398748681F7 +F64F4324BFD63EDAC2444FD0590DD4809FBD6B53F850F4B56CC1E664B9600D88 +B368981A2186333E084CE2D66AC205670A1DE358D99F607A784FF90A90764D08 +EEFC0381D980C114EB4848229AFC265D8450F6EBEBC81AE2B43E2816F420D792 +CDDADD0CC4CD0A4EA8FECAE0CF22ECC1C0DED52C735CD0ACFE449F77960D6404 +84C2A1BED824999943029AF070243415E9F7F2B48800E69674351CADFDE92C06 +08C21885DA3ADB4F95F7106C8ACA18A1EFC94381246B355BC12EA9B8D7B570B1 +C4982287AC49E6ECCDF1D19AA6BD04CD6B5354CEC3AE4440001FBAE720BA69F6 +9B7B905B021FC05EBB148A8C25BC858D76DE3FC70C079EB5718843F318CE36E9 +C3ABF9CAE531EBE7BDAAAEC9672192409A0C8CF3FD0768FD20F4DD4FE10F955F +471705C71F51F26443F71C98ED6E8EACB50DED6D449C787BFFFF3BAB3549058A +FF7B7EE4626780350CB5EF9E54FAC5807480D5DC408821EF453285A4F828004D +CC06C2190DDC9D2B5E2169009C65C8A684E218896E85F6A20C11EB509AF2EFD9 +9240589B2117746C9B8E4C68CE24166C51E489FEF9C88910E0EA780DE4C1C65C +5775D5FD424F0F4BD81C2C84F089AB732D1774F2E2C1D59C5DCA2E56D7D95A93 +C9DA0489A67C9FF7403E66785BD9A58B3A9A7ABF6794D3298DD50D68CFBA861D +7E37DD60438328F58821FCAE80CD433913F2968F20166132FB16A38C19E4F18F +7D288314F191B16975C42232850B0F807C41C3306865D5959A3E39062B2C213A +5D13BEA6FD18D2E9AD6EE7BC3A220E0F1DD5EB679960EFFF84022AA4C41ECB86 +BB060296A6AF4A1F3C9BE15ED87458D0DE6E6DBE893EBDEFE61B540E70628726 +132AF8B6C4F4257ECCD26C762BF8F30EB5E33DE3CF54B1EFF27D240BC1FF7F6F +A2E675BC2F942CE091B4246807A8B4C1BDA8EC3F139586CB3710E5451DF547D6 +863FC7A10DFE0A7E3C6E7D61681D9CAD121213108F793DA91860287E2F823B00 +D3FBF62D24CEE5E9F23481B4181A30F6252C960B637ABB0C652E61ABB7AE9448 +104ED29B358EF5418253B1C52892020AE7B3F90DCD161511BBD2163D9A8A249D +C5F2AA8CFFD0CE5CBFB2A5F236A85894F8AA68B20B5A62A65FC21AB866CAC7DC +2405143DBC735550B5D116649BFA13BE223E370CF5DF210822AA715A5EF2F38B +1434F9D7D0C7969927168E9D7FBD8991341456964F169926BF2B405284CFA5E6 +32EF00FBA4139E70DF9493FCBB09C70402B1F8B3D18008E6EEBF46416E87486F +92322E01117B4D4D3365AD38E2FE65AB4F59D511017BA49A9D8268DD56F5678D +9370E0328A3410B50FA34323B378D301A00BCB86CB3AD52129BCD2FB80A5B0F9 +46FFA9C71F95EC0596D94D5770FEF7E053E3E354F00A20605D64C99F483052D5 +40C5FBFA63F9E88092E7C48796E127F17AC4AE11154CEC38189CFC8D23C96ECC +CC9EE9D125209004A7813FCCDF65A2AC3ACE379BBD6D97BF4689F361C854A153 +5576DAEEA3405BAC73AE528CBC0F90C7F0F329D0D27231C95D30B41C71574EF0 +7E5F765F2BAE0F9F2DF24568575A36273BA4A842E30C81C8BD852C3876072AEE +35102F9C7736AC5FDF62129FFCA271D7E3BCE83164BB607B9FC6EC2FE03C6A21 +84ACD3482678AC705F2424FF3AB98AF90434F872586911191ED4B5A5F386C535 +008919E1AB6100988F048BE65034182D4A7169535C4F81815FA3202BCA68D505 +07DF33822CBD3B79214181A98283E98BB88CE7C4742D34CA9C0FE9D75A03BFFE +43EBDFF6C2DBEB8284111316D1F38AAE24B93356E00076E952538474B15002F5 +4A9A8A0C5FD98C18BF5740C5716F2C4FF22AD48BCE5651A437BA390176A1A068 +07734FF0636F2B7B5BAACB064F30AA3D6CC62FF810534627C9264E6BCAD1AE74 +1A701629F59B75849028FD809C94B438C5E9A15BBFAAE4C1403C80B7E23A373B +14C5233AE9C9F7D0755D1209CEA57A6CCCD584560012D61238A6389C0D8FE71F +F0C8B3D33B7C01CCF955CE0AC9CB1D842C6A5E526F2639DBB65AB35C7EFC9B51 +AE5C7204DA71C8C784BAE5BD0BD8C61E5A5D20A8718482F1D58AF951E230911F +92D38994648C19 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFSX1200 +%!FontType1-1.0: SFSX1200 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecsx1200, tcsx1200, lasx1200, lbsx1200, lcsx1200, rxsx1200. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Sans Serif Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFSX1200 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-232 -329 1767 915}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F33528B839D9374232E75DE7DA43F5324FC661DC +7A9617DD90022A02755D51D4F8448E908E6E58E6B4FD982A76F3CD5AF68A5842 +4ACC82FAB82C42882F8A34856062BE8EF7387DD78826B9BB508964F99DF1B74A +D7D891219FB749D90663119173989F5CB5BA19791C469BE96A41053292297A2D +4CCBF43C92FE69E9A321BFC322FB715A0D40264DE8F8D2845200B46BCDFB6B2E +07CBD3D1DD9D871BD936DB80581A8168CACC39542BD527022AA7897985AE714A +9C8658BE8B9C27152B55006BD61B97ABBDE1E6E3A9E009CD076FE4B0E9239988 +0F1729F08126877462C1971E3C0FE540EAEC1B7216A1F54BE64D939931B0FF6B +AB8B6A31A08AD89A251214F63EB335EEF1C21E39C37732B65337B14CDA47EBC8 +77664864D2DC23BD2C8F67081C692D996888DBDADC9CED8224C5EB68B4ED4ECB +037B9CF05EDA3663BB92A6696305CA86D4952A52E22C0A2867CB5429468C277D +586A682BF69D7D4232D429F4EE1A84A1CC0CFED15628CF901DBD111075E8EED1 +48B0DA78ABF13BA430F667855255CDA18AC3C1023E877F3791133671E9B048E2 +CA084F754F63EF9FFD951E01020352F02AF3D4805F03029DDC39A8B8D9489CA0 +32D53B0077CA9F58CE90989C76EB95D7397760B8CBDDFE3D1420BF5F5ACF43D5 +1B22DDACCCFF64466901AE5B9B0EFEE6ADAA5AD86B6167C421C846A9CCF162B8 +4A300AB0844D26AA667AF6971F82A72045AEDDBF14403687ECD6706DD439CBD7 +80B9FDAFE080E831D0BDBCF0E291E8AD7A2B4DFC9F65ACD4D51308EAC2A0F176 +7915D357F6F3B7CDD23C06226A101E1F33FBB937C9DC9EF676BE7E7925700F39 +F27816C174146B66A57E38127A0BCCA0D3A4A262788E82A54076B6F034B4D724 +310B4DB1FF9E3F65082A24C769CACCFB2083822F2CDBCA87A1533DB0EDA64856 +E3B529CA416E161D4DD32EC80219C2C1F422CB092BEFD91C5C3F8184C2596158 +1CDBD5E2D5B3AC065B4DE49CD63D816BB130CBA5473EF29F4ECD69FD347B63D8 +383338566AF3B07449FA8F574146BE42AFC36C9721FF3C78CDB36CFA524CDFC1 +F9CBE45876DDBC0DDDECA8A5239084ED7686663594976F9208C6B3C19E4DEDB7 +16962E44EFB348C5A0E024A9C6E61F2869E695B9D15473EF776BCD1DE6FC52ED +66918F252747423C9CBDAD9C30E1BABB10554E97F464ED2D5C234119A5E726AF +AECA83602B05915CA5FE986AE7934BFA9E01E35C3F5CD2F7470E0CCFCDAA9B4D +E523F383ADAF77A9E7D404FD4BC57A108C505EB38E048D94DA5864148889680D +08C78B8D2E0D6864C2C0E240976A62E9596EA62C942A8E0AC324DEB56230F90F +B2AD31D6E729D8B21AFAB6EDAFB526E8A9528E5B999EB9F43FA3575F7EF96D20 +0D80B4A329AD819EE9F5DC024400AB16DD89DA3C74A705CA1F65E78BE89FBA47 +B326F44A01C46D76CD5074F0C2E96C9E932E3DAB6C204893596C1C0A108E5185 +12507C46C9EC681F08A679AE7A7ACE65809E9BA948B735F0248AF227AD3DF7E5 +AE8A5C994487AA053C88A17B2E392E8330F91062E41741C416178B564172B69E +1AAEA8D0BE734F25F37733E85613210BF6EC0333FE2820F6148FDFD181CAED0A +E0C9F80EC6F5A58817B4A4B974907E6A664B28A2AB567FF6858109FE8F9E63D8 +97BA0934A49B50DE4CD0EF63194EA7DD041599710307C321FFF0B0FDF48A94C2 +EE1671ED6F1C647C21D91B883142710DE7B71FA985497E8436F5B998263C2E8D +AE94644925DD0DC9441E39BCC6A3F66646AB9194B3BC546399F194F71A0163F9 +89A4D77F1B9C1EAA31813F23D7224AD97CE9B52FE3731BE86A570C97468D29E2 +8C7A75E36843FA17D9C7EBA09ACEEFED51A3B36933D3A55EC7F005A49E87B9FE +A9AEEF420DC30036CCC91179644474ABEC0C1485B887C6BBDB6C06E02CA3820E +A50D2705644259158065B771309820B119078ABB9C6819CAE5CA70E19DC2736E +0C2E80C3CF8E509BE3C4ADCCCDA736CF2464284F5BE4A52385E8A0D50E496DF7 +F6EEDAD251342277F70BE7A54E790A8A3FDBF8F1AB735C81B335931050B46886 +5DE7308E8D632B6184A57283998A0CAFFBDD54D863FEF6AD2F3B4ACDFA70546D +EE5401E6BE9FED6B1626ED9646188E7726ABF909ACC9EA8B077DB8BB9295BF37 +24E474D9C4361969F824589D1BD47903CF41ACE1190F1749BC0DE429DDBC14E3 +25FEE078D5C9A2E3BD77C30C8C026D74272C20F114C1FC8D05647561C1D5C7DD +BBA748061383C467CCF4736B7906B1BB4661BD126E201FDA73E668D5837386F4 +11D3070CC8C3D9D3B18F875DD0510CEFD3174B5C5F9B346365105C8F92D2738F +8466A9C9440DAD0769F65ACAD1AB7F466606C890B5DA5AA35F29B02D90424C7B +39D996644AB40B4DF5FFCECF203CE27B1D963540FE3CA91580AA8445848DC244 +DCD06C8CBA29F49B111DF0D79EA30D2349499DD176DBFA05A85A5A004883D212 +135F0903276017DF01B688391D5598D5C19DEF1D0EA02193F2C376D171472050 +6AD597CA0FCD2047B539E5E5D7E3D281E9C0805129ADDB0CB28BCA4E8B6809C7 +9D5D3C568581BA9806EABB808210BA22E31151D632ED20F9AFE1E71032869196 +A7C5B66C0A0059F355755D4C3AF1ADAD3760C0A49D7381D27B392892B3D7FAA4 +4A88A3D7D0A9575761B5FD4B315E4118D726230148881B04FD6D0B341160906A +798101529BE2AD22A00B93028F840292DFF8284ED56004802CECBAF3D0661D9F +D2F672D06C7DBFCEBC475522DF5E61031D867BD727FD78D040B635BE422C1591 +ADD1B8555EAC7D6217A238C36CF97A9DD8376CFFC736DB38E4FDB2C10681C548 +29597F761D430AE3A03528370D5A1802C4036495FF4BBBAF025448CFCF435BA0 +2A2ED5D2481B0437A67379442DEAAAF0DBF56B95FDCFE1CDDC307A88FB00A1BD +F0C7786819B6B81280DAA74F0D0E5623FA97F2BAAE715D08CD504E139862EFC2 +E9BF2B469EC2158D76ECDDA61E076B13EB04F806DE815730E06F72EF70B3490F +704955273476EC02C28B7101408A7DA643410186D78F97E958209072E322D3CD +B4C203F0775E279BC3B0D285B5034C42FFACE6F501B9158CBABDB649A901CDE2 +6BC1D459E7FBA0B06B3F26F39B3F4120A18FD3FC507042053282E1F5FF4696FA +C4A79490F9BA2A475AC8E1F8C37932CE46A69D77B99233479FC9E095A86EA4FD +5E904CCAD9D8D10353655C34FC4FC0118211D5BD540EB1C86A5C17CCAC562D05 +16976A47B321D7241226CAB4684ED48F289C8C92620D50C44DC2C8853BB3E2B9 +2064ED128C5622A46459B356F9162BA8BBB9AB0CF96EF6FB23F304CA1D98797E +793F93416098D9EC779487CC6917023CE9CEAA7859F65F1D80DE83CB2405D9FE +C8CF33F7774A35F4A6E06D6AFF8BD1C39FBFAF8E6A598D947CA535033EF2EB0E +4D3FB92303B6E384BA8BAC52569FE45670DF10BAE33F6D46DA4D804405C64E50 +8FD241FE7988892E573F64CAB6FFA3D2C3EF032BE6F5E419CA6EEDC4D98D26AF +ECE212309BD7B8AEDC29FB468B765A35B4395F77344EEA5B67C3D189A1B89482 +9F6F0C754851DA1AA8694312EC1DCE0B1E53F71C275332414CD1FFCE861D48CF +A43653FC312FB9D1C9D4E4167CAC25E8A1D8B708FB0442462B94AE4B5840D0CC +6DB88CCFEF12F4381141F75F8583F6F56682CD8979E293E4AEDBCB442689A817 +38C8E968954F6EEFAACB711CD41A199C05409188055F6701BB42B5C975EAECAE +276B63B884127B7AF34AF7F028031A9531C4F38A56E76B803632CEF2F8B2F213 +8E7F06D46E1673B01E071BE6F0B820D54433588CADED96CA6E7A71793382C4A4 +78A14E1EB98EEBE97EB1258FA4C29F606CEB2D5D9A88C7B5CC8E59247BB1EF8F +2164CFD3EB507EA58F34DB2367A7A30FF2B378941C0C4A0A0099D02909E2CE26 +2F0C1EC7B30633CCEA8D6ED8F6C29AB45310891C6104967DD9157E3EF507FBE8 +F90D6BF0E2D3FAE246F97DD10CF46C712D49F005CD4403ABC39F8ABC8D9191B3 +FD3B89BB10DADEFC3BC31D3FAB9CEBFA1D49A63A597EB50AE8B6AA80698250F9 +C9ADA78BECA3A7C5369311E96E941651E32450AAFCF23171B21BB68FDD1DC0CE +8A94BE412CD815E7E224E90E757DDB683159A390DF23656FFAE219514BE79FD6 +E1566AE80E84CC1C1BE698BB127EBF959BE0BD93B523BA7D45646EF1EAA1D795 +A33D24F8356865673BE02F3FEBB7DA9B6FBAD0DAD95B25C13C8296E1875D27BF +876F8729644DC3CAEB7CBFE7BED6E59634D43A66E24FB68BBBF08D5E8B5C9AA3 +A37DB6AC2AB13D030BAFFC09271852AB2FB36FB2046845E54C22B6429F716F03 +19338D565EAC2124372601376869A676906BA08A7C5893D93E4F21F7C16E9B21 +C62F2B7B0B42F280A931F7977848C2CFDFC77C8DBC0BE80FE7C91FE0AB531D20 +9B3B76B029D61022A4554DB82C5BE88A9991174692B55138F3AC25F74E3C6966 +9E6A2CC10A99281E64B31A4911173BEFB54022C02B55274211EFF780B348598A +3744487109A330FC50A95F063FC34992C8537840989D00EC9A9B8849BBEC6C80 +43C1917FBC73D215F717177BB9D3460686BAD9DE60E0E361B44168A6E5155C84 +36CC5E7DFFA930CABAE30E7CC7C0BFC511695BE35668B0A7A9633DF4368827F3 +86E057151F4262A379B16F8E9075ABDE1292FFD258751C14482064A45E3F43EA +07AA5E9C422300F452F5505198EF58CC1ABBA9208B6E5E4F609D82E1DBC8DA11 +40AACED9AC3F50B66BE18F257A4BF09E9ECC356F4041915E58F409D09DDF6E33 +D10DF5D6A82C3B0AF40DF08AA605E4C4BB01D3F861E848907361C281604178F8 +ADDFD73F1131AE570FDFB75D6B2F433159BDABD19DBBE7D0840AD8E09F25D875 +B12D1ABE9514B623758E703F84BE24093ACCB1269CC8781E2D62370AE0306AB7 +4FAF08B551DBD268D09430966E3699FCFAB403B5F85F04CEC86197C7F1072B8D +60518EC3FAA2F3514A755053175638ADDE775257A3A19757E589F222A4546A59 +AC93F2613983FA31278883FBDF4482DC3D7275697206D7CEC99F033D3D8FE847 +5B87C18222102AE686865E751D5035DABF8BF4C7CA56235F280A19A2EAB0E82E +EA9FFC32D2F0F6C41EF3B026BD742AEB1FEB0A2143AC3B9FA6618A09D9A4491C +9229CF1ECBF5F557080716ED92A9E02A8B359A02D9A7226FBE0F09E9FA8EE079 +5711D1E9B1A93D861BE032979A1EEEC60D48909FCC0F222F1D3B0BEB120E320A +2F524F19504541E549FD4C2C122F9A948F50A55FFED5C1987D4F4FEFD1F99F98 +52A1AAD14CBFCD8259A6075D3D621BE7FF562ED72A737596B75CC4BCAB79BE48 +A20C76FD8BCC144E2A5C3668A14D05E477CA618D9C467FA9B2D2762E16E352DE +1FE5C7D7502F1EC491CB57CAE81A1A2460AD981F64654C82B913A8F73534500B +D01EDCEFBDA8A96A34CDF5E3DAF380B9A00CACCF2DEE2A14186D9CFF07274B3C +1079DE386E2A72FB0082E82EE2D639FC50ED087DF4FBD194FC6BB497536504D7 +77AE66762BCEB8AB14CA22BC79B6A7AC1118F110E7EE181912E3FED7DB796B0A +0A9D5B6E1EF767946562D76B301147064BD169588DCA9D06FD26F9594B1BE9D7 +A89EE3513704DA2B3C64D1161E1E66725235DCF9BEFB1040AD6CCE4299CE52BB +8E7BFCC763CF6E980912D5406B68B434DB99AAB6B8A1A9E2F905AA076DA15AF3 +80ED7C20EBB2722067AA0FBD3918F7F9AB0D7D29B52DDCF0ADADC0492E94840A +2977DE5CD85D9D858B67EE6533577A30F19998920A7D05C997CE1B6D866C3E7D +E4EA963E226AB9FEDD155C61A409DC4D782A37A121FB499F5FE2E1EA65DF64D0 +B78478BDE1715F606423E92CBD1B1B943C1AA99370C24B17425B4607BF0CA7E0 +42CBF2D8DA4E014B8A5E975373B85DC2E04F6BBCDBC423710367973112EB83AC +5AF8C3254846AA18D71F35A6DE3453972D5FA65D96A214E3614CC683A3AD81EC +04264BBC2834002916EBCE5F4D301B7E0F4959D4EF06B47D81EED29F7F7B3C04 +E93E80DD8148F792D200AF577494DD8B3C52C6E8A75E1DB2D2CEB485259EA076 +A687AEC12E33E4172B58E105F15786376D48FA1493AF2DC3305F1FEAD60A211D +A571C01B050E57F080D38FE8CAAE702FDC9D3E3D96B63EB0C473328A6378A9B1 +FE313B062E76FAF9A7C0D65E1C4668265EFE6485F6BBD6640412C65E7F41DB4C +5DF149238CBF9B21CFD17D47A7FAECA9F896C18C8974ED4680EDC5A5E75AD296 +256090004F41A1F9CA92742770042B68700C7ADB6D6268C6CCE1D4B3E82CA228 +E7FA7543FD3B57466FF18ED52727A6C59FB2A533EBEE1A84A1CC11A4254C9E6D +9A6FB80B29817A25C002DEEBC82E18120E0EE9275500B1BB08CE4B28C43FB672 +4A1D3384455430BAEA462C2031D3CD3D0A51AA90A7BFB6EFB196DBE2AB542E24 +EE4E1A947EFA33C3E3879B8A6C79FE212654A44A6D85CB2A4D8FA22922761A4B +3E763A9B7D8F1C5AE309496E6C07F6703B4953B0D8DED3C44CDD4968129C6D2F +7025AA59594E9CE85C333F570B9AD736353AC4E5B28FDB612944D6885CCA65B9 +ABD3AA4632565781FEA89AADFBAF707BAB5F1B0A2DBAC407A6913EDA0CB25804 +56A55E17CB51F4FAC93363B74F29EF435BDD5CCDB5EDF6FF4ED87969D2C61BDB +C19750AFCE844147A020D242924E47FE01EC85C28BF523D59118064D7769D40F +24AFFC6F87C280A94CF9CC4109372C735ADD783E678E6568570067381008A2D7 +F08A80138E212726C674D628F6C91E79F4519224018E884060FF89BA2A9D6EBC +57C228F61063854C4AA81969255AB55CC924FC049D199A4A8CF21262199758B1 +87A94FE8792DCE3CD6A95EFAE0153F5253BCF6C793E55F2B423B99B07C8DDB7B +B4955876D06DB1E23768A45863BC7A1644172371ECECBCD645F92207F8517C68 +A5AFCE84D642FFCCA7D1B1DC0E376B0EAD9A7C3C73E61F2A13BD69AEE83F66AB +D4BC7ADA4DCF45989507953755B99F1360F007C1D9B1D7EA0EE1A7DAFD0731ED +EB570293AC0EB8D25C362681395650C8C00A83A10DAAB8ED7D09DBF54DED15DE +27B00F6EA238CF1150B668884E42EC4212DA76F4443C2D1A2560C6FBD668DE28 +F394F6FDCB6E34435AC61CF23440DD5FB4E5376C606B0D79B2E316C10FC765EA +B031DC3A6C649A2587DAA73D979A41623FCA9D0F372E8AB3688730FC94AF593D +7BF744F2837023A42F54156D5809A68E7576E627EC67CD39364B2C1303C0A8AC +123916A9A64D8959043EA55562933CBC859B027EFC9BB1C805C51E1A2D296BDF +05D29114CD8A7204078742E146CA8985E1FE9D35C9B2516757CA8AB45450A074 +B1ACB91AA68820C06A5DFB63070D6522C9BEF8C4560E3C56E4DB8930BC9E9B0A +A5E268385070E7646AB5E6A600D0DC4434ECF0BBC5F9CBADB0D38DED24E434D9 +8573336D5F16497CF1286C004DC632CF1CDA60BEA3D4E10D331EF2659A95C90F +D14DB51EEBF226D020096DB3D37FDD2E0DA0494936CBDCBA9450A2BE1B106BCC +8318BF47DE3172A31E9E8B0E8CFFC322D88C90ECA49597684AAF97BCA6FD846D +2BCCCA9ED6E17F265E13307B783788818C131AD66BB7725C549750810CFADB73 +29072267D8F224042E79BC707725C13B800B919CC252C377E7DC5EBCEA17E949 +ECCDD23F2BB7D2D3AF5BD01CB680CA475069486FF4085D52370D435833128295 +F50F1F619F932E84213F1EDC5D10725514567FEB01842A8E3418E15D1F34ED12 +61A36005E19127CD3A9E1AA04CAB611AB045726F023EA52AEEBD19E2854EE88E +C57710491A203C9E33E3119EB1B9F94380C6A98981A99E2442F01D8B3EC8FBDD +5CCD298DEF3FB862F9A9582F6C5BCE11DCA0359AEEB798E2E8BBB5E0308ECBE1 +01E233351AC8E116AA0593AC6A9B72A11B13406E4CB723AFDEE715E865DDFE6F +74C8BBFC9163755E2598177045787F759F116D1883773577F25E37A07F94A898 +2CACBA25469832351BAC9DF7903F6842DD83C852F58A852648E19297BA56FF7B +59C226538E3DBF392C45D14D1EDBB6DA767FFE4279012275A1642C7AA6688C4F +785967EF68A0201D628A92169B8B91A83E9FCCE9D1960F290269D5F9D08DA856 +287492A54384EF343661D7DD0F7DF1959F349B12BB4BB20F8E8C768AAEBC7BC5 +80E41E72B21E90E82F19A1C65AAFD32B2D13FE6E9271771F740EF7FB2D629907 +429D3A80BC3FBEFCE3203808ED0E975AB71A48E0936AC92B6A60D2B4A3F62B37 +E3020300719140740EDCCD7A6E057F23073A2BEE700FAD7465B8FE68AD2BFE13 +1B5FAD9FED24ACDD65EE06920677DF2367D7E9AACA5547EBA2564942BB5A393D +08ED0E975AB71A48E0936AC92B6A60D2B394251B3B1426C9F392F2DC54827C9A +3B9C7F1CAE4797DBAAEADA880EED34399C698B5768092105B7DC4DC91CF778CC +E8FFEAC496F4B6EE13FB5EDC3C728B598303CA100C88F9574E62639364BC2816 +99E31C3821A1EF2562EDDBD183BF89549B61C5475B3D27BB529E23539BB6A82C +DA6224A2584BB977E4D7CE48276DE9EB064FA545841C4879E043802A8A7B4494 +A0AFAA3A3689003AF094B4E91F381C566CF9C76964C2FBF17C2F536B2B7F8125 +10737A97954E10D29A3F1A7346FEEA876A3AAD2947EF117AFA0B67449729BC93 +74EF96EEF806A967B12AAFAA0D052920E4FB4699C8A7E5286A3715937005843A +768CCF8C37AAF09A62BD8BCC4CDD629E650E0DEDE02E1050BC8E868942C11DFE +393146352C6F91EC06358D799DF62B5293C3241015ADA7C4102DC0100066E149 +0A0C7FF636F2CC95D081CAA3F1A73B7C1F174EAC5FF8B22979721E2894306D92 +3FD97EB493ABC4B874F75322D7C36999F99AA0A7978CE092FF221F3A9BBEADD9 +216BBD7FA64115647DB12593C2A92EA396993B50FD8BCE8015F6E1A699E733AA +64B52249E833084ABC2B466B7D2B23F5C9E67A96999A620FEA90256D2085B34F +C24AF5794FEFF0CBCD441B871262E84C25BEDB30E0AA93C96A6B7DB7CA7D60BB +2F0FA2C76AD93B70DAF8B686861B3EEE632A5D47EDFAC59D608AFE9F42F449CB +5623B0F0F91C29DF4D780CDE769503AE19C3628BA520178C8D8BA0E41250BFB1 +A4F800ED2C1A775C87BD4BB46F7F1A33BA947E1201E26F8F20910AB094CA9DC3 +606B917BE26E093BAA6332F7CE1D26346B09FC68D07CAD66DB521351E7A1C09C +7BBDFFC7A0B437631CA9683A312E20ACD00A2049924B74035AE2E445088619B0 +43BFC174D395D4F2E44352DFB5E6B8FEDF0C4A956DF88054EA7A59F3050D9A11 +1C6FCD1F657F898F58C2F05F1A2EA3FBCCA69B9E1C90975F74DF7EEFC3DEC832 +CD24AF945BBCA871A2411D9A09305CC7017EF7A7C42886C1EBBD183EE1ED3C01 +B312533A6A408C35BFA7760360E782868DFC551050F97EAD6C933FF531910D0F +DCD4D48B4D8E4620485A4734C6C3BAD260F299409D5DA779F83BA7906736E893 +12B126EB61CB15309BD27EC19C8D31C93133F847423EBAC360D81B7DC39FEF8B +47E2E4DDE08314B5277CDE9280D5C2F51786951F48CF83B41FABF2D49A5CC0F0 +E81DBEF643A6642ECBFCE2BFEA33DBB24BA46385F793EA3E55BB557C491E30D1 +1813801BFDFFE92C8DDB80A47A63642D4B907A28EB5E987AF8CB8AADAEDD952D +790E32BA259FC909D70B3A5FBA960F55AEDD5B17DB055E4F3815A7022863F559 +13B0B1987D6A72839E71547B7006340118E843EDAD38D8AFB6C6049D8B84D7A5 +43FB1676B10A35D595FD984E05DD11825E99124389F65E0DBF66CDB2697E3D7C +9E858998F0EEFFAAA911840172E783F66C96006C528F618077F413E946598658 +0FB07AB439DABBF81F0F47330560107DF13BCA6A0927C9D48FE81501AF57C7DB +9106915546163F0D95C371AA67319B6262F27C9F4361070A5331C55EB5D0DB70 +D626730439DB8D805A175BE0CDDDD8AE32B1AF84F7FC4C7889A31A4EB49C93B6 +37D314982838726543BC136CEDAC508774E95C783EFBB86BCA42874179022391 +224EC4A6B774FD635119995F085D950BE2E3A6FF12D4D04D58FC05FFC0DC492F +4D7E318426FD7CDDAD72261FB4DC80CB99E7BB26F825F8A3708D3625266AC2D7 +0049FA1259A20CB3C1B57C5525AD760757753403E4F853802BE679D122DB28B1 +212E435E2282AB5A9A3BB9944DC8FF09E8D012DE95F32E5E1E07C9503B4DE7A5 +3F59295FBDBE263454C57D72EF56D7BDD710AFD1C614843B040A79E21A616C8E +E6B230B8851377AFCB7BAB3F2050025DD34A69618E2D89C9F5A0D270669E792C +0DF51B70DA3B569908508B1666E24FEF2B67CCBA5CAEE82F1D016657B0240548 +802256FD8A59BE466CBDAFDBB39AC05ED705F31F632682439C3C30F66E3B4055 +08D6FB79796CF0F60CE8CE250FAD72B8A85B7F11B88346569253DE4AEBAB2402 +C71AE8991338E5CC5020C7887803799512DD91FBF55788BCF641BE95ED91C701 +09DB3B7202952C4F82B500AA5AC31B3E91DBAB6B4EAE59456EC1E50DC7D2FB34 +73CAF693E433EFE4192FD1027537B9E064A16CB6C043239C9E1A4FDA3E2EEFF6 +0D7D07C5D332DC4730787677BDB97CFDE5E4403D32C12F4F7BAF93C2AE5D9D07 +6FE288D2204BBAE0D257B035051254C1D7A77E57AC8EEB3811BE2BC948A926FB +B9C79B6116B72C970BD8C39AC821B1B553C41377F5DF9FD1F089B09E545232C7 +4B7B9559E8DDBFE06E88EF2EB4763D36C13E3BA27393B99E415473B4BEB3114F +7C6C1C8CA6BE59E1C9B59A512E971F8174EF10629CF0484B6422982B9303E74B +4345F6DA631D7EC923D6DED47F0F852E129736A10B51E96624ADE6D1D9E3E1A6 +6B8F999268F0EAE6D3AF121A3A4B85CEBC20B350AB1F563897663BE25223A9E8 +92EA8D27C7F5CB3B1EAE1348D1FFD013184D12B61864914074083B6283C6B78E +D89D8F241F90112EF3FE82C594A6D183AE185B97671714308826728DD817D9AE +88BA167AAECC79BBE9738D3483605C9F970E9D463548AB417F55D966EA1FE463 +A991F442B33A939689A857DD233E59A16A311EBC798F41EFF7AE1BD1211554AE +E505A65A240FFA7C50C6985DA63AA10F21540284160AC7818048068238327C30 +48B1CF36C21F68CD19BA8FC48A23CB35E7C196F25448616EBFF6F4AA21437F20 +DB22BE291F9BA0187CF78E246AFA8697F7F76183D6F20EB871B41A506B03CA1A +F4FBDDB5318F92C6F33E6D384C155A7898DAEA95772C702C4FDA23DB576384D4 +56A0671B5938C5AB9CA320BD30EA9C76D10F5214F73B3B0CBB96D321BC4D4552 +655D1032F14359143FC7819A28392FAF6BF7798E9F340A3D8FADAFA8673160EF +A45FBE3BA446F3425837C21B95488872F42F5BFBFD85DBF3AA49A718630719AB +27743A55803F83C8A398AF6C1BCF0FFA3C4916095E5D061654621A6791449353 +D3BF18D69D4AC7A752DC267637E407D055C19A7E1ECD23DEC40E6260700F9537 +B45E6BE66DFCEFF42E23907C326F9E6F25277EF472938F522CCEA4ECA5DF39C2 +D6526E5009E38BCC2AA857C6FF5D109037AB0D1EF9613AA2F7DC187A480D26A9 +1D47A5225AA63B0E3C9218F24922B060DC48ED09D5A583EF8F35C5E340BFB3CA +764FB1DE0324DB383FF30B6682499BB280DFBEFBF2305E6D11018C7D0F204A3B +0C459A1D4E88A93B02877B21965A03156250759996914F3FE75AC9EC1A98F2E8 +599D9D6FC11696BF0F21D85BD349EA26248081FF6E74A6EFDEC8430A1DF8081F +0688C05778EA6E4F7A6CEE0D8F09CFCB180ACD68E18C8694A6337677A7FE67C2 +2EDB42939C4A75DB0DBAFAE96D2B7D58B5C0EE1B6DE181D826EA07B8C6C8FF04 +4C5D51FEBB2C205C205B35DD3D0969B366BE43F3E633713B94BB3C863808E3DC +8DF9A5629976B9B4D6A330060C9383278BD0851866626D6ABD1C83310B0F25CE +2CB4F530893483C1E9B46B6A4B1B9C1316976328E1F0D67B7425350FAA0477BC +02BA30C537E79CACDE03CD23E39776BD20847178FEFB70E6341017D7860F5D93 +D2D58527B0078EB6BC812A2AE9CB5A39E306CF67561C6B75840B17E964B20649 +CAF5CCA0380A156FC8E237385F57923816B7170529228EC140AFB7A08272BD6D +2FA4494FF537FDD81F7A2FC774C2DB6FE1616BE4C9475D2AFC36194FFD0BAA08 +6C3C781BEAC1865DD0E6305207F34F412DE8B10300F09A52E0B58A30C24CFEAC +703E34FC3158200F6FFDF11920FA7CBF06D3AC042AE920BFD6FF4F572EB75128 +717B51C1BD980277EC4DA4374FC6D1CB3FEE2C48AC81EBF65BA7E86AC489685A +850499691B1DA269EA055275E4367E53CB7950A06E3B1BBD779F117DC071146C +4C563A820A25BB28973B151619C6FF36619FFC6B21212750ECC34C46BE7CAAF7 +A60D496CE85D239345708C8F23792D55018D106D5618371F4B613DD5D5536D49 +069FDD216819E3C86A6D4BC142E539D01F59EF9D1F2A12D10CA06A91925E2AB4 +328C5527865C18F9FAC104D598B211F17EFCB8D869370DCA747CC217F9F56D97 +4F7AC69F71C63F014D07370671C52CE82AD5D52097146ABDFD0D3767E0498952 +A90CA9C0D31848088770BDD78F9014EA330558877B110CC04BB65B787F0CDF6B +37AE45307596D03D65885F27FF8D88E6A57C45938818D379912B8F4BC49D67DD +7EA54C5BDCF1D7D2FFF0B3C6AA2A9CBB3CAFF66DAA664D983C10D1EE9EE3B3DB +3AF21F6926B6C326C2CA654ACB66F2F66E3C35C703855410DED92D347BCB0D73 +26DCEF9B7994AA043947F9714B518561B17A9860DA936CC6122519C19AE210BF +2E941E093A534D94483A5F53209910F0482AC9426E20E6369C638E6CE3F3EC04 +26EE926FB26CE338CFE5F50CF47449DBD556634ABD8634376F9776D4F00FC863 +FD44DF6F4C524D5B57144D3BFA8E8118AA5FD4E041E9927EFB0EA40B41A4E09B +AE41BF05899642455F579F5A13E3CBF914A456E5294D558161DBD85E967323E0 +EDDBF48E8C5FB99890D4C303CD235330FF76850CCC432D15F5D60F21F05B10F2 +F7632484DEECFE48F0636EF973B1EC6E07B6A326B4A665E0EE1FB1F67737CFED +BABB10554E97F464ED2D5C234119A30D3FF06DFA30612CB73F0C4EC8E64AA8E7 +42B24C1FD21624B745E2C9D0025EAB79CBFB3479212D46A30172EBDB97126416 +2BCC2D0CB07FF1CD17B89D5F13B4126192FE55C17CBB5EC25375DB0014FC7F17 +58F27114144F84B69E90910A9D3DE174AD6F820DAEC6F89641DE4036FB538C2C +C48BA59A8AFFFC0462AC496641266DE64CD9FFE20059D241C6709E4877F9DEB8 +9A85D9889A9D144AE9630C4F792BE0B78EE7E3D074F0471625BCB886B6CE9AA6 +E35A9C0538DABADC4A1E7B197E9F5FB94CD61B375452E6FE5D58889A4104BC29 +A6FC6146EDC9CC8F984BC14FFAF5573603F4AD0F9F273E5FB02E71D0BCA0F784 +59504C6506E2CE262F0C1EC7B30633CCEA8D6EDDF51B86D81A6703A42E5C2AF8 +F5A1C1D1700586B988AF24B2E354A1ACB829E667D379F7E2744A1C2F026ED939 +FBB41B2CB3007C4769609544AF8FB56097E70A8CBCA234F4436E8B1DB8F904FA +383238F60ABC75188F4A9E8972CF884478FBFBB15A74D46D13091AC2D6BA7DA1 +23FDCEA370B917A517F513D3CEC60FC7D60D3D7AD19102ECED38F4E61DBE1A19 +DD16A612203F6FDB3A39C9D883C9855547E5D87938B75EF4313998666C5C41DF +117593A955DDE14275207C0523AB24AC4352EBB849CBBC274A069F9066FD5AF4 +1A8DB91E64D9CA6C89DA157F70CB81E2846DD9FB0555F743E19436021ADD0907 +10A388E840184984B09A667CE543542511014F171AC9699D24F0C793E55F2B42 +3B99B07C8DDB7BB4923000D4417194A903EF07C89BB0BC85A60710CFE5D69920 +05B6B0928960579F6436CEA73087AEC95E407DC63640E04FEC25758EA606E623 +310B2657FFEBAC121551249FFBB7B45B32831F4F98A68C205758D9EA0B9A6B03 +F69D3953D45C9F5B7E947CAF49A78C11D254F5D9EAA48B5CC8E9F77FEB379540 +D5DEBAD04404D3BF5724E909FF5EEB4E8853C596261D66D2CC391CF29085E8F4 +9B16BC5F5BCB5696BB13E70FE6F0693030873CFFD1B8E505388AC360E906D693 +BC8E4918A8ECE0D9C7F3927FDD952C8C3B85A6335D18CF31735C506FDE1CB46A +9419F2B5287C0FE36D559E4FAA921E40E79EC899411195B98B1D466E01C8BAB4 +72B6D9C934968C092EFF8DCEE1044880D04A84C37DCC624DD7049EB692453BE7 +8286BF86E4CCD2EB039A7E2D910471F5012181998509EAD21EAC249A5426308D +E15F970CD6FEFCF89FFC8711C8C079A3EB39A63B93F359409B99E8FF313CA3B1 +10F6A6906487360DA83DAEA5289BC489E529CE2AFD7293BC86B961BE463A0052 +B4479B93D6997A5F8CE5847F72BC5FE8355349CF77786554EA20159331261D1F +C998160FB9F141E44135C1FDAFA7C2D4A1285D9C1A7F70064D06DE41AE65F6CC +9416C722B233136F9989303481B529E3E19BA34A632DFAAF369496844CAFAB1A +979B52D40E5811F3E5B8FD5E0B08AD851A31DDF197906E07AEFEFCA1025C9154 +DDD78F90B1F0A22790A020865CCB496A756436E9896579EF314567EF7B00886E +D9D52A21096BA9C842CDC07F679C6B50EEF89B33736C5499FA0B3CB93018EDEB +B33463288C9487C03E0619B029F36AE18F8C86E31B58EF537DF4AC4BE8AF8906 +F8CC553E5D2E868E702AC05DA89463202ECC1FA9A2850487F71ACFF25BD67564 +A1ABACCA196C802EF44E6642DD04CF1BE5EF025FDAEE59C1C033E1FB1F743CA6 +58DECD77EB6DE0154777DC8C1356CE7693F592FB6276FA464BE0B269A23E831B +FC845C6946E607822CA2F168E0E8D95B6A538EA8A4D955D5E967CFBD74E2A7D3 +B809B6890F5147F71C3B6B728350825DB738646E21504AA9A4AD01746F0E8102 +58A7E9FD538C4EDF27ED5460D2C2CCA98E36BE8FC18A9BB961EF0035CECD6ABA +43C99074EC959498AB03604C1B4F6F8E1A427D4BAACDF1298F5DB434B7EC5112 +8087D8117E9FA4A597325E914CE46EE796CBDDBE2084179B5B552D1DB0833E7F +24F4EBF2D95DD9EDBCF1AF5FEB9E5403C6375BF1F8E8CF82A1EB8BC6A6C9E054 +B4984E7B7A8FAEC8F05953E70D2298B81516B213C039FEB875DC9852EF536E91 +DC86782E3170FCC21D86612029440DC1F6C50A8C72FA194A5CE794146F95E6BD +E9FA15474AC675E8EE1F8ACD9798AC331EDB36BE642BF599F6719EAC28B03739 +F4275673599B1BBDF3D2600F36C66B1AE92786F7DD7561E393098638C18B0145 +DEDEE6C475674491455DA96CC30555FC7DD7A589996A44B5A20D4BE80F3E6E2C +A991AB049ECC3FA8E42873D67EC2F5CBC7FA718160A9C4B9597A18028953E3FA +254567784DFC6E1B5ECC59B263BD746AD5E371AF1145D0269BD4C49E0989390A +1E4D0239A81A0A843465ED0C92E1D4325882BCECFE99AD8B4C62EC93439B43A6 +156E529B6D950E52F6A947505883E5A7C028F9D51EDEB314906F1DDB2DEE1D22 +4BB5AC76835D94E3FE7ED2143EE03A61F051AFA2C2C79BE670E36A718AA258D6 +99E6BFEF23CA685047D8BE005A877C0D132FADD456B5527E6A7D1D4D7715A45C +4BF4B8128C8F40D8711229E2CC5DB614A45F49A8CDF6C2A56D09A1B5D369656C +7241683FD5C85EAFFE33959A117F176808229CF22E90CEDE5E43538A977C9496 +897D22947BE9947CF6BAB060153BF2E8606A15CCADDF85734B3437CF9662EE86 +C30D0E9514495B868EE2AD658764EA8D08BF273929E38256552703453F05F3A6 +247D0DAE07B68F0B82A22191BBE5C1638CFA5B1303F04010A12E878AE5F96B54 +E744F89EC0FF58AA3DCE28144704BF96D1ED6BC4FE435F9F6E375D8E5CF69B10 +86B58AC76FEBEF8651DF1F366723083804C7F9A7525B256291CD4C9F5CB15D11 +5F632C7B8A056E9B89886884B048F3377DD8F3C7E469B37CE1EB1D14154E31C4 +4E1C11045BFC32D8619221907F3D6A69093E0AFE96810C64BC14ECCEF076FB11 +EC975A634F9DFA89132B185D5F5013065D676D7460B4407DC225FB04124570D5 +8133E729700AEF861D6B8ABE14EE86623DAB2D43FC68BA13596FE0F5B5FE22A1 +2BF31F96049A58EBFD0BBDB0B7618FF26C3F09B3A1DE0CAD84DEA4F3DD96CFB4 +E59BBAD1232A5FDEE8F1389C3B0C915B4735481E2847C88AA54D8B208F973B30 +B146815717539868065A88EA7F6DD4530F2DA88F01B509A9F421D77F7769717F +22A0503B72201C58393F17891EE01EB99774578B3277EB6F59802886F8DF4CA5 +445A9393967C7C97C4A7384FD0C9971F45C9FF6FC4FC1B46FDA0CE7F3CECDE6F +535E327A794D845450177862F4C0003E6F232D7E178A774184F2471881D19E1C +29E1A347A8DC6C6CA349BC0691AAAFF54581052B61DE5BEAECA7683B0D7543EE +4DA3DAA51DA4077D534FD52109BB74F4B1EB4E621B71589BDF2823545F8BC02D +49C4A665FBE764A5896819D60EE7829B00A4564D9A9C694DDFDDD7CA441FBAB5 +4197BC1438718E6DBFC54F21C08BAF8DB57AA514A5D51F401565810B06275F3E +90EF3EE62173F4B87BE3549FE65CCEA9E9818A96AF2AD2139AD52A9AD5759B2D +4B47FE5D968552872EDD78FD3ABF42F521ACD3E8F45B565FC0EDF3D86C74BDB6 +DE502A9F7AD811334546D2BF8D0E29997C508774069A906E35BA165B180EA381 +C3B8504485E3BA4FD9478B5C11F411771C1FEFAFD35068061FE700D038836EE0 +0B91904AD3454116CA130F171F2585467DCAE43C484D000601419CC245052DBE +899BA16EFBF338DF50B54CE2DC59D7658956D808095053D33254DAC7DC9F7D25 +1A75A117F2B545C25E8AD0D2D8C6A8AC5815C38C2A6DA8841506461767E3AEF4 +086441F542DF64BC8EA74A6FB7BBDF2C4118180F608A341A7CABA9D5F50984C2 +1E0F14BF8056F563FBA0C2583BE36A28528987ED9879FA9A41C0AD1FC4C4C8B8 +FD51449F12F981BF87145F6056325130B507C8F393567972FBB0B1A8C29D9CA9 +FCB788794DAF9F658ED605E525A96E000A3077768E0D7738E36ADE67059180E2 +190D80E2854107F555F753630F7F425EC9E4ABABDD69221A28B395D8BFB75E60 +D119F21D7FDD45D01D566943FC0B33F1EE273DD0469810D668D7703F00D27FC2 +93E83E5EE42BDC95A092ED646F386016D6C6BE66ACD20C960395395CDA0881B6 +219B997795791A4AA625749ADB136A36AB0DD050DE539213F78438F7C5A6B618 +6994BDDAE41A13D6BF89CE083A5F5647D0A324532CD5BB6630ED8F94CEFDBEEE +625BB0F81B9F5C177D0990A854899AFC53F7237F84C9DE95D1AAE779AF2ED660 +0DB29CCD34DD44E64E100DEDE1B49AC8BC5589DC35E911BFDED0C78BBF130100 +09F02939A2D98DE8834EF753D7CD71CD69DC7BE0D61FD304A1A493CB66FA2A5B +69B7B7F73CA69F8AB18291EF5441896ED3171AE3A909EFFCA77141202699AED5 +384FC607346F415D424678534C0AF65DBB169134FA8DADD216423E7970BB37BC +ED1E8A84AD88A8360779E82D89B65AA64D0A0F1FF41447CFEDDFEB26A567E7EE +E07A57FAA48B43B1A1D005D572BD8D030BD082ECFAC41C5F49244C62877F3F21 +0B19659456B35804A1881306BAA47AB0E2F6BEFACDB7132C20B21CFFF120534A +744D945826FCD934E373B8CD0C08DACE9FBEC2C3C42D9C5B255193924BE58E0D +110161A01AE3F83E01AD0D376AE21F017D2EE0BA64FC992C52B688E51E221F58 +30772934433991AFE953A35B3372C6798B080E0535AC318AC135011F3FBE38C8 +3FF456B5C436F0F3A9442AC60D7087ECAE45A1AD9F508FE4025EBFC65565CAA2 +6D1FDF8E98FBB118870E5878271A672257530213A33A4B1A699088A7A05B4DB7 +2C28FFED5E34F70561F1AD2EC1141CA11E072FF92CEF1B7E9D6878F0B9B0F592 +67D684905E7FB3D96D090EAC309392772F9D266A48FE505C189C065B903B04AA +6C1EAF719D34D5A75421D6FB58262C1B99FB762E7817AAF4DDC008B69549C9BF +05004296DFF77444F752EA9759D337AF2F515DB4974AAF6BFCC691E2731167C1 +115A36241AC40D05825F52CAEB87491AFC8711688EF18EBCBD7520AA7681539D +FD46DE60781A5C6BE598A448C9272EA02E66EB19BD78B51EF450FA56C7809C81 +B143BD48BB3E4FB2DE01E9FB8C55DA1511DE781EA575EAFF8956F6ED590A03EE +FCB7C512232E092EB2DA471FDEA15160929827205FD7F4C3D542909C135200D2 +49CA0472980E67CA3115B12CF9B7F14FD34F7AEFBC280009803A2C3DDE88426C +E527E58F14EDB790CC44408FD4F82E3D9BFF74AAACC793769EAD514D57E94683 +E13F89FAE4EC3D3E9D9180496B8D1B44A3EC5EFFCA93EF1BFF1C0B7B167274DB +8008401C6C03A9DBD97DC4971A485AF75353E235599EDB18F3833F3FE34DF9C8 +DB799A761BF5044BADF0E94BDBA3E59690FC2FF7221777132B43189CB05CA3B0 +D56D77174A05381A0990E5CB67E01179F69EF46BD83C1D85E0635BF92AC4DEF7 +26AACE31EBBAF3E51ED613BAA0A3A91F0CE66E21D485433611E34E49AC889851 +CA0782E7835280F3644FF0FA6B6901A2A1F9E59107C890E3C467EF492E6C3010 +4F2BBB24CD54FA276ECD6EDD94CB9A53B64E6B73916B753F058B4783805777A0 +068B3D4FA78D1B165EA82DC41766A5147A5CEDB908634FB4845080BB481260B5 +01406238ECDB963E3E020F3178005D1339D57AE2E8E54549F31D5077D2465229 +4188FACFF4489118973C66955EF3300CBFE1538F6C80F41B1E6A41155CFC75A6 +643EEEA48952F014500C011D87AA5F03185F8EFDC17112CE224DFC4765BC7937 +5A95E4D3D17A3B106E737FBEA70F6073CE5D5F693F98D6432D12EA66BAE4085C +23730EEAF97BEB994EF5BBC6F11E9AC04682962F23EDA497409CDCDA675601A4 +80577C0B4FC0B06035CCC845D958D548A98362133AF87B47D96FE2982BECAD1F +233A909C9E8EC70FAE48FDE6DDD3B3023C908794666459C854F81F5DE90C8DCE +0ADFAE54FC8B20BEF719205A2F0D2698CFD452FB3915AB87E8E08F8CDDE58052 +870778C74E8933083F0AFE94450C55D811309E1EA8BA06F6300D6B14146FD026 +DCCDB232CC98EA5E642967145DB2ECBE7796F312E5AA29F00CEB40DC2ACFB6FC +35486A7ACDE38C130AC470C8F9697EFCC44A472B7E804EC49CCEF57A08E04B46 +1050340D392D39AD11EBF80D988B018FD2BED11E6510463AE4FFB43ED490A0EE +6A8B2BEC239CD9931C92317C1B73D92B41C75803A1A5C6007A3338EBE018F3F8 +539D22DB7C0C83DE5BFCAF3A50A935A278F716A934DB5708AD9FC5DE1EF07E4D +9EF957D4A70D9F46F892C82A03469613B5C82466ADF5E6E6C056991BD78E84E8 +E01E3FAE6EAAC2E3CC1F7644DA36BF7F2DB559C222FBF9C92BE66BCC6A08C20D +2097C3A5C4830CF8E303C1A382C9FFAA1E5789C1E31CEE59A30E3ADD71B099D5 +2B2229DD4B026146AA109B89A6A46693C9090D2F09A1683843F1A6D6B549B15D +B852337A5581E17525909FD73ADD39F9ED7CA7E9243E8B4F06D9E6E25048970F +B4C4A204DF24107388A79F90C924CE056695B5CC3D8CEF3EFDE12ACE7EA053E3 +423D059948E6888D2C7C35D6A2800AB3731E410759AA12C57001EA90FE54F7BF +11ACC76F54C2766FE992EE9D8C8D841B04192C7199963A399932E9A17F180333 +3B82D5774BE2C44E02384CF72BB46D3332CB2B0A6DD53F16CE6BD0EE307CD9D4 +98C18ADFCEE1CB61F11A8CE54A6599127E0EC8CABCDD9D716CD39D041B26E75A +6A719F5B359AF1D9D04957EEE167D205366C23B4AC8AA3B0C3BE3BA8BC268764 +083970D8BE1EC87C16552D393B5EF0048C847A209787E664A8F8A0B79E426DD9 +438181002A809D24F5BD75AE7703CD0B9947A9D8E7D7CD3220D1D6F2C23593DD +F488A5E6733937D89A422B251DF53141D257836B3D18E1EBBB1FDC20B6ADBA8E +AE75E14E440972D75E5383EE4CADC4784D238F1B9C8FC70F0095288A7D0249AB +51ADB70EAE9473C8DBB28A14DC21AF11E550B11143D3A13FF3105874C2F70536 +1186C78C4FBC1D5240CCE9BF0D5B58F6B9B7C8217EFEE99E4DBA361415DDA474 +12DD26AB504BA73342DAFBD51D8CA0F4ADF1318870DE3B5580E7879052641B07 +63A84420DB1AA50057D036522A25396FF77755E4C43809CCC7EB0DA00C4E046A +17D484FE8C0268C78EF921874B6B12DB4C10DA09A51631C057A1BB0ABC66661D +3CE68FFE3F7ADD087B0CEBE6F50921E01F8E518965BABFA2E053B26536101AE1 +8117C2C915CCE98D4ADF69D3CE75E33BCE3DB8E2A3E99970525F29DC2E571607 +42709179F7F9AEE88E271C473799196DB128E58169D4F2DDDDA62DF9C7132C20 +D23DACC9CFD52F1DFB42150F704C89633DA73C525E8BADBE293EDF06C99F71D9 +9E8F4ABCEAF9C86C4F0A720A5F336C261F95681DFEB3E00927DF594B173A3828 +B3C0CEDA50098508259B06B78854F9F0B11BBC2EB8D6C5BA1E98B59CCC214E40 +3C77E950E68D4F6D35A3D458CAE9CF014BC06A5326E6E5622DD474CEB9B98A3A +87502F9BDB236908F4D141FF3BADAFA174F2832533C1A3511BE20141510E95A3 +0C6B51C1ACAF5332304657BD7AD4203FDF7EDE74FBC1709096AA17358663C720 +EE6F8E31B8847468F7E00DC0F5DB1BE78B33D142AC04B1FBD146E4293F51AD86 +F4A99B98FC6DB320BB045EAB67945FCD44778633E243486DBE9409723B343DDF +A5F48FC63895F26E8C20201A1A4283F85F16396DC4C1C6934648A3348FEFBF9A +B085D5D488047C8BA3EF197EA886B17B216A91BC206DC062BAD3B74E8D29C162 +659ABE5DAF620124BF2DBC5D94A1C276F74EE3661AF8BE2D1306B822C1078E27 +C4EC6C6EB4266700076BEC96197DF82B8130B6F5B11118AC029909D6C2D56770 +356461FAFDE1AA430AA88766DBB904BEE38C540815E81B52376D1F3EC0A832B4 +D3EA6BA57838C417C7F63F2A67D731E4AAD18370280CDDFDAE15973658C2CABC +6ADD424C534487F3E3E72E3B11288383D2C81FD4D439F847DE261C5C70DF672B +A0EC95E3AA0C587F0DC41908C6B47753F3E4D3F04F60F8007A5D5A9CE7959232 +72BA8701AAC9DDD25E80AF4988D37D01FB4F31DA62F2F1FA24EE0FC4C0CFDA8F +94B411B2781001723F5CABB0250EBFAD45A449313A4C31A8244EAAB40C3D5B04 +D2479210970C64D536441379D91091B9889AC2AA72BD6F73A5B7D567C77BA165 +6249ADFB90F4F6A2FBDE0B926EF7445F2592D1EAFA5552CDF84485FBBEFF6F64 +C4B189DB81D688EEEBA5A632B54E2C1FD994D964A60FD3A21D03D346BEA7E1A4 +1588A0BFC1B35D4FCE7BBD1E3934DBF34BB2D0FA79159232F0A1EAB513AC3BB8 +63A3D0977B52B5F01601ECD8329DB3FB6D79ADA0DABDF9B4C2ED29C1A06F7528 +3FE571E2065B88E572BBBA21C6F832711616119CB7DCE637BE1E7FDD8B90B4D2 +277EF332ECA38D8B25F5CF4ACC375CDBC4F53F05AC0EB27E5AA8F7F71CF9AB25 +4B2B3079B906E7937A7E14E3BDEE864EDDD53096EE5779577B69099B0B01F06D +034E66E016635A5C99759AE6E7B937985DEAF7865AE6795C0FB28B4EC9884331 +FF15342E23BBBC0AFE486D32463E2F26C620B58B47CE31AC3030CDE90C2B5630 +1D326C60AE2EFD7C4A6157BECAE9178FF7EB574C61F10202697C369A0A0DEC14 +60BB84FBC657D5781B212D34E0412AC5D2EADA99E64D14B6EF42E8D7239A807F +F107B6066F613ACC5C888929F816A9E97CA2A4D515024498C9143E1770BE1CD8 +BF2521A889182199DEAF182B09C69DB4628A7703B7D028971B523262B16E5E7D +3332ED7046C00CF62BC3BF8737EAD4476B894A9CBB71E2097AFFC4EBFEFE811F +1D19D38369C9744BFF710C9272EBB5019F69598A70DC6868011404598F6281B2 +FF19D2FDF43F2ECA5BEE78F355C521174B8D51E1965954F508D070EC7AE8D521 +8247C92D929A77AA111C80279129BCA859565E72A87643FD2153148CC2715C3D +A63C4F8B14BD30E4B107C7D7BC573C7BFC0FE33778C345D9CF19490D3B33A71A +784EA11079B0D8EB9C0349851AEDCA21090826FF62B0423A504E677955312352 +E2B5222FCBE2C2B83108395383CAE5F2B76195FF394B43AB945EF3A78C44F822 +F4278762DE7DEE5FB78EF41BE4B74F71CB69356AAD2E58EEB0FECBEF7391E159 +7AB6BFB661EA55E90C5DC475099B334E42CDC21A1288518D6B5AFA6BD2FF45F1 +5E63682265A6830BF56ACE88A88FAE51072F63EFB9C6FE6C7287BC08C5DF26C5 +7C6741586B1A47AEF777687F3F0A3881CBC0D1022F6DA8F78C9ABACFF4BB3EF9 +F50566F05A53F6A5C803DF7642DF0042E2CC7A5CBC6CB7F04305A72370414465 +962E8DB3342BED75D8028B6B4B3C52EEB13409A4EF954461DC08FEA8D3BCCE2D +977CD75131296C2403CF5F291A1051F3C1FF24EE76ACEA95558409BD41E0FF4E +B3ED8AC4C931FECD6BEF96FB97252A05CB1C2DDC88450BD9087FF75446F6F657 +69AE9356400844CB096BFCFFF837678387CE847367907F5E774B80B688C64089 +C28A907B41B09A60F7149321D3D938931417D516BC54BDB39E3086F2B0673B3C +4B941BF15F9376C3CB975A2042E9AC4E27B053AF8920EF57F061DEE8170229A6 +23D61B5F17C6EB8CF2A490A64BA86D03054A1DEF1FA5CA76D90050A5247BC9EE +5F14B07488DC15D48BB9EB9D90C7B8D321F83D5335470DBAF177B489D7EFFB7C +EA20571A24119039BF2CAECA49F68A716EDF5923C164376FD8CA301A5A9422A3 +C771232DA63AD63775D553C9495C4DDC2DD8BD7EFF7D4FB6B92D98C1DA674B78 +455024BC34FAEA8C505C63B0C10EB3DBA75BB92281407D03364CE5F9A91A5B06 +AC7DB8EF56C0CB4663B9070A68E83FD8D129929A9D10702AAA8AB80B2F634A26 +E1B86F368E66351501AFAADD4B1A2FEA27CF7CDC4E5B1DFC32CE442ABA4FDBB5 +C5573FD3110BB9A5EFED46F7F70FE69F678631C6F1C550536C509F348CCB97C5 +5015F7CDCB0EA5D81B1D2DE107157049BEB358A23955BD89C548A98BF715421B +3A4DD65CF0C1DA70DA1A4F2D09FB968B4812A06932DACA08911BB90DA59772F6 +3D63AD4B8CE92BF519EF4A2FFD23DAE6184658ADB675729F3C28DE58AB54AE01 +C4EE0A2E6E94B391C477DBFF537A594774491B2D664D1961453B60C6B6628978 +746F0CBB77B65181103C80402BD020C816447F1E929BE760A618A6A9CFCC24DB +67B46A73E517198F7606D3C1ADEC5134F9ABDCC9F57A87B2457F12843AD5945A +EC86DC5F4FB8B5B4D28D19724A9973376641EC7207E66C5C2AC9F78080F98EDB +825F933BB1C1489262322B737EBD907CE37ECC12722F23CB2F0EDE99698DC0CF +8CC55F2C33EA39748DC5103DC118AFDD0002147C4AA92184BA8CF254BB2F631B +72D177735CA3561A61F7D35FCFA0DBF185A403F856B34664EDBF5BBD56913004 +5B3F7ADBF4E6B2ECC3CD9FF12D4541E1B2A488350DAD5EF0535EC1618DD1499F +5CCB1A893955552EDD828037A7172D870A4FCAC630D40F99365ECBD6F6524DE0 +B78D41DB2747812EB14225AB176A739F9EDF03E34DC7AE27A9AB3AA1983FC48D +CF0918CF27AB5A54449D43303E7C3D884BBDEB1BDAD01C0EB76A5B3A06B17C9B +FD21508A525074867CE0AD65A531D90868D71AEBBE23D815DE3DDF020383C163 +CEBD8C75216598DF66932EDD5BEFC905A7E94C02B9FD962D63275468DB085CBE +D6D34C2E92CE4FC5B98FAE4DFF5E0A27F3AB85E445AEA21A052173416A0967B7 +19150D7122D5FD68FD0A34D3F6B63B5FAE7F14ED19274C64B5B8038A14D45C90 +5D178414F4BA780F73B0E1CC7C4B34A8402F89D39F9422B177B2C7F04FF8C581 +01901E687377A415E75F982D8921ACE41184F419FE203831FF42AF1D19104162 +E78F5616CBAFE742C62B7960F43E8ADBA5FA79CE79A3EFA71462E23E83BB8E3E +8BF54670C910C99872CF10A5BC090FCF61169AC855F87F258D2978B1847276BA +0EF07DFC3DDF9D0F35B9491B60DF0CC83DAFA1607CC04D037FD5FA7400CE385D +136184A67B0BA98F5C94D4BD4B13BFE083AA5DED72A57E3B7858FCA1FB820996 +4F35FE22C296308A797B9F3F60FBCF1ADBBD87694562F6639136D9E9088862D8 +7006CFFAE5395B1819E19546CA31161C93936AFE3EA74481A0D6D5190C7F860F +0179E9BF8E57E7B2B12EFBB9FD34723C0D6A529D5006EBC0D87584F503977D51 +2A04BE8FD2727986D80DFCEDD0C96A6B4C2DF3015062A3D64C6A87F18CA0FC57 +FF4E20A55FA575BDCB5F6AB7FF8DF08D10D608ED21E4074602AE986306879C38 +5EB6E828954C22DCF0F3BC7398BEA27B617E4B58D74BF3AAF5431FB6102E4928 +5D0D65D3752C3AAA39D0532509DA45F41818CFE8686A6E4506F6EE0DE0DF3651 +71A560D6C516E0FBB705095F505191EEA81367B30F3ACB2F05FD98FE775974F7 +C863796B3DFDD5CCD350061E2CED4DFCEBD6B176DB1BC0C7F41B8EB349BEC7C5 +CDC9FDA8DBC4A1E4B045C6372FE2AD4E1FB7810FA0E3CBECF7298B0894BEB3C5 +3F6E027F8B00DBD672FBF2B6B3A75D071DC9F048D19506B2146A447FB6C527A4 +29300F5DE99240C208A8252E6EC80B84AD34E222EC87F077477B946B66E98929 +003E9C575862E46FBBA79128DB734807622B378FE81E109ED631D12FBE106D1C +A4BD421D1E41E724A9361F8A6B0B1697CEA593C7152CF73E98FA441BCC59C9C4 +ABE2ED805CDCDDBA397E4F3B5E53DC8F9530F8DCE67B7B808302AC836CD9F455 +C87A0AF595527B6BFB64C884D8D97EABE5DF12C1CE713C40AEFAC6A921B18CB1 +E8F7843677BE24690C1CCF0E4F7FDFEB961ECDBEF49E5C09CDA935A6A26EC04D +132C9398C5678254B93C799BD77A8D01F8D15BD8293560E7713CCCCC4865CDEE +4EEF56405D4B10D5AAA8C4BA725255122DC9AAAEAB613E117EC6E0D313FD172E +AA637D9044BCA2623B93B44BFF523E65BCE5D0A1EA03E4E88DB4E54D3BCC0288 +E09D922493243DCD4F2CCFBC339B0102A6472CC1E4F364BA0E0C9DB0E3CBE4B8 +7244D5D24115F205A2F8D358B702BBDF19DE72425A9FBA33210DAC1CEED3F0B3 +B65FC9EAA77546FB54E8D2B7D2E84CAF9F6C712AA49D2561276A499DE60D1B1F +495381A998794F5DE29FDFA891608EFB40728A5446EAEB05D5D901D642627B88 +14DB1F83B1C76EA6DAD4C2F18EA1E99AC2B332BFC91670DFBD79AA0942333CE0 +C5FF8AF9D039B54950EEF456CAD26658577E9F960D5B89D3FF2F399FE3664254 +5F60FB4CBCD288282C45FB10D51718D37A7A3C5E8578E0C13921752D1AD5D0BF +B0FA1EC300FF3CD3268A4DA0B6B649761E7222AE5C86195B23DA3F2D4BCBF16D +6D4D6F477CF71BE63555B6D74283AF71561F80800A087B7D3FC7D33A3B2AE30A +DB959CBEFFF4D355DFC6980CB9AE31F3A8426BBE56DD06E46301295EB35AB2D1 +69B2C0D306D243A63A48AAD5C7F2CCB867A41014A86105C657594AF1BC78B8F3 +D06D281A30F3E309055B895E67A92162C2A60B609314A6D3BADDB38B3D0D3E77 +BB82271AB135B21B42672B580AD5C62A370AD2C65915865F04E27BF32E9274B7 +4B1A6D49B9E5ECF925642BF90D143B1983BC3DD7A03143BEE116947D42AC1E85 +6D0F64C619F8AE71AF1DADD3ED62F7F4C9FEFF6A0B8776C9BBAA6401B1D1C039 +CB8FA13C473DCF927C674750DF2929579363E1D24ACB0FB68E565353E254A4AA +9766A8EC4D4E3BC83522C379E7C5DAD786FCC897E66A803E1EC7EC27E82B0C03 +AB2849AFD4A6300B81FF5CE6AF61E99239EDF4CDB28E3226478DD26B9B272C42 +A8FEA2D99BB39FFBEDFEC282E7C39373709A372DEBFE02484E23FE24E5FA73F4 +164296A02D4BF704B5F2295607F70E15935A46421E311D2B86E2A317D74DD120 +11D008F582CF99FDDA7F36D9560C412C205A4C7B2ADEC8D97E0DC1D1DBF78C24 +FB36C6BB48AA08FE447D0EC022C02FFBD3A1CB66D33C3524FC023417F76F9220 +A49FFCC8E7E792A2E327A8B04E608D4E37A90E704D07BE9CC60DC27B1485E24C +64B96EC68E055CE1B0CDE44B29F4E462C87B8840B4EB153E48308C0CCEECC9F0 +666B146B1732110FCF1F755F51BFE493153F1580B3FD724B25B6D87FA2C9E585 +8981D606340AEFF760C781234DCED326EFC6DAF8E64CC3866FB6B39A6E28EE31 +379B9E7BBC0C609917FD7E6B3FDD55765AF1FAB27A6645E1DDC746589AA52BA0 +6F9F6B09E1A9B8DC81514AF9FB6E6529BF646C1AB7DD4A229B478269E0F7D614 +4CCADB1D3790C58BA7D8D64AEC5441DBE242F1699DA03E92312C9E5CDBC34504 +98F4A74737DF0A7AE52CCBC1CDA2BE270CF0EB378664943E09E28B12DB2127FC +7321EA224CBD26BAC77D3270B4D0314EF5E6B0EABEE59C632584AEA213021379 +AC6E55AB905E6B0C081F2492321032233910D6A6E6224CF58410EA502EA46158 +0EA073B930B1BCD7655DF749FA9465FF5E574026248B558E71FD331DF39D536D +AC4D836C0066E34618902A04E9F4266EDF1196FC32176C3ED3699E69A41F2F06 +C146F56A16A9210EF9A6C8549A7BA3068F9BF220079F74AC88D3F70298397F45 +D7AE90A58FE6F5E1A8E3C3F92C33F6D3C2CD9C6EC5C6D74EF9405703D970400D +354EB22493C05A901056883B8EDC67B88940289678CA0F031064FDC0F6C358D5 +46A0F3639DC7E2ADBC4629320606BE81D818258DB6D68C05CDB52F8B848C9C05 +DEAE594AB643DE12527832B287434BC9B58A4131F16AD5E23087F822C9848889 +AA06BE4AFA2B695149041B571A5909F62C64FFE7719D6E44CAFA2A3DA4AD5150 +C33A4F48582269DB38AD22C189D74CE1725CA3F8AEE1390F5C462D58E8D4EBAE +0722FDC4C2530144934070F09F681C36AC4546B878301B14225BB8F3F7C5F73C +E5E229CDDF77D20F3F638EE48C7C96539157799935B031255613A7E5781BD8AF +4E75915ECD1A6EE3C9DB50D19DD74DE1D6F14C5BB807A9550D3697B717E111D3 +E6DA9535AC3A0B53BB630ED654FC4A9311590F0CCBC95E1E2D76C80E72DD1563 +4917F4CAD8D40AE1B93C6C91B7048EB33A75F74C1CB56010A9D1C7482C3EC5CD +A8D015BC86E0C7E33D674995BE5DC3AB2C40AAE0D7058219693DA1099980311F +0DCE9BAE1E8644174AB106A050684CBC40D4E34CF27CCBF2B61A11F026EE44C9 +946FF40676CD944482FAEA9A34F33852FE6E5FB9C6FFE0929381C37974302868 +695AEBFBC17A3263A8C94D33708F18AD5164694EB19FAC8CF4E718FF14E7D773 +0A517A6AA8279FEA1B8090BD700A25726D2D49FDC4F1F50BF12107173BF0EB1B +CD006D1AF04389DC7DE611BD2530441E79F83049A84A77FEA37CE0085C11E5B6 +2C3A065B725D1CC0057AEA52152FD1D285F4ECB4E2B41CB967B5B9262714E0EE +0D02E2DCC01B25E891BC59016F9AC64E0C8718A308B8C8622E5B998771E2E8FC +91793F302C570FA4B3F888675FDA237EB909067A050C57FF897F50214B73B5A0 +6236FC36381523B33F51385A0EC72BEE8D882EEFC8A3D8F6BEA2CED744F9B904 +5FADC79033F115210CB50931457A25C74A4AB5CD97A26FDB4919FFC7069DA314 +6D723E4C9BABC7F8E066D4198957F4309A57E1E79C7FE25D07AC6E8D0C19FD0A +368B53C672FBE772F5540810234179964B5E07146063978AA558B18327A3DF3F +DF56B922156F2B7D035D2FF59A890DD8F353A3232649AF08F3966F6325F1CFD3 +FB2C29A4C18CA9B2C8740B1FD8F7C7F69920EB921AF02204614F5C7049D9E2E0 +91B35A72FCBFF20667C5268E4521C90E15CA4B6C3313CCCFC33B5BE14F577969 +96166F2776A548B86370791E46270549918491800C2844ABDB4FEF7EB42F57CE +C553945DA830BF8863A23F7F6AF6ACAD328F07F8E2ACEBA0CEA8494AF0536D73 +2E70B5576BD854FC2718F655B8DF81BB8F173D52BF01C07257E1E937D1B1C9EF +DA21CEC6E346F0F4E2E9BF039DDFB1888C1D33E8CA4261C76E4BDA05D02060B0 +6DCE5950AC6E0D93C6AA69AE50B32DBDBA63A1FD3A3E8E5368AA368696125B73 +4E36C7180AD08781A29C706EB2D91D10E0872911D3DD794742500E28EA38BD31 +AA72B4E1FC0CD49008F9C3C9281D63FF4E095218FA2FBA04CB6CA2F737D2E097 +52E60AEF6E65378020D5B9360045B7781E6D062A6B222530C77C983970025C1D +87672EB8E1BD139DF7B36D293198EBDBCF1468C1A2AA38774D37C902FF284D88 +DC9EA50B66684D258F1B279786A8D6F29F99C0854D1FE8A44946C1E60F58D3DD +C4BE36D0D0B0DAD7AA523AEB3C3B56B6FF4E139D3074172CCBED5B30EA8BC7AB +9033263AC9D95DA824DC32E3266B6D4C1CCE53C03DF08C3E0238DFE234196A4D +ED382D07C9BEDF20FBFFC8F297E3BA7CE39ED1378D9376CAAB867D94CD934F40 +D353D1405F1992330FB7B2A401A19F346072FB4BD4FD5B362236B2E65A65D921 +E2D5A78E552183ADD5C4C6083CAA346A1A711055708E865A64178F5D3353BB55 +C0CCDC39742BF5E0C3C3A435D0E7893CB010B6A2A37CD511DDA6C0BBE340ABDC +EFD43411DBFA77158566C216B57BD279250F3478E63E7B75D0980CE1B8920DF7 +D50893EFB471A137A18C846AE10B050ACDC88002C6B44A07B82B01B15FB95BF1 +B2508D2187FF6A2BA482F683F2B10C263AD0A947A7E7873F3474852FD5F74460 +D83D090D50995BEC5A17671EED730E86C3D3BD45463EA5C8D8239DF3430B254A +F50D7D9B27411A8F778A9D9A606EE8C7A22D205624C133BF2C88384DD5C087AE +02B440D51AB6FC6C69F2847981C59B90B4A31AD042F4F261ABBE903FE56AE648 +13083F60F1FEE4E285EC459259D145F0C61B4A69C3A7052CE98BE6B8CAA4DC2D +21D91F764E319159194DE36BA2A432FCAED1D4C69C8B9E0839C9498CE48E0705 +143C4D9595BE073DB76DD3DBD289C2BB11D892089664B110E19C0A69BB733B67 +874F1D531E5DF8922909DCF7B25A68E081F43C230DADD6AAD307E2A7BBF41AA5 +2C8F562484F25BDD15F57872AF1471E03875257F2C96168687C243E94CD04885 +392B1794C32495F190A16F8AE54BB317235001216DD4A56AB1FA8425DAA52CF6 +312111BC00F61F5E2DFCE9E633F80417D78535522BC261B2BBA2C5D702D2DD40 +5AE7C77B54726714346DBAA69E496C425818004AFC6C02DDCB78522503FAD264 +5956B73BA3A596A68C46283FB0B9E68A009BD249AD1FAA60A7F6100CF2C7CDB8 +3148C6AD9A7ADD3D422EEAE5AB58B9AF9D93DF93EC9D9D655F005960EAC3CC41 +00152C6F688EF96F99AE15B63E6027550F937CA4937823D2220A2C2C5BB163AA +603E64FC930288EE72E739534504013A35C55F8810CBB539632FAD0ED911CB79 +DAD9520C4746CD77EDA006884303DC698B2FE2867158BF4221A72D8EBFD38FE8 +F9DFAB8D4E5B4BE59988144CF046931DD801298CBD133882858929A23F44A565 +430C538D3DD264AB6FC72475697F1F8E55BB158D2C4F360EA691B4E384E5B00B +ADE435A5949E94443D2C0FC4F00ABB7A17881B2765793535CB68E6BFD076DEAC +C64B9B1A0A00147D8D1D6EE1E8ACC018F8125A89BB2738EF5C23715D9E39CB95 +4E155EC7DBEE15D26F668B3726B8BFA9E1036D48A0E69135CCC2B5508D06BF2E +64E4E0C8DB36CD12D18666A36AE3A0FC23635E1F49D078EEC0B03D24DFD156DD +51B7BC162FFB8C0D9F7CF6E0E02BDA646D09803C108050779DD99663DF316698 +92AF11190219ECB99362EA866348799319E8A0CCBD0312AE77E944983A3B6F3B +A784C3464BE261FC508F8EF07AFA1C57399674C74813804A6471EDAEFEF71D5E +5299B53D2A95CA50429EC69F294FB7CA43663675B89BF705E0C7772BF50AA475 +59F62D0BC7554544AD320592881FE4B266F69D2559915CF913731305F857F6FA +6708A219A19A1C301AF530AF94A23DB0FAD978206FE6D353C5D1A6C756F17E18 +004210890741D2AF39D70CEA2A2A17E99640920A0CBC783169C472584D3C9F58 +249E0F0B72F8AF696DC287E53853713F64A4387BF618A2883D618871683CB889 +D32C68934ACB9B9E351255D358842308F81D742F92A1A27767C5640A0C2387CC +92A8BD19CC0C209087831615DCF692D37E98C17B943877B93A95CBDEFB801A4F +A76ABEA8C7F451DDE298F0CC432AEF5B181D03759CC8654E6AAD5090E3CF559E +4B6401C74F5B5956BE57C798738806CCD3184D7E63B17025B10F9D3053DF52F5 +6C6B75AF64D6DE276AE28F0A576C07D752B1756AEF521598042268BF8E7E5432 +291E7F8E106FF4AB67F814E53133D3F55B08B12AB9B33004D8D8950540B44366 +4856271D1525C01A2817C5A05827519A85FB0A618D5B0E09F87515BAB883AE01 +B7E35C99AB11E1BC644A19BEE8F052EB4EB42183652FD162D2656310C77ECE37 +1C5D1F087D156EA391333934117A9C419E53518FDADB7E6A33F332766A0622DC +AD38E43C15CC372CF4F451DCBA3DD41457362F6617F8C534C3ABA76B249B51A3 +740B0752139685E5E900A1D3F918D0CBDA66975ED5F50368ED405435E4641EA6 +D772BE2343148F46D35BBA3F95CBEA76A682838F5638294D1D451161B6C8FAF9 +757C178FF44492BE105E4B48DBE6C4E40CC8B5B7DD3200C95043701793DD5E74 +FFB0F83261DF194042519527418F67A6564D16B38C172A4B8C75765D249F6101 +17329524F12EE527842C9EF304870CB13E92E8052BD6A8D0DA0A21A2F98B6F49 +99970755B5C573DFF5D5F0BA6E9E758F3C16EA75B9FA7E4116D7F35544D5CD8B +85D49CA613ACD5470E970A452637A25BB2BB045D49083AAA9FC4C2F20F16B661 +92402E391D1A3DF065AC42DF7227B7A8D718A83407643A97A5C2DB7F999F4B03 +A57AFE9EE20587A05E60E84DA90BA77F1168AFEB98E8FABE149AEB8C6BD20D8E +B07E8F6ADB940A582D6EFBA86245820B7141DBEE38384313EE32EA02B405E583 +EC751FBCE661FA63E959ABA7279AF9E7232FE5BAD3A6BD57355AEBA4A2E3E74D +8623DA1CAD97F371364B6967DE3E16EF21B6FD7AD9005F2A7A6C1D646305CD79 +315B0F97D97F75DA9FFF7BCD11DA33ADA9ABCD7770A10B59DC4A611E15365054 +2252C781CEC6B8CFFA9E09143DFB30FE6F5E306B89E0663C98F4C1B685992EE9 +B2F4CB425ADA08165986750E0E2DA8D26E64900C50016B1C0A98256C7E5E0105 +473C484A5C4119060E4EA388AD2C929CE5EFE2FC73BD01EE0E1416A37549244A +D047D88C5E3AB7B94B098F483775A18FCBCE1F8991522E0A422D34300998AD8D +527253CF43EB5501D65A2464E7F0F3339593166C14A867AF2483DD127B32A9F1 +FE3902367B8534956BF7FDC6FDA9A95870DD68A5A6C9E0610EB88E61A9F4A376 +BA213F1ED1D8B6BEEA1E4B14F3505A7AD8D9CE59CFBB3FE1A2406F70A15EAB5C +6A14E323242C20E5B8B69179FA2A820C5FE5338F521F07A1E07C1B0212CDEFCD +7D766D9509FA912292E65105462EDC34AD3219B031B0CE1601E019AC2206675C +DBA6E423EEFDC4831893ECA67F1ACBA53C614769B9A73EB43A929C9591B8BCE8 +9D96747A03D9E018323292C9AD7E8D4B4BF6C0FF7C389F76E7BD6CFAF8D4F07F +A914EA5EDD865EB16D3808AB28C4D6836F44507F37C8F8EB18D44213B20FEF29 +9C22EAEDD5E642D2CEAE9922BE97B41AB7F238CE69AE04157A0F83DE1CD4EC71 +488360AF13FB1308518CE21E1C31683C62E968E75EEE8CE9339C7514FD151EBC +E0E7CA46F0318DDCC7032C6DE59B336696A180501F5920EE58268606CFEF0B47 +12DD999F8EF6895FB4CBED3DB7A783CE6D68188C5BDF33174C92EB8F37C41204 +0892F18596B81407DFBE5CAD023892F736E1145643E5412DDC600B17213F76E0 +FCF3CC17453220AA793143D48A297CA1445CCD5D0FFC35521DE9D51B3ECA7264 +020310E5AC5A8B70BD55A72D02736C150BC9D657476CF5A2F37C908E01EFBA2D +FD5F30E800B928F24FF7F75785D5CD66A4C3A2318A4CF21B149621DEBB63F72F +458B3EDF5831C3956DB3B19F55BE50DA657FB1BF5D01CC6852BA9E0DE6706AAD +399A1946074CA6706E6F6A3ABD039C8A764C6CB46F22EE31CF64778AD51C82D6 +6630F76063A08648BBB6CC603ABBB928BE2BCFD5D5FB5BC8084DDDF794729016 +C5BD067A900DA3BD0D4981EAD98A1F546A0D1F1866072068DE7DC1559D258904 +96897EC208EDD71D2731CDD55EA01A463DF99EAEF746CAC089EACAB4B2CFED8A +8901EE89AFC2C51120FD9E488C9C91D2C84BDD0EFCDF859239560CA5908C8895 +20B9D8EF696B97A2EE044EDE9B28C37D716558E66FC5053479EFA99DD6DA1331 +18CEB3CCCC0D2F9EB186DC322DE3B1420AFBB380D40DBD98EDB8E38153676C9B +6DA89FA4759FBE0B9A3521A194FED76F0595016811D1D838F236469C35A013A5 +01FE8532C251D1896CB47412CECD5B50DAA465CF3A60D8728C6472BD687B9DC7 +BCD406963C5DAE3E331F67DA006DF0A0BB6EFAC3F6C30969D67384243A95359B +CD364CEAE601DF03EEAD229117AC7A46D97639D9F12E05614E6C52188D925B14 +AFEC3C22F655E20043DE3FE45D1B234D812ADEF6C8EF09B3B8308797756E6078 +7F208AF742D3F61FAFD6854BDC29BDE9B144231D91357B090E0BCC53AF7E3468 +CDAB57818436F1B6DED8B778740DE40686A4A498F1F0A502BA482E0BD76B0FD4 +FD29B126659409BF52B67E2F6CA1FB6E556CE8FB9805A9DEAA4C244D91EB2A50 +C87291AB4135275475AC8F77C319C4081A11E8F4F2EB167A5524A1D32D854730 +4A5745529F4D3303786A76A6FF314ED718028AED93546035DC4993C31702C602 +D9E08C5396DA1FB14119D38F7A7A97C48043E4AA525FE2C0A81C660E2C03B236 +5CAEC609D1184ABD6B51138EC2BBFB92428378985D2A4612F6C7EEF9C2D3DB45 +5EAD0FFE02DF84C8C6B3EFD7A8478456A68DD99F21EC3E01B0E535D5CAF036F7 +67A9BD74FF20B0AC9648433AAD3A451BA6E384AF74F24687C64C70FE25E79C20 +D13AD7D37EE070E531A107933C6D87611E65DD0BA97D28C5F0E47E8F8591C132 +6F2942B5AD2D00F88FAB23F5C9A8E4C4F4B71EE07E7985292D908EC1EBE51A57 +7F63F2D789528738504863F68991AB87F4955E6DFF058696BF9EB6A1425B9297 +8C40C122D3D865578A75563C9CAF388D83E91EAE73291B5100627D8AFEBC8DC3 +0C0BCBBE2DE7375DE35BDF28B067B19B0E97452339736ED3F4F78D4C4016EA1E +43E4C5987A1747FF0DE2ECE401CBC5594E2F139C8EE129541DB25AD9E2E749A7 +6199A1D056EBDC63A6AA35E7B7875BEFADEF18F9E8AF011850A7CA617918D1B3 +238808F3FE134C7649BA6F00F06E4CE0B5CC44F282085044DB41EF58DC5D7B47 +C4392EE7BE1FD1CFA633AB0AD0B33C1EF22EACA3750CCBA4E2CF22F89F6E0494 +58B001E13022C66484001FD59D3B549825D3D043059A9C4DF433440F019A11D5 +9FF477D0FB2DBF325EF52626FBD53A1D072847675ED6E0147B2E5550C0121AD9 +37CDBDDA279921B2B20D2E2E0704F78684F515E64BC389D58B0A87061D05C476 +CBC8D9C79B0A86C672898CC1668434C5340E263DAF9E24962699AB1DE61C3DAC +C1E00F78AA6977199209C63C90D2314451EBE95E527C847354C3F32D858D79F9 +027535E14F6AF425B94D893EA7035B2C107E270DC1B1AE45525507289CE0E236 +302FCB822344AE47DF0DB68B0358E8BBDCFFAF31A7B7C557589A93F2FFDE3F68 +14E9A15F620F26F88062CDF65C5DA0B8C6D68D23375151AB6D4B4147B967361C +B1659F21F7C1F73F92ACFB7D33E84EDF181DAC000F6501B2536CF722030E94D1 +52659FCE28624D58968AC2DA1EF306B9BC09D531D17AFE0A1ACEB1C51EEC8E2A +332FEC071349F65224F873577513257FFB4228777BAF521FCD0EF8EBC689448F +E5E89BCFE062284B7F47952AC4E11FB66ECEEBC77426DE4DBEC96FCDC3EA759B +FF4E6E0CBD5EAE32B2A8332866738ACF3DCB5D364561561633A7E681B4F54385 +B4AE1047A4482DC021DF8015D737E95D72EE23DF1F429D0B8909CCE0037360CD +91B27571A6D1B238CD57A49517E1B2D7629C0386789D610BAB3CA434BDAE68CD +A44F6B889ADDF83ACD17C8F827F88A41394EC78B09A654B419F71A75A865EE62 +1EBEF1F2E7E3BD54DBF36C239CE3E1939EF3DCFF712AFA61BDDE2671E1D5E7C3 +16B3DB938F1953310E73240E5471F2E01CF9E27F3DE4046C45785269A7898D2C +BBC7B2D5930787B01AED9D85CF8DB0FC95F1B23600A079B646B1E4EB183A252B +DA514AC16A8E9CF3885BF5E5FC03B7A6C94278C8F7E6565DC72428E34ECF1EAB +6BDE7327A4B52CCFCAC02CCA11215FE19718A34CB0770CB517BB3828A3B8083F +8C52B8B82F54C5B933516DF4BC9F02D8918198991C109212011382393AD808F7 +64C7598BF94792A8B684864B5BC8F6A7348BBED9839CB637651FF0F04EBEE1DD +3F845A6D1D49C123CC530930B64B6E46A32E4705168E914E2564AECA4B294AF2 +93FA9C899668308690A4A6F508481285A701DC0C63AEF443F04116920E8D3664 +1D5F951997FF92FB444DA2F3D8A99AA461EA4596DFF774E5856DA311F1080B30 +1CC9F777FCFD17819A27401DBF60CB1507FFE9A22D0FBE5F6B1EF15210F2D9B8 +DAFE15929C33342BD0085DDA53FF7B672FCA9AA63B24F806B86069ECD8765669 +41F4DC8F853AF0AFF0B6BEDCB323F0B500DF824841A720A9AEECAF6A0604952A +FD8ECA519C83EB54433C375BD0C108E951ADC21C1F2494034360548E56D2F2C8 +AB097FB27AAC1EF5CF5D0A5954A57271041ACB3FB06538A9716DB59428CAB874 +DFA4152731E2290E595F9BDB858F475E60702C3B539E4C1DF9291C18CE11415B +9FC553AC3616A4A31E8CEE22B1E25EB233A18BDDC28CAB44D9631DCD3E8CFCE6 +31B86497912D6599375B5552F06E5455C5BF9774742AE235D4F5166A5D274068 +7E4F72696DB9CB666D542E3F01BAE3D2022F0C499376637C1DDEDDA5F66B09A9 +63866A6694F99ABE1258EA5C4663A8ED8C96329CEB4818B35DD961601F4C9100 +CB0633183486CC2C3650AEEF93EEA0DF60E62336F94D9FC68838707236BA5F87 +9812C6459329F66E4968E1D4B67293F2E56897A1DAEBF1C9009D1AEAB820294C +53291ECCEE802DA696CE3422CAAC3F7DDFEB78D85CBEF46C83C79ED5E1E343DA +838F2FCA4AE57E142DD27EC5D863076C59C15B2424B66F15A1BDC68AC0AB0594 +723A60655F09BE3341C07BC7851280BD976D8FCDFBEEE4A5F77774319BD18E90 +E6B87374A6EDD4CF640FEE19045DB7101C7CFB5803DA6F831409FAAB4D5E4ECF +ABC5A54041AC7A64D5122D007B02AAB1384B4DEA4C4B6EDB6192EF783CC6E041 +CB59689EA387FF0841F4C06CB6C1A714D21FB01E86C0B5783BC9609813256593 +8239663721ABD41F6E0F55E132405E947BDAC03A823E871F64874C1CEAB838F6 +F04D9996023548886F428A5FFADE48BAF6BA884662DDE2BB33B01ABCBC6ABAC0 +9BAF62F25F5D1B10BF8261C16D15FA4BAE51C7AD1356DB94BC32056394C98DC9 +7C17AB2216FAFD77CD595B479053F25DE391F4F3AEADFA88325A2A991D44C8D7 +B285C202A661E28AADC84CE31AFCC5AFAB7BD16C3B1A67CF75F534A7D06CF8FF +946CCB9576FD161EF9ED58DD8A559CD77F159EDD4DE16764001EBF2529688928 +2F0501661494B03447BCCA39BE540AC7E9598E27A1EC56A49B88BEC17980003A +5DABF1F98BF75B2EB973D2960A7AFD14E8105E29BFA4441C94CC915DF356B33B +0CED0B452A68BB52D4FE1F07579516BDDB5D026DC099CDB239A314785ED9889C +1C0E122A55C643AEFB32BF11A947E25FAFE98C624CAC083DD1EFA63306A7910F +F20B1BB20ED1FC87215D51A3D90ABBF4DFDEC13278C2190BC35A48FFCD881916 +9C26B8B9FC9D0E7230D875E3FD632EB45D39ACB9660D929C32E6512FC5F47005 +9816179CD45714F2A44611B2BD89386D33425D79BF68EBE5FF30FAA57486CB3F +2A464C3EE261E34D08372E972B434ED3958844FEDC04BB9B292D21F099F4C7D3 +EFDE163067B28FD963084434B89A3E1156AA747A1E6600DBB9D4E25AB3A9948A +BA3E576504D777700A04372344D0CE20C580B8D3F37201E67FFB943FBEFC3DCA +2A245F01034164DD4CCD9C66DBF42D977913947E240EABA0B318C182B40A44AE +2632422074760DD77F57779C073F3C62DDA5DDFEEF7ACF660C976BB30F7D0074 +89BE5BD8DA452A536C7467DAADE2150F28AE1A1F0CF77BF0506B32890EF73FC8 +894E23E66EA8618F294F09A83A407CCD095BE6DA116B21E8FC17055A3AA6C22C +699C7D58D8F3B8009C7666CA5CEB86B73FE5F9CB66306F4A4373959225479198 +1D5D51CE3A9BFB30C02EE43FA6AF4BC0EC91F3396C831F9D5EC0FAAD224F2038 +35DF29C64181D61D0C78EFEE14F79DB7BFB4D644FDC01AC720AF91E481613B4F +0CF3088EB28921FA1F04C46C2A2F9D9DF52120ABFC96F1700CA5DDF8C2F45D3B +046BFF76B61399E8E50019FA727F06FF2AE9C1EFECF879500B3AC11A7B45E57C +26B363DFB226A037F6B0C9D821BB8DF4A29AF07E02D40D103F42A2F3A3F2DF31 +5BD3313B293F8514EA5058A636573EB9D81A4824701ADBE3B4BC4113BD1B6698 +BEF5966AEA3553A5190AF19E749D0089C8124664216C063CC99BB0BA6ADC6649 +B05180041CCE41FE06C9461D0307196C371B92E217CDCCAEE2D1CEE16F8DABBF +042D45B01BA551D806A48F995F34C6C6C07A4F2B011455F6A09A109C9E2B36D0 +27497DCD0F445C3EB7523A05D5B4E08DE30CDB418F121377B5D2D51F2798B203 +F61249F18F82311327EB587481DEB7F6B8B1AB0F2744AD805BB8678524259AD9 +3E3DCD1C27C46F5364CC0A650D35F0481292201F548E6DBCD73D4D63C9AC8320 +9F2AA5ECD2437C57169ED05F276902844CC52E3C8622E35EDEA9DECC3CF09760 +F2C7FC5A4327E7995E8378DB8D48F1F1B47795428F0882D2419E0E579F3F1560 +2A35812C4B28FA628BA4CD0C5D1DA325ADB1D9A1D9BBC35954DE856BA3E340B6 +027D48BA4776CD6261960B798226AF79FF24CD22371603A49E9E61F37410A834 +9628898A84EF2A6DF6FD4F5EC4830C71AC5BD048108469E7F5FEBD91D88DDC65 +6D91BD094E62D0CE75C71F1F782B4E7000E9541B3F3A8B943EF8FAD0C9DD635B +8CCD9D82AC29091CF6995178C6A89EF4085EC8DB211106C461BADE0A5295FEEC +E79F57405E70301EB415FB06394050B9066072F690C2E267505CD71E3C10F451 +D2BE9F61614D261492DA99E1BC2DB5D685B3A035EC8F78C2B3F51D7E849E1BBC +9AE1606E58B66C7B039D099FF74C016E0DEC64BC582F2CB0EB25871283D52B59 +A56E4F140F1A752BE4F86CC2B3342EE83896D100DE18BC459E6A2C5071D42ACE +4F701288B3E288792241C12C6E93584283AAE806C18D922516D87319F943EF5B +58191A6FADC2D369973697F36718ED90A59E54951878F16E75F6C1C4A2EBCB82 +58A26A73766BE545CC02179BC4CD6F582400F7AACA776B135A5F10719E2E8CD1 +519427C568C4C856EA93F0F3A81F06E16E076EF69C06BC4A296A76B1CF37A005 +922110F938156B1A2255A3E728D7D29AB2D07840185F704551FDE47A1DFEC4A2 +133F40FC658B0498834C59168478C0A43AC60352F98F93B9E7CA2C77EE220210 +043CE237B9362F991940BD43459DE27CC0D75FF2745804FD061068C9E2179DBF +EFFDF6B388C23F7AE14D270F0DCAC1EFE6813C260062858595123A4ACE373C4A +D6E703F72634F9F516A0C40D6CF90AA4ED3DD6B0E5F7F466D224BA424D63E6FB +577FE885BB88D4E1D8FD8AD0C112B9A59325893E2B36039FDECE4E4B6DC62B5F +03CA2DF2C05B7521EA05D6429B0C1AEACFE8557602C8679E9D4A2868B041381F +E81F43FD44047A20872160F15FE1126A1E57C7DCEEFF9269A102FD7D19B684B2 +96729089C63951FB2EA54EE428F9FD782F89389AABE70FA40FCFBCC638D5FA10 +B2275C39988D48ED9835856D51A54ECA77CB4D2AD848AFC44D0E7315E2758532 +9B5C54554ECD539D071E0EA6A020E7794FDBA141A3B7721D4F2C39236C8C4AA1 +005086C313C7D4E631B0F191352E6B474B9039F590C3639EA67656F10E47EBC7 +7F90116981BFEE5464EBFB3C8B322FEFF37AD2C4F9710DE81501F72174AF02F4 +5E63D6264DE94A461ECB837ED4C5D02E1BF930B57FDF550AF1542D83FC8A752E +2396AFA16F80B2EB9DEBBC3C9F66560594EC9E5E2ED7B5D3C1DB1302D536186C +6125FC900BD941EFBA4892FB9A5315486A2FCAA4643A86D70EEB90C86FBE285C +A62C1F41BD3ADDCACBFF184D33AB3A4F0894BC61D9CFA6456232D3909722FD44 +7B3A243F9DBA587989D0BCC8E46B547D4086C342FC6D3E8D37B80AD8D603F351 +A654097A97F12D70292A85B53EB31AA9773C97D167063589A5522BF2E8D61158 +2F3F69131280C308ED684174C768CC85F55365BC068BBC360E49A92662EC0B29 +EEC99B1E44 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFSX1000 +%!FontType1-1.0: SFSX1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecsx1000, tcsx1000, lasx1000, lbsx1000, lcsx1000, rxsx1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Sans Serif Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFSX1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-235 -336 1930 930}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F267FE330B512ECA33884E2FF61F80C94834EFC1 +8EB28A04606430B3D9E015B9EDE461983BB823CB2983A990C85D68977F86C9D6 +69987F12659DF9F131F86B1B9D2C172B8F30B795E9CC4F9DC7A6DD76A1C08914 +1CFB6C6DB52CB0BAA749CDFD030A83DD5E474BDCE04C087271D55761244F53F8 +30F60022B32534FA74739AAA0F2B2AA03CEFB5A79B09F3666F1D6EEB0E706507 +78103070621D6194A1AD686A43C11D1625424C6199A780B117BA7BA6FDEBB47A +C594E786A466D0B8BBB3569638C516A2516610994BD4194811B805B174D7150C +AB8543C67DF74E005E16108F55494F9E7112AFBE1B7569EC8C098351F4D6BB82 +86B7DE66C632138B409A8FCB9FAEA61BCD16A15041B2E772B9A97FB334D23D77 +2B81617E0A34E0119C61AE0BD417243648863EFCCB443D1F2901AE2C238AC591 +09C16B3F4B4B39353B2347E3CCE1212BD9F612D686AFCD50F79E70E77E4DAD8B +9CE8DCFD565A47244952D1D3A7CC327A8E6BE3768E2A4FA221B60EA17BDDF141 +ABE4AD6DE170C38131330852EA79D3A32C596C6FD3D4CA9DC0BC9FF59B37DAEB +BD8853C75D211076514E282484569DF8076ACDBF00F954FB3538D35AEA2DD9D4 +7C74124A36B6F5C1A4162577E5087C01936D0719DF558924DF8957E8F16013FB +9632C61DFD99DD4201E8C62E61A15DE10C0F735B96B23A43758C2172701E6DD5 +DF47C2993D5AB1E2CF9EBD6C353B71F33E4BFC2CEC2A5A065705617022ECFFB0 +C84887B339BD85B5F5FA86F2A6FFF895AB8F37ED5E0D89A19315AD3E6911F328 +8CEC8390BC6AB44B240E8511B7D2509FF64A78AE038E827E59E35BA59FE2DC59 +AC609148E31BFDEC215117338C3475849CBC09CAAE98F627C4AD724CEE707A63 +FEEE7B24ECDD666A174557C1FF3545CB42066F2C8957FAEB2D9DA68A01687952 +B260B1295310986CBE319F74CEF9A3E410D469A7844AE3E971FBC2B126973109 +E5F84F913A182DF0BE102B816812DAAA998ED75546DA5756E6FC44A52E5C75CC +D26C3A1272CAA9B2FDF841BAB042998B929D51B9B81FE297EDCAC5A8B6E64548 +1F40D0047EB7FAB3059E14B7A126E4243EB937E8AEA83889CB9F56116A49FF37 +7486A6E2D0FF2B2819A3942F257E38E82C359BF2EA895847483A34E361D9D34A +CF98A0F30C120FDDDDCAB7C11438FF7CAB4DB8AF57326C509E22D20FD8C11DDA +7761B1A0D62A2CCA91C3B92FCC9AB2A7AD0D2111E7A876C3F420FC0AC26BE961 +4F0744B3DD6166D83798B339299E81AFFC6D632D5BD2E0890839A4E3E075854A +A0157967D94A808997006F9B21CAC6FEAB7188ACE6AF9E79591DBEAFBA837B22 +60C3EFC0740231310A181E42B7E540472699E6B713676AEBEC0B83B0EEFC361D +43D5386A30BFE026A4B5D7980A8ED6F82B351497B403F3A45ADE77FA6B8D7CDD +7E1DEF73EADB23CC48AEB365AAEE8A1D08A226B46B2C0F37D102BDF46805770D +168EAF28C337D45762A08817672E6616B3BF0ED766D838C9B744BD98D99D79DB +080E9B6A3F3EB3E3186E61A7345E056AC7FC91FDBF0E876A37F59EFE3FA57A30 +97BC5DA3BCA4E403BB2FED2544FB3F4296DFF77444F752EA9759D337AA27CA3A +C791B3E711F632DCA511240C9C731C727899C08555DE5992A22FE5AD2DD1E1E3 +403FAFF41294971E32E3308C07191CBEDAF83E6B7E79F88105C7E99E2F9F2767 +8799F8DE2997DEEBEE1E09D4EC2A41795F2FE7F1ECFC48E2E468F5906DDDB58D +EF05838CD3A34E691EF7A85BFCB2906A4CE19E504733BFBB69DD309853203C0D +E6916573DC22FB6D9E7A10EC504AEC2BA44C3FCB2CC59ACA2CFECE06BF0AFA2B +C108F38C5251EB0D329E38BB46FBA8369C49B092B04B0495057F1AECF7496E29 +F966F1FBE7705D1CCBA78266F22F600BD68F9B52584E34321844272922FA8C88 +BB102545A41129B5EFA4F5C59A0E8FE42912D6658BF3ACCF715E63468B88627A +EBC237DE6FB680D2B6555E8737F330726317DDBC543DBBACDD038E74EE246F6E +98335E02EB4C8198B4F567B91FB6869A6F133B5F190BB105C3D897C3AF61BE5F +03095333797C0F58BF5E25F653498F73754FE0CA8B40DBC4406550C1E159A630 +EA96F88C869DCC73B23098C204B77CB9D1B9D4A51BAF59C6667EB5AE7AD374E4 +B63310DCBE91563855D38CC0646427D3BDFA280E28B55B0A0D22B1CA72EC203D +8AC3B654D95E6C33BCF60A45425F06F442C105B226964D5D235898F90FF7AC24 +764750FB3C48325C552F14CEBBE8B221EB1E6A811CED76FF36E0A79984637CF8 +0B23D3B917C7C0BFA91BDD117E4221691045EC9F9198FC6C87661AE6F9DD0361 +4E88DFCF78074F5379A0716AE84CD419A5F7B4C4AA2E1F10943FA78250AFDEDD +CCF18B706A4D430ADB1F79860309341A1FF65790FFA9579729FC99474F29502A +B14EA4AC3B3B025C2790F8B1187E660B8504678696CDA81C2EA065FA829600A3 +43D563AF32FB564D93E6230236FBD229457E0C257F512CCD5E1F43E987051440 +AAE629BFC367A6004961B9D77739E414174A8695B048596DBC96D8A86415ACD4 +5660016B380CE26B9807513FDB3C39C2B7129C4919F415BC8E43553D8A7C136C +FA0D6BF0E278CC01057534E5049844D6763DAA4FF54DEF7729F81E0CCC8983F5 +48002EA39CDA4C8F5A87BD542BEC39E49ECCE41D0027AF036E899A72532CC982 +DF1C2926EAF7D4C34C8DEF8D4B2054A8A2DCFC11EBBB61FD98C4A3F26557B683 +947D5F785C2060A6B15FCCA56E15D6E646EC386F814076F1BBCC6C2652F8497F +2B33FC182F9653A456D1C2C3F93357460928ECA8A100B1EFCE0E5097C11BC711 +3F02694494590DD7931D3B5BD12BD1ED23B37B085646521D985473E42B5CBA7D +7E7BABD97D866EAC1E5B55BB1251BC4D0556BB49B8019CE51DE790C43FC8DC61 +3D0357B733146DC9A135C88DB3618D77B66A197403F11E398B98EF65759E3A51 +7575414D4BDBAF226878AE09A00761D113BDC4C51077173038091AC805E832F0 +16A7F53D93B3E12DB311E6B39E6F4739DBD89DFF1770033D9C76403AAE6CCD6E +54DB56DB471669580C9AE639399FA0AD809EAB839CAF55E46F84B2E3960DAB18 +D604C70FAF0366ACC825D5DE37506CF77D97024253EFEA2B87DC3C3EB09C1EE7 +DC5CB38400873319150C6CFA0C4EE73CAE558AC738428D6E0AFB268EDBD12F4B +3007E7EE6B95F4F600891540BFCB9618479F0419EF52FD250B1475849FF83B13 +80B290054C79109D4B213512F72CB77F840CC67E07A91DA1D4EC2D9A0176EBDE +252361BD5F0DBF2A9D18AA81BFBA9212E20ACB5BC97EB092E8B1777BB6A9EFEF +D2452D64853844E9033255C013C665DE44ABC6A177654CACE8FD9DEFA73032AE +74E7412DCD454AD5828926E679936C6CE00397625F7AB7394D36BF00C52CA100 +DC53407D2970A1E5094CF27D7D43B9635BDFF798B0898A10BB34DC3834CDCB16 +D1DC69B5C9E935FFFDDC952D0E56C971A6BCD0F27FBE6562B0C6FC4D49CB8061 +654EA2771727EDE33AA2CF3BF2FCF9C2C07EB21EC25B2EF6820E6AC76E11ECB5 +1BA66E64288CB8E6058FB96B788BB641EED244F3743E6E2F2D1FEDFF69CD4A1A +AFADFBB21B7F6629028DCA315D3B55A40ACE981D20A10B0A1ADF85A246A3101A +36D36D7C8A94C8D3ECB6BFDFFBCE3F1808BF0293B8B5B3C8782521314697AE75 +46AE00AF1B5FB4AB5A8720A47BA58EADA5291D61552C4AF430626B12E92D22B7 +53BDA0FC2704E7CB9FF4D2B2665BDCF1E6E96212A43F240B807A063935D717EB +CD44473D6BE313143A452A60C0500292C8A10A919EE91071C43AD27FB1B307CE +C1ADA82C28DB4364166270586D483DA699A40EF8D53C29D00D891A0DD8E10820 +9A37BAFEC0721CD1B766C581569A0C21F5EFD8C0875DABF7E53E30FFD9D3128C +292C3EAE3252DF90C3F0D5533D5F77CCAE24B3FFCC0921CBFE8DC5CEBCEF6776 +B512FB0E11E043C8C2CEDD7401A4A3F997100B33CEA34DB3ADBF680F6370CBB9 +42F7245826F1AF1262E77077684143BD560FF65327A010425AD421DFD310DC5B +FFA477D2AAF14D7C62B15DC40F80868F402AD7824881097544C70A57ABAE9692 +76AE0982B334B2ABFF27B773081D6337C45FAC7CE18B2760904A036D73CCD7AC +8D6636A997421FAA87ABC1BAB270D350FCE65A0C185207D732F179B8FC1B2E79 +8A2DC116435F4EB72A461AC6D7046B81B902AAE3F75213C201A34518CBA39D1A +792927E38B8A0BF4E32F4A4C293D71261F0CC96E0405DD2FBF77A575F65011FE +A13A7D1318350F70A046732B115C4E8026D233EEEA4A2E993DA7E61C1D5C8ACF +1E84500A580786BEEE7D95C8E5D7B4900CD505F47BF1DC1C428C1EDF23397C66 +3DA722FDCCD193456CA3529556776BBDD9BFA0F5CF51A67618CCA79CF0C5819A +9A8CDCF4CD8882D55D5549451434FFC6B9AC8F7C23EABBFD7F19602BAEF05798 +434720C323B78883EE20AE6A7084894FBC7B2DA51DF5E377BBC162AF7FCF1FF3 +98C1933B84265F967FFC460B07448242D6361E999A8D49D7538FB7D61EEF517B +8AE89200263C3C9F1B5328DDCD72661662FFD3394EC65B4FF9ED79C62FA36A90 +BB0F786C450001735E327BDEA8FC50899706F195DBC92377E3895FB8F305D380 +7DA9E5C5CD7622358288840CAA74199CEF1DBC547E65A35D257D03CB03226F4C +4318E4ECF9A0BC1C77E18A241B500D66A8B30FC5A6FF9F0382E9B09FC599792A +D669E4241E5AE467787123E363C508079D3A34331A103667172D0370E7960ED1 +CC6D6B31BA34B9E064A16CB6C043239C9E1A4FDA3C4CEE86402652673CF10A27 +9A203E6BB52F06F6674B3272FFB19BEAE94F1F933DE26AF39106B4610C16C97E +C9C93466FDEF6E490AFFC9B6E29D5D5935DCDF871E158460AD7B821B0202A7C1 +04A1DDF457C8A36AC788D4A7241CFF20023219AAED0FDDF72CD9066A5CC7E07D +913FE27FEDC415684C7B3531EDB0EF85C078EEE8D357D067A939EF60AC18C9C1 +B31E2BD5D77D4D0286680D673FA32388FE9B1572D83DBB5452DED0A860A4A0EB +F1B460D76AB105C995D6136DC7A285D5BF0B5A5946644C1A7ACD112077E8641E +E1F0B542C49A01819DC341467C22F7C7FCB7730751B1037CDEEBBA553FD0B86D +FB40DEFD812F55FFF0D42238F8DF0785006A0F57BF6F0A58B7715409A073F81A +6308DB0525E61CF68C8FACF7DAA182B819D2F33D3A5912F12D071C7C8844E0A5 +8C83C256DF9A3A9D4F041CE4C497D1BED93A6A5CE6673DC971BE5395B606F8D6 +E5F139055FB696F9BA931D2557FD1C7DB065F20CA9ABEED321A07D23CA4654C6 +A49FF76E375676DD7139F018998F21E6748817174AD09B9C92F21E559AAD015A +3C698B2F1DD7DF94D7CC5AAD9D14395ED42DE9B704D723916C117F2DDCDB725B +DE8FE220A378920C9BB9036C10040D7519247CA2EB7EE4627F41E21B6B86F75F +E172D9B26C90D282E3BBB0E22E176CDBD1DC8BE381992C5FC3178918604B9642 +F4B1C765063359AA585DA756D73E4D9A8A395AF413C986EA970836B9E2854A68 +5269F841E744B673756F1BD38C222F66F2E1AEA9A1E80EFBDF83D58479CAE6B9 +7B372AAEB7D2196F2689A9FA78B79C136835FB80A1A1D0AEE7CAD195AA7E57AC +8EEB3811BE2BC948A926FBBBA4A83A0C67D6B2464E75C786A05E8F774AD4E4FD +DB91B9474A8A26496D574C1887F047EB95772C702C4FDA23DB576384D456A566 +581EB1E230695B2DBB19A59311646195484BE3BB66DB74F52FE5DAD8A346D646 +925519922F1910F98071030F9EDF21F4748097450564874A04813215520E44FC +A5F79964B1407B24BB45C466BE5C1BA03B7B042F8FE2480B7AA65ECF2609790F +BC010FB412D7569DC20438DB961A3F4A81FC2BBA58FA22A772E63B498CD052FC +87931B81EA650408B9D98B4BF93D100A98294C95B27305BDD4427C4D82D938E5 +54137254638555229AFA1F913291B1B0504932D227E75213E3B3B1F7FADD18E9 +EC124583D90B9DA03EA411F50374DA8A1592EB66C3B7E95C4C14180F8754B663 +4E8EA3C0579D9536A29293C513AC718C036C5ED6740D79C03800693DF0F76659 +C59621454D6147221744EF2102AF90A7A430D5EFA19E96A5594001DC5B6D3416 +7F67D33AB48AF1205E426FD9D567ABBE767DF8CCE6DDA284C297FEE1246ED0E1 +CAD608172AFE78155BFB319F17E89E4CDAA34854CB84C23C144B8E106C733EFF +49721732630D01EAE7450F90E497A3E146C23041C96B345279F984C53A58D9DE +4629B486D432D61B32A9D94BC30F0517C66650E4FA7096AA032AFE78155BFB31 +9F17E89E4CDAA34855F46E1C14EFB356EDCB5CD1FBB4CDEB5E2AA64CBA6FA50F +46F9927E54CEFC2A3F98A0193BEB6C9D6AE9B1D578D01878C314A5166C150F26 +5D43DFFEF0892B36DF918586B082DDE677E7BAE411F7CB16BCBE5A06689ECDD3 +D76D5AD9812082F4E7AB105F0C7B9A985CE0AB7BE3B19DF0F8BD6849BD36D399 +0FA03DF074E487C942361833C74A1F05D916CBB05AC4C43E1B9E918E2730C558 +416EB73F3CC04D961320F53F6C106FE7784BE1C290E7E1EB317FA798EC8D534D +E9B4181C2E7F9D80E30A8E6202CF330146F527C15DAE54833D1BDA70B1EA8BFD +930B9412163437DCE93061A34A70C274C3CD492EE4DF2ABC9D9975ADA230E03F +FA5B36CEF1F23E2A0576FE020781065DB3350D240836B7377F55DBEDECA19F3F +65FBDD723B8E668827FBD0575AEF4C27BD19C32886971398C4873A0CA67DCD45 +59472F656AF1E76361AA9A2748C5350BE10ADD76F27CD73DE941821B9A74AD6B +19805ACDADD5D39ADFD18C0FEB64435837C21B95488872F42F5BFBFD85DD6CCE +5CA8B407056E084DB29C1D03E2D3F692C2250B19DA566EE66B35E7069A9E7E1D +762485439FFEBDE049F92942A3DB26E92548DA78A1CA1FE7C27C18409596D179 +901D3884966F7897F5314981BF3EB4297689111EB9C0E73F0D4AAA40FB466309 +C9BC0122282CBDA5E25BDD795A3B485C4E8BA1B65C3E6E225BF58F4DDE76A454 +475BD1510E166291FC5FFECB34911D895F050F420D81EA8CDD6EA09D289A5773 +E21EEC6D54CABB0E5A713BD2543A8F5834ABB411B945DDE48767CE4BBFAD0EC5 +65F7DE7F981A5F158B4CB0DA4B09F4079AFD581C3F8F4777479528F7B1BB1D5F +D15C159B840A418074615F70ED83AAB2FC9425FB2032D98BEDAA0E6755D3A100 +09293EA02C5BF3C7BED6B1E29CDB9ADD2B4F32220F1B21972CE96B85A3512E22 +E5635CD7E04FB7B091A5B700D4CE1164AADC5756E6FC44A52E5C75CCD26C3A12 +711F39F39CBA5B4156D8DB312AC8AA4208B951D7DC119B7CD32381D79D60BE6C +C01F83F72A1F00E700B76A069E8F096905876A03EBE0376A1D98FDF0CFA2BDF3 +A5BE51B3A41AA02AAFAC4FD5FEB99C380C11B0D3D8C48421EEE32A702DF8F6DC +B7E1AD9366701BD45FAD5C3053870865F5D27B234163E66B9F947A6851895F33 +A3C5C35CCA51B26402F011B52B57553169C1EEB83718948E036A82040EB14777 +FD7D5D73A6BFE1CAFB5E62CA5DFBA6135B6398AA8C826D42023BE0EA599245E6 +08E64FC61ECC9959A404DCE764F950918C26BACAB4F93253B37B08E03DB3C038 +4FC86EC15CFA7AF146B60F049863F5E6E667E419FBCA21DF5384D6F4DBE64EF2 +27314C69DFC0AA6D07D1BA23B4C55EFBEBA5A63ABE644367E250E664EEC08D5E +63D13D384623CEEA513CECD5679CF430BC88CE2FDBF54C6B5DD4F26BE7E5D75E +B726F41D4504557AAD2B3CF888F09D0F40A4179A625B0CAB449BE5CCF75860E7 +3572CA7C2A2994C64EB0BFC19BAB7BAAC154243580FCB443C7FE8F3F350FC8ED +47A84B487004DD8E5AEAADBD2A6CAA32C910EF599E7195F5FE5654A8D261BE57 +693ECBFC7F94C8534E7604D83DC7A4838AF53C4C76D96008A6B533E7EBAF8EF6 +18AF1B4773980393AD8FB19B13F9A301446DB0DE56D40B76DC8DF7A1BD7F28B1 +523224DA1D9B25C3079B38B287069AB6A403C8A7A52B6F61BB07C99A752D3E1A +75F4E6D4D1E7F57D7D43F8E3C4E290877034C3902F0EA39A679D879FCEE3756B +C5AC1F19AD474DC3A029AF49E7338B42FFA0B2790B0BCBF51E1E647E1F3AC1AB +75928410ECD5574FE761D83A482E959895287ECC73113F08A794E9CBE589540A +D1CED13524413BBE95C2391383A88000FFB4D4FBE792602B4ED49F2CE1B55802 +DAF2FADE062DB87899E76952236B772C473D69B16ABD7E4BF657F596863F93A1 +44170E89A0BEA1A7A8B4471D8FB00F97B4EA47596223F2FF5B521979EAB5212C +C7E7E4E0717284B8EC3835492A58A03F9A7DD2335E9F7C97284940D65CF706D4 +85490AFFE65EB2FADB7A25F04126B366C7C79F5131371E0D1C13D02F8FB82DAD +8EECA20CAA7CF4F1138F534C15749E6DF0469AB691C6AF13ECDC0B9877A29011 +BC122C9A025B6EE3A13A3FDA386BA760FFCFB250DCC80D0AE2A5047A7B6D816F +AD97157B36884BF8BC83DCEA810908F75EE8A4BA51C26BDD9934810CCEB8ACD8 +23CA8A15A8B58416987273AD529B1B976E514621D8780131EBBF8381DD595447 +B9E0D14D1666AEEE2CA32ADD6542A947C44C757F24256DB45C8CD7120FBB7648 +A98B81B98E80520E97C8E06EA26B2C4509D80A1BED14BB6575955C460311FC7B +E6B59373586CA15BCFD8DC6DE7BCD92563CBCA6C2C6B50905C92286EC580D626 +D45748E4706358075F2E4A76E8C16315B254AEA905D779AD278CA8D557E54778 +2230248831757D9168908F0B8E1B36AF9E2A940466DA7B9DE53667A460DF501A +0C415D4F7A0A64E3B93CE5C21B85FC874663A7F30EAAD8B2405587658C5E9C7B +74E90264A6DA55B6D50F05758354B9DFAFEF977570FB932B0C7D0F2760EAB2C3 +8FDE31F2AC9FA9025EF259C4C44BBEF7E503FF24EF44A205AAAF6C29B0C0ABC5 +5E08BDB74C163E5EF22D55FF55617969F85C61327561E279D91DBF3F1AC0969D +CF1ED12E111F01B9EB859F748048180F1F0C26D8C56A0270AA798540DFBAD51C +90A7738F26801307BC60159FBFF46A0A7B99015287DD4746C530F01112306DDF +604EFD195C86B03A5465612881CF9761708AFBAC451C79E3C089DFD6D26F89E6 +170107754225556912C5BD06FEBD3E272043E9248DE095B8695FD0435E3D66D8 +ED27FA12100338D4DB98B45EA419B0974C5A18DA8DBA171724B230CA49F791EE +579801427AEDEBC55EE36342942AAF901661AD78BA441345649B20DAD7F9A2B0 +79916ED7BE07C01C7CA307A2FD1D1076FB2C42C86CEA1DBD6F86878A498FBE8B +174FE5206FFE45FF252995C0EB1DFE5793BE863353B26769ADA2129E7B70D9D7 +DAC2673B920C7C13BD757BD5B251979E467DC6547C99483E2AA1E3A0E36AB090 +6690D41B787C20A359A0CF417AED16E3F2B1D346F644A8126EADC4813F842B0A +4F4E3BD2F8E8F5AC4B5F5EB63C17C627DDF12677F4FEB7F5DF7EB0093FF36C00 +8E44CDAAAD0D1FC5818F220B2C713BA3B6130DA295BE053DA38E53D23F15A776 +E25790E87CEB911B60BDCB44273DF931022D46B9B19C22B22901C4F7B92E7B3F +323E05A262CE8F84D7A543FB1676B10A35D595FD984E0417CF0FCA411345D2C7 +2D57F5D625228E8CD55149D114A9DCD972E677ECB3172F55EEF781AF4E966D31 +3D8B6D636E17D9385708E0F60CFCB319405EF317E49DBC2B8750F9BF6974198F +2E7C03FE5EBF8916009392AE5A15A80C35620B9D92F33A612C3ACC7D92A58355 +04BE0F327FEEE42B483BAC09D0B46065FCB05015D25DA40A9F4634C7DF6E604D +9E54D629A448233A62204C13DAC4C9D1BFA299B86F6E948310A945A761892E4E +C0830B87E08ADD4AAB386E95EB168EDB8E89CE1B3FCB5B7893C8AB2938F7B02A +AE4EF85B2F8799D02004294969999717D017ED44C6EC70746A13929DA61ACA45 +F25A9CFFED5DD578109290476E12D93D56CAB5E48D4D4746A3EC0B8CA261AD6B +74212FCDDA0683D76531C02F77F2C4AE2F15084F5C57B7EF3B0695974667E499 +04EB3499AC0AFC3FD62908058DDFA2AD235FDB8F27314624B955FB346AAC688A +25225752B7BF8F031650373F31486D8792B4F4B099EB919A1D92B4698B0464D5 +6D7C7D7554E118AB6DA3F541B7CC32B884F8B00F6066E6D879752198F2F54C1A +2DA9C7659330AC48D9033EA065C62D070279311E035B1DCA1C1EB6A81029F7FF +378A0EDF1FDA73E668D5837386F411D6972A9B67B0297BA9FB3CA353336FAF9A +4F5497E3DC8DFB4D9F7CF19473F1845718FCFAF2BDE0D460D91E87520447620F +355DFEDB0B92444DC2A6B48D823569E74070726514E6735180291E72DE255479 +D8E1AA7A5B547C3E02689A186C9F3CC6B82649FD0C5EBCD332ED03DDA8E7A138 +C313575624E0B689ED7A5DA2894CB440A7120878838D3128BB6342413DE6FB88 +89601F21C9D354EDF17507C5AB3DCD4A3D172B4A8AC5DE573D507ED95FBE444E +B84F20B11A143840EC16F66285155585A14E30DB40C4929D70140984C82363EB +90FD1EB0B4511473D837EDDC86A92864954FA8D1AD3C72744D2618007F4331A5 +6333463A350C18C4C0BC997193BEC1695D1A4018C5B1D1E6F80934F225F840CA +B7D1AB6E546CD9C09509663797EA6539A83588997C5C3CA85D1A8E81402B32E7 +99CBBC645C3C71C870E2F4D03570FE4972A46BC871A9AF45059EC4A271635872 +BE9544E9F0A0A1DC6276305518DE71EC207A5BD9D56647E5513D0FC052357EE0 +E668886402A70C8EB29852F8C792864C4BB40E21CC100844CD45AD5AC2F89B38 +D7C875E95DF937A1207893DDF43CEAE998733591F7977C9EABE90E685715B1DF +6259B085F75849AF4F70F3506FE53A6685C17437F7B1EB1FD9E60FA69E79DE43 +47ABB15EC3C23600BC5A557AF271E4D69A045A364D2CC5E46BE9689B97DA4287 +5DB98CC14829A7C1A434824D694AF5975F17F4FDB573A92CA29F968D3585E1C2 +D38B99DC4F5B1DBDBC832D60E58A72935303223748B495A817F99137847A2850 +BEDC978EE822C8FE583AF479F1FCD2C6C5783FABBF283963C406C11EE7760D39 +1A38AD6FA6A2D74061F487BFD76EB9E1EFF7555BC0F64E2C469270857D40253B +5FD9B5E7DA4FB16F76AB234165867FBFF5249650807C4303E9A8E48FB8771FD5 +615457814370AE1F93544EF671B66930A14A791E3733EFD9ACF2B0741EFC39C2 +673D8426A6B64EA97F58358EA6707D6B09A92E6FE284C950A2329B8371CAC8CE +84E149E4C84DF4EAD313B89F1444AD37EE4DF669DBEAF2B09F035FC6B18D103B +0988F3E22F6EC580D626D45748E4706358075F2E4A71E04A6C0F30326AB69175 +009AC8DF24B4F54A8E69683648C31022F931B2DF7D29FD8BB1D167B251791CC3 +DD9840CF87F65670B0FEB536F9633DEAE9CB386A900C1CFD1FC840F28C37D191 +52F9B99F98DD697B9DD91F717EA4442DA6778629620B9907E39B68A888BD4BF1 +B1C3732FEB33DB0F0235D303D012B0A93BD9CEAF54746AD6FB4289EC577BEE9F +DF80C9E0F54ABC5BCBA3601D9EA9ECCDA3E528F1FEB29551BD89557FB4E93AB9 +90ACC6154D05EC73E8D9A6F9E71C36ACD9B0268C11D365ED0514155ACBB4AA96 +AB55060C3A2C716D0E106BCBE42D82F098BB7A46AB1954000E454840543F4EFD +67A22B4CB828E2AED0AC4101C0C99E23ED1F8B2991F7CD6AB14C5291EA7962AA +CECD4A1243D31E8214A98E006C52E8DDE95E2AFF9E1DDC3A308229BDC85FECBC +BD66B29DCECEA53E55183B1B4E12B61BB4DAA4B1C2B92F34A4DF8FC2FED46322 +03D25C464C8DE8418139AA51F87754C6F2A5E26F7440CAB36919BA47E2B70914 +43BCA512BED90F03DC4316C2B73675C7B0CD83B1B29767D18B3817C4BB2B1976 +144B8E9DD14E07AB2D37B72E6CBC325E9F1957F990525B85A4FD24540AD71F71 +DBEE4350BC7AD1A7CBCC867CF4C02FF87DE4BD4A284E2E82C45DD1EA7E089057 +584BA4A952442F9E111207C3C885746324E24A7A728CC231836FAD378F7242F1 +A66359B8CC8A7204078742E146CA8985E1FE9D3354C090E6ADA4D11D67B40EFF +47B876544BC1E504502DAD0B214CA14C273F9D31AE417AF4FE98165F639F4498 +0C65A28B6167EC643950AD230D6A140523C78D677396DB667DB10186F6ACF198 +48E882A31E191FF408FF6ECC45E1F62311E8FB24E069ABAB84A2F3BC4A61C147 +BE8CEAE6774A892E3C28CC4BF0CF3FCD614A8EA551387D73101E95C0181842EE +29EAC163090F37A0E323CEBAF16254AC8428A484C821B9C05FD8572EFE8383AB +2420AFB561FD1B83E2308B2C831C25CB177FA2DD90858CA3A619BAF5F11A9AF6 +1B25D6CD2357058F28E62A30BFB4A9759547BF4A8A56A61331A7EFEE4AF882D2 +4AD8FC0984261AB35FE997215E011FBA9458756FA0D72F2B8AE26622FAEDD0C9 +6A2E7036A7675A77CB7718EC1E8F29DD1EC26975E6CBE125E18B41DBADAA9B42 +AB21C31842BF9A2915E7D159A43BC4CB6155E576DDEF073BC2EACB971CDF7093 +D06848077D5A9E4FF5753C55E17E1A6C5A8FC903B6054C9DA620F19CF089361A +5CE2C0799797C31A41021AC53094792BDF922E4039DAFDC37BA11A4FD17F986D +7BC3B3B23CEF1BBDC1987C832F8E6EB7F51726A76F668AD8D00B0D3DF021B550 +31E2ECE16909AB63A40AA076BF784B213539EE6135F0ADF207C34F7F3C819341 +2F69AE7246FCA44E48903F4C33E97C259D5DE3B4D0A48CC3094B1C6FA6326F99 +7372A92C57CBA9B9B3CAC1674DFE708E9507296470859B94B170F45ED6BB3BCC +6524CA31A83F10F123CCEE639A202ABFFB6EF42CB7AAD6679C272737BE270201 +734E8BABA933F519A2FCB73500DFC2F251A7FD5D79C29ADD7544560967020315 +C2E75CA03D1EA1FEA9B00B56BEC93C6437DA09D5EBC6BDC8416D22BCBDADA2B0 +D53A4DC170F260593928B93F6D3B22D9891D72BB34A2E3D238EA59C3B5CFBC66 +77F11BA136780876288C473432926137956FB033A28E54C10D293C24C8EB4199 +C5CA3A43E3449CEBBDE84BF5F535410F82355C2A57257ECB0E6498899CC5E807 +3A19DD82C80647CF1AE73B5979AF6FA991D7AEBB785A7A71D280CAF488DE6C57 +A348CA0BDA0FBC55BD765188C16762064DF25FA32758B6ED119B89705A4C4B59 +FFA6AEB8533ED6CDE03DDBE79CA60616FD824A2C1941F1EE7BAB408549F71EB1 +8A39F7865FF0EA1FF73C43D4FF3A48CF55DCC5AD6FABD9A7430266BC78DB5D11 +E979CADD6C57F0F7961077BFCCD926876A97AD34A22B8DDC97697AC3FEC999B4 +B8304CF158F7769230105D2A6822BE3670FF40FFA01D51643BAFFC5724C4BF21 +16006762D517F3C80A82A30ADE8C4E9ECEBA2EC06F3F0E93E5FE83CC32D3D367 +E9000141EE5B103C5367EC55E72F1EFCFD92D90004AE4F0C393E1F32B9A8FE04 +17DA2D04D026648B12D8FD00263073A8E26B9880367CEB998D5CE6E05E7A98A7 +F8E104CC29E7EA009A6D38A3C6956FB7A910774C0C847680ADBF754B4F0E7EFC +FA401294836F632C79EEA69440902D0983B4EA885CD9DF1211046EC8E75B37F6 +BB1AF8EFA7A66F9D093C3BC2D9C90B5F8881BDC52109A85CF598BEDB2A83B57C +E863809E26EA04C81DADA70468A1A7BB04D5A74A7A95742109B87E6267D1D61F +E57BF62516C1F6896669159AE7D5CDEEB4AC6A8A0475EEBC17D57DCCCB3BE722 +8A2B826D1949CF9E7C3EF30390F88473960289B3DD2B162864ECC96546190ADF +528A90C410881B447BE26F95E1871E7B548FE14929085DBA1C60A1B10C3DF13D +99B984841964645B020CCB33617F9795AC6119CCA9A7F95C1D60F33E4F666482 +749AC4A6A7EA49C5D06D6EB482B1A007BE0DAD70B6338FE51016A419B94EBCAF +9FCA6C29E6C11151BD214B178B98BE56ED641AABA269DCDD24DE122BA6307D2C +7D49C57E35BB6AA673F84DB78BEB121E642648CEC896295143A2525888557F6D +EAB7C0E5E11235B0C7D43D4005E85E3E0F008DD20591BDC507C3FAE5717491AE +B057C1276107A06E28C07F64A2711E42110A8B96D3BC1BFF444DE2BCC21437B0 +85635F9CA946E84E8397A40DAC71495F98E01CA4757961B66368352663365683 +7FD042FF53D2453BED9574E6A9BECA075638114AF40D84CAC64684CDC68DC5B0 +D2CFFDB300BE45AA735813C50E63E2277B7534FB7E32FD8963CD4D15ACF07D06 +5FBB473C3D4EC73A2E9DCB025613E53036DC345459AEFB508960C5A1A6276153 +5B1EB324EDCAD5AF3F35FD1B5068CACB84F80D6C2EB891C506C7AA9A47B69C9C +0A9203332CC21ADA55129652B3A5A21173244E52128A774184F2471881D19E1C +29E1A347A3EFBAB98C638A92412EDC2A15A74776E7F93A37598804B0D5A10AEB +E74F3FE437C52E0BE406AF1FA6DF09F8FC63B1BB85160FB17077A7FE67C22EDB +42939C4A75DB0DBBAAC630653DE9F59D4C43F4754FBF01CDFA2AF49C973FEF0B +4CC9D2B4E609E6BDF94A74ADE0C0CB5DF98F264F1BD94D7E59E4199B8F8C6A4E +7D1BEE5207507B0BD419C0E7ADD3ED66484DC2458A29AA0CCCFA596ECBE0CC57 +40D40667784B9E7E03CB5C00D65658E9578CB6385FFED63B16304AFB4241ABFB +534FFBD0CE5A8C61823F5DC53DFACA03B913D8FF5FA42DCBFA29E149DC998B0E +4426DB864A95A936E72EC763888688C175D5853D89E2036E6ADC3442C0D55E06 +2CDFDE2CE1CCB2DE1E59874E2F702F00CAA693F5D79A999211B1D974028F13C5 +E5088E227228EE19B23657D34685F351CC0D93D513E723BAF89A325D955346B1 +B24094DCC927802EABFE76CEF8EB0845D70EC31DF3A382824A7746B38A4A09E1 +B8A2CCB6FC5784C062BC9868D0BEDE7D8F02032320856A5B7409784A30E69032 +8F06818BF0E80636D9349D6779ACAB88C1E8FE83654B0674457A70FEC56620B9 +EB86E852D130DEA9026BF35856772AFFBEA7029F8D317F7B40CAB36919BB771F +AA31DCF5C1559B318EA43B7CC317DF9887C4956BF9F76F93CF20C262235138EB +E52A94C919A663307CB98E3F9AE062ED5DFCF0EE8AF463252D9E0E38DB134E27 +4855075D26B0A1CD2A33DCB6BD5B6BC8A982535AC2B0A28D3851129093D4363E +5D0A84FD86AEE5F5E07D9CE3B2E7D96244DC6838052817C33ACCB984FF9C3880 +F47FEB8ADC1D5880F304942D59B75400B09FFCC8DDD98BD97D756E944F71742C +964995273E193C8190466B1070F9FB747A6A7C5D52CB8732BD27A09442C7F74B +1CFD2BADAB1F2CB5859B307A2EA0707F9B7C5108E891CF1571EFA7E25549EEB9 +5D0D065E6C850784531EB96AE070C91B876A4AF2DE6986C745B3904541BAEC73 +241984ACC895C1C36DA51B8B3930FF3030F906CBAA719A1276A8317939BD2E0E +CE36626AAEBB97D1C8DB3AC6E2B42100CE2DF4251BECB4BE94BC88D68593E505 +B0F765EB7781590E126CED7225C94F55752CF01456AFC6154D05EC73E8D9A6F9 +E71C36ACD88259F02FD084BFC2D1FBC4CB356B5B756D19293E47D4F7E8A4974C +A1960C6F4A305B83390411009687C4DA5D89A3160110CD4094555161A40FF157 +E88C15584BC7A6769A8B0BF1E756DC1A61705EE6D40DD4CAE2EEB833B554666E +B618477431E8919B9F5A5D3352E34E56037638CFBD070BF388E89B49BBF32032 +5AEC4EF1C0F3954C460C35EB74B8E44B185ECFA13627E199FB80350DBBB55A21 +A1201C1E9D065BAD269F7FBB61505A624845FAEA243A5B05D70B0BC92FA784AB +EAB0CE0149AB9EC20C0D23A66CDC22660A7FD15C99C36DFDC516160A5C2AF896 +49B93DFF796A739D6688EE4BDF04D70A620603167D6A9A21E76C368DEFBEF0AE +C2EC60B05DEE00DDF5844D7F9FA63DDF5A460622B43CB47377A99EBDA17C5892 +409FAF99174A7715FAEBA99A555BFC8610BB6ECB5845C7C148611385468C8192 +DC85118531EDE37A02102D72B4B129BF49AB9E5200443C393935E84F18FAB825 +ECFB6601D509BD10584123AA5D451F5B002C477CCFC1114B03AA6EB9E70A55E3 +AB07981EBE4D7785F983C658C97CEDD1C65A3D5769DF3A646841E898375C20F5 +CC9590B7D0D0D1EBFECAB2F1BF8D6EB6EEEA1134788625B61531A55B99F99354 +D88D27831269D0EA80ADB43290CC59C43AD57D357057B13849FC8598EB4C225C +A2A12E50D312DBDF87101477D08C3D1A6659AE08003F416EFE2B2AF48344316B +AFB51F86F8A8217BDC85C66C396D1ADD8FE9C15419324E20F5E34DC1E2C6351B +E00F3685CA11D23B413805A02CD7833794FA1AC64C262445BB5F0967CA8F70C9 +F45AD4021F3E274FC91EF298B5F60409266C8C14DB80DB172898FB80F81130E6 +16F6DD1EC3F50799E2D565D451763A1ECADD26A15D1A9AC65724E0E620838ED2 +87C7ADCBA1EBC70CC4106C9885414F5E97444065AC974779796CFFF55D0F6123 +C3CD2629486D9658739F6712B28EA65913535B736C8CA8A18A5A3651EEF6D32F +E6F059DA7E1C6E7A336E30C092741BA7FFD4D1A0A62D6D741B717175BB4D23F8 +2F2DEA482F4178381427F5AED3784CB873F37B5749DBD29ECA2271B71AA07AEF +7CB6D89D0481B656EAA018CAC9EC9CE64D66A306A019596CB48671839B56F7A8 +B4F2033A85B201884EF63382E6226C6155543146AF53E436B88F7AD349757E51 +204182AA1E0F812D6BA9869AED4668541480C367CC8C2BD2453BED9574E5FB21 +AA98E50C3DDA1776C145DE69B39119E0465301299ED229962E805BA847A7B946 +D48D116F5E6EF5C5B67F800C4D76F422027618F93EE02DA4E975289C85D5416E +BF3E569BA679C072A1D3ABA2CF401E59460FCFA5A865BF53E3E4B1374DAFE46B +1A7D4CB08936A44F5BF5293BB4A1D1D91614FCEB3D7A2BE4FC4581892C197C7E +35F83ED825CCBF472122FC84A868755F88AF6CCDEE4EEFB8FF73B94633C8EA97 +9D3298970186251198517B5D810E7E0501C5B94BF267E20387D2BF2F7022B38C +B7DA50AAE498A272328926E00054B156921AABFB31BE983DA49DCAE1CDDEE4DC +00372537A52BAF1F79E8B8B0CB7AC783478AD15F40435431DEDC5096CCC5372B +E48A48E44CBCAD20566E4A683EE9107361C63083CC9EB53BCB3CD4D84CC312A5 +82D14C02D98DD85CC57C6F2AFBAD1BC0CFFE79958197A335106DEB6C33E5CEBF +80CC1B25B9585671336628C974003F6AD21BED0DDAA900EC119A9762815FE3D5 +45AF6AD00BBC1154F701F3FA1A0C8392FA1530E1E8E629FA237BDBAABE6A12DC +EA33B011D1C0AAE6369A83881AC2A9EF67E909CB1D5F114EF54C9BCB476ADD85 +8100DAC9101373255BE6EBB8230076EB0E411AE174E4738A851E92CDAEEEC705 +F41DFD9BBA449EA8782FC9D80B9D576708B317AD55FD03B84B01C485C9DFD480 +060647E1C36EDB5C10DE964A8E6F94424263E5C6175031D82802C0F05FF22CE0 +5248DE1C246E4ABD37B53E1C57888E4D56DBA877CA9A32D87D265C7C3E542061 +7503393305F298CF7A0EB87DD9A66422C5E472D5998FCA87B0C2EB4A48EB5AD4 +095A613BC1ABC8DA0E6A1CE0402DF667AF30062551A98F6689070F140F71D797 +6575E5E599ABB051053D4C4AE02CA32ADD6542A947C44C757F242568487C063E +32BCE84B753E9B91158E1FB4FE12DDB9289C93D8803A85120D97E46E70E0CD4D +5CF2816DFB0214A4CA30227E5F97C6F2AE72052F89CF311AFFFD39A687303EE2 +DE3B3A3AD9CEF95966F0ABBA9923561D915BD6E113A38BCF3083831F41EF23D9 +4DCBBF0E8FE7E2CCF20662BCE2D5515C36F279864470ACD7FA7D9B8B06B7809C +E3DE3608AC979639C53E6B411D1122578A7F9D695FE8EB404128562637971E4B +C7068889CF3B54B4740E82716F6B39382C61D87C90185C5DB06D5656F991AE47 +8D74FB31A9A0AEB8F95A25FB33A07D98B06A75CBD7ABF2B6CE50E6E09375AEE8 +2E435EA831B9AA9E9B2A5B4AF4ECC42BF109C9A8C04AC209B68A783EB6F2238D +71E2494FE573C5254B1A80440D487AF2071B816AA4D7914A09C01BD3E8EE2666 +54748C6E6F4D3325DCF159B6B1D40C004DFF009713102FF6F0D8FEE52C6E7188 +4665ADFF665CE8E3518CF9E2DD455A2DA1408073FBFA29230E7F23904838D06A +4A2240595F43DDB661F994C6B911EBCC7E5C059DC2EFC61EEFC10FD101B48FA7 +CC1CB2CE7077B4F22C6C9D82C82A22C9AE96E2F5EFE7E5ACA7C3F48650411AB7 +B0BD14AB39C9C3275E3EFC559D942ABDE315589A0B93FB30AF098158952C0424 +3C3D00DA28982A6882A8D2FE7352DD2619AADB222DE19D4E001D7575DE9D7B6D +9337BA75E6159B0CEE1D0E139E6D430431AC3E49B6071261B62DF9C83D7CAD2A +46E131BA4EB50638949370F8A062C506DE9DBE039CD4FDFA838FA499E24FD86E +7D564F11A839EC8E5B8127AFE5DF5442E4C5F08802111FF320EBF19C83F33602 +BA6119B95B760219E59DD6207BFE6EE644582AC8FBB52A8A4232D15AE1BD495A +FEB935764507CA2A21E19882B5A302822E92F28F86F315E4AE752A259BC950CF +CA377A4D8370FCD254B38AC48919AFEEF7ED94019D124804D0066A9856C3B196 +F12678D48C8EFB77D2B54B5AA49F923426DCAD65C044B2576A5FCE3A9B2CEACC +5F0A844C6B428C70CBA8AA0F3C0F9261C442FAFC51E5F75E219F9C6C69051E69 +3B93490506448C7E6DA81581D5D792D89373203755E9303CE4130049E414CE90 +6934D916A30EC70F18257BDE343C7FCBD09A5F60F7F1D3AC6953185A483D0731 +A0735099D7C4C1678906265C63AFDDFC846DCA4FE510CBA51D8EFA4F91E30D71 +DA4EFE6D0A5137283F3A63DF84AD055A290E9F234767CD62AF33323B053B4DE8 +6E103B762F5A22CE10DCFC74F2D5FF1799FB762E7817AAF4DDC008B69549C9B3 +BAF612794B9E7199889FD2AEDDA5AE910F49CBC51C56EF4C90517EF8AF6C2441 +300D8FE73016C82FB530F59423E14F44F368523E0B4C30F4E981FB52E8BE2AD8 +034CE3E9CC0785AB7CE2E6C544050618A4AD49661BF9C9B95489AF27A7631930 +55D48BE8BFA534C2066761E3121C6EEA3DB2AFF09B4402F274115EAF05E3C20C +F999DBE8BF9DF71EA83912E566FE3DCC37278E742902AAFDA30D9E9D312B1842 +D19530E3C0D286CD92BD54362285E921A1379CB669CD68985E4170A72528AB5C +EF2D59F066C2FE27CC1193497A534FC35053A717FA7411F371B3895C1F78BC1C +6A126A6C76BB597D1EAEAA55B1DBB05E63453D37944C4900E2FE7DD34459EDA6 +C53B4BC420EC7D90299390CF339377C34DF26DF9999E3ABC94000B2D142F654F +82AB9F06C0EF750E0067EF568466C9030C6889D1958999FF76F23CF17109BCA7 +E9D83B2CF9A91AAEA7C1A3F42CE25D70A165C2A24A0BC455A0E3BECED1D740ED +6AC6C1326C5EEC202755B37D4619D7B88222EBF0B9E73B8ADF7E02FCC0C05DD3 +6F778D8BACE289B8B1B32CE1C36E358ADF95A7A9484BCBC063C65836EDEE9953 +BD8A70456AE8507431269AB8C189DD4B02987E508A79C1DE72E3D8BB7F0F8D13 +06D814D93C72678BB307D1CCF20516851DE4F013910ACE10B99E1A5067A05224 +B3B5B09BEBCDFB46C6879342FD6CAA213D771402422DAEB1937B920E81D5776E +37A06055D65C2055D563BDF67455F3F8EDCF144F489EE76A5256A46B87152A89 +F84B1D4EDCC43816AD379AFFDB32CBB2D42D2C7CD5BE6FC40C79C78061B83E03 +5A9698E822FB322869936078AF2252858B37BB58777AF6971F822276AC94DF75 +5F2C308E59C71EBA63959DD3FD42BAAAAF50F332332246F033B8553008DFADFF +F08BD037ABFB5A8E2A6C31619F14354D70BACE74C2004392DF325AEC4EF1C0F3 +954C460C35EB76183635B4C6E6BBFFD8EB673E22288F48AA68409D7D8DD713BA +1357618AFDBAC7A28C6999BE00CAEFC9FA5F5E94B9DA4232E01C24F730AE99DE +7B5BC27F3C464816AE98725B61FB0D2DE04119EF111FC5B27CAEB1C4982664C4 +5EFFAB4130E61EEEDA3DFF2E9A3CA2F94573C0E001E415B6D64BF071A2E3EEA9 +4E8CBC24504CA18448D6298026C402469E35F32422B52E7741204FD93AAC08FF +1334B4CDD122C11509C7174C2C142FB2029FB8279056C98F960372233625D327 +174F3E3C8071E29CBE07BFB4AA814CA0DD22B7E8ACABA7CC4B6859E4D8679F04 +375B9CFC16A2B74D7FE3C08D6384B4295F324F6907FF3018FB10C82BFEC6CFA8 +CD74B34B93D7424DD63C5C887C5D788ACD31D6395DBF43CD89147646AD45F956 +AD78B6395B87FE5B89D7D3BB85DD854DDE2D2E26C3C6F0294C46509DC20438DB +961A3F4A81FC2BBA58FC8D3983A0A116F15F70CC78279E275DBB8FAD8BEA61D8 +1C8E45BB676757B4CAD36A5BBF3CE69D9E052BB70928EFE5A1C1BACFFF5DFB09 +B656F64411D6C17243AC491292EB23D25CDE379CFAA434168464FB37E8F70D40 +82801B6547AE0E154313B214ED307DECE56160C6971F4255BCFA95FF34647199 +222C5CB4F8CADCE8AE21E9224655DB56925B91FCDF56BA20BEC7B949EF559D32 +A3155E80BB6FBBEB709848FF02492BDB5552535E47DB21B3AB6CD3885F001238 +2AA3BBE0C9364AD96FE2982BECAD1F233A909C9E8EC6510338D897A538D89D82 +DC95A1D511491FE1867C0D132FADD456B5527E6A7D1D4D75B111B2194468EF8B +C60CFE6C85AE8813AFB3D62336C6DC98BA2D7218262B37A194E8E9F17A23B198 +3AFC516FB3F028AAB2FAD8522C4AE889EF801ABF8140B75CF243EEB0E9CD1E6F +FF8B5A1ED99E4D0F88651114E6CD21A37A173434E158162D2C07BC08690B0A6B +609123DCE11A9B74CF408D38C8E6AF8FAF6381F593D01036549F1D6B75D752E1 +4A98170AE8D85B5063166D31B11B2B14E2741457E6EF028103BDB5DF9E7D3F4A +4F81647870BAB628486C69CF794D2044E9B8D13436CA62490155D31D3498CF07 +9212CB1BD94D7E59E41B7DF390F7CDBE1922034A56C0247834B4514E82BB7064 +75340FBF623DA5F51C801F29A14C098E970851AE078A351B4CDE8CFD7A7D4B59 +11C4596399D648F19909A74AD6958615F50D7E6BE0C39A7C5664D4A2C86BE836 +03D083667702E4BF06F871DB941811E83FF7B4BFC7C5539A82F80A3FFA92C551 +C88F3B21670C94F707EDEF1D23B50C2B357B1E83A91A90C9CDDA6386C8C89E7D +478FE7CF82CA38173A910DDDC5384D012C63E1449A8F674D57C9AD2003576E39 +D916EC388CE80104B575A46F8A2D9EED1975AC1E3DC21D60DA226312B1B56094 +DC63C4A8A6E5AA9BC3F9ABBD668C8830FEF4D1C6B12C9672F808FC62A8CA385D +13A044A70DE73288AE1CCE707C4A33B34450CA34A3FC100D02EF3A6130D6F436 +D3FC4745A17D81CA8B870F3769E542F0B4F9BCCBE59F2965EB41AFB5827772E9 +9295800421C4D3F63CA50E67321847BD478B324136A5EF2DB39A9240E7906D77 +EF06CD600E5184265F1E5EA297B51AD6ED4022B4BFE699A470FB097BA69E9C97 +D3DE0ACEF1DE06CB1C6FBFC43B21633002692853AB2A486D6C8733383C1187DA +49EBC1B7A68C29D6F793B2922A5F9A01C4BC3FEDAE70D3123E5090DC3D1225EC +2FFCC5E54F73817CC3883C8983DA81ABC1AB2554DA867C0D3AE427ACA64070F0 +6CA78E298C4AAC3E86C87247EFDE103EAFDDA42F926542D10CEC31D4F3F766CC +0FC7209004C77C27028821347D97C0109CDFFE0462374FF9965A84EF52E8E177 +6B07D493CD4CEF0B0084FA5F15D82D3EE3CB13A09644BC8C1A38A8DA2EB3A8BA +36813C173600AF4299DF0B3238BF5A057443BD69FD4D2E65EE48274BEB345D01 +E63EFF014DD80E2346CE9D20323FEEF0927056C35E38D7D1464AE11C952C3684 +E31ACD1E20B5EF2351F2CBD1F84D16A0128E8CC8229B60B6452350C853766C8F +A2050AD5B1AB42E9A4B43F12E86391EC7FCA385EA309A035F576019788ECA8C1 +02A621D44D6F03217383FC77E09A81FF51E095FEBC62F5F9B224EA209B7862CC +EDAF59FBB36E85BCD04DCFB15011196EC406CF27D2CCD3ECD5CF75BEBD0C042F +522D0570762E9EC2E66C3101DBE696ED130AC45128238B4ED9FAAB37428D290C +FE5A36D7167AF1C106A1C943069A26093A8A9D6CDC8774EDEDBD461CD54C3656 +76DB25158A38E12194E6295D9F1F4F255B69714411173CA8FDEC2D448147C708 +CB54E5FF50583F5C8552551C00815BC99F98F93BE821BBAA543509C6BEB45BEF +A7A0D16383607655278D7955CC17158D88CF1CF122480D3B8AD783D441258314 +DB3889D81BB2F59287631BA62503A453F429090E15314494C2BC557B3488EC9D +15B7B4043957895C66AD735CD349A30D1A93D8D3A74EA95C2F8EAFC1DBF4D3E6 +9B21DE04B3127542CF40793CC600517D0F66333DCBF259B69C5C8C788BD0A8CC +81E4673FE07E0D4B04C73085241FE249A32C0E52EAA42EDFF3B3F77F37C2354D +36468A4CD4C7FF438049F7853083DF1E96AA040D820B2B9261F55B4A701C64F7 +8FEE86C8656FA8D6C8039227A96AA92B87F37D692662D431F3165A09341D4B3B +AE0ADE2E61A05E3F5C4F71F280A785B64A829D3F9167EB6E3E1207AF94523304 +DF6CF45595817992254EEC85F96DBE24ECAE0CF246C9C1AE55753E175A6C6F37 +8BF73D063CD5507751BB6049F7229A65A17D449B8C89742E2B5125A739033783 +C4900F6AFD67515B1EDBE4DC2CD7E9A4A8D92296FFAB7BB2A502A9A7B300ED01 +FA4641EC76FD7ECFD4F3443D4213157B47DA9115B8877F6F9CB9E285E0289A0E +6111F0AB463AC39B3B53EBE67AD9B55CC1DE3B585E916DBF35957DD1B90AE9C8 +37BEA43E90212926C41786C8216BDB138E80ECF482EEDB42C60C98E33B983CB2 +868D19C12DA4EFD512D61B9E291E779827B13CEE73BBE912827C99A771090380 +85AF7174A8D1FE78AB73D27147CDEDDA3CB68B4A28121D3D7B06696FAB3816EA +28F0E56743509264F5753B7EC72AC84AB16AF7E6714AA00134B406D9C6F28A70 +288E803887FB0A361111C706645901F090F7539D40A2E1F600FD5FE1557D4BBD +4462285ADF2ABEB66352011B3A87357A50027E4FEB55FA36A2945CD9311D5FBF +FEF4F02F7F92F5CC15966707AEFEFC4C5297BBC78EAC05A0C3559649763D0321 +3294573D0FE523B2698562A3FF3B1DFA4B3AC5233313AB5B083CB41524EF024D +F7C8A6E6ABCA412BCEF00D5B0A58CFEB38C30E429E7AF4D54BFDF494D7F0A9A9 +6533A6494F93BE7164988BC9C48D299BEC25F0885CD43051DB1447F410CFDEEB +C540E8760480326E52FB64C010D5D306D5CF84E5ED0EE52DEE03240AC1C45420 +1E0F2A0C3A9DA0754AC3A8383C6B8E8FB9B1A9071C5D7D975DBA15F8686CECC2 +0EBE51032546241A7C3D2613B5CCBE19A7235EE727E3844629C62F5044DAA954 +A617B0E97B7EE59EAA212109922FDE87ACA61E580E230AFAD918A8456FD1432A +78C4943820F16528854EEC042F9F220C089A78647553CCFC39C1F9B40E13FACD +35E97FEC9C87EFC5F4DEBC3ECB056F3AE93AAFE10A6D0B0EB8C62CBC5402E8A9 +09C2569A3A41C430400B1D3EDD3D50434D6D043BBD0FE23DB661B905283DF7D6 +566713CA68BCC67E0A7F2BBCFDEF1CC5D42D1B581673153C3D4F3BBEA8156856 +E2C086830D73FE0C7BDE2B1C41481CBF229C5D1DC38C470D137D8EDBCC78F5FD +7F7F8B0A6D84F4537B927E2D8AD55ECF4828AB584E509E8B6B07B62CE564C3CD +DAEC635ABB55A49A9BE9911D3CB4E2C2CB78D9115E8B1548CBFB0FDD7F61FC66 +85FD677BECAC48A9806BAFFA0520D4B83C45458D6026B0D374C733DA16829670 +4E0B4E7516B667986E33587348C0C5F431F6016891CC8A1007EA677CE7BFB7DB +9BE18EE6FAA0952B845EC050F9106CDFECC63A6B7AC1BAC45C9EDDB879E6257E +AA199CB435E69906DE65994BE620EDF5EBFBF29455887C0A855301C01CD07A29 +344F19B6F849A59573C248708BF8BFE3A45AA9B83A2A3418D8A0E1452F3C1C9B +E4A92F99FEDA6D7A17878C7E2EEFE083619F7869F4181F8776041840C428E368 +AAAC80432F0FE36C7EA2B4840471582ED41942C4AB0305CFB2982FB1269D1947 +C957F1C74FBD68B47F38412B91FF63E78FE29D8179EF0AF5959757AC5A0FE333 +28911DAC03F7F0E128798E296FE60D1B831BA81F2974F0C321EFC6FCEE19A122 +854B29F6FFFE69C6A50558BD20CFFF1E38E624407C319A46A9EBDF7A21B56605 +D7EC065D6ECC3F1ADB93B3DD52B1700725747C15396DE90532B50073B7D70CFF +7CDAFF64D87A751B6128D7657D013D8050B19B3C32BDF8609580706D79AF921F +2757EAD07E3C959872674686F19A9DBF59CBD8CC5F2CE93980BE4BA66C5C2950 +BE9F8C4A89451AFF2ECFB9303D6A020F822B1E230C31CA0C3AFBEAD2CE6D9220 +1F57CA116B4B4B9D745A191C9468651821EB4566B31521F0AC552B983D9B94FA +4162684EB3C9C58C281960D03E6FF2180214DBF9CA9FEB09E67C739F036D79B4 +4FB3DC868D97C1F31150DC3674E2FB671F0F618B2A41F36015F5D870EC88E0DA +FC9D032C8227DCCF14DA0D649ABA71D12AA52BA9EE4C9D7B928139F7E355A398 +2C0198393563F9812BFF9054D122BB50D021247A367E63EC2389C3757D8D67D1 +F1F12118BAE1012569DBDD9983A90543F6A7D8F49269B70C49B7DD098DFBC384 +3C7B8B5FB75A8CE351C80622D6BF735B710A00F64795D4F621EC85ABD2BEB9AF +A392594BACAA85A7214DEDBC3ADCD2BB4E2F7E9E09B644339769B129D7C24450 +89194C1CA688932689D92CE87401347AAB1D52A54F5592029C7140D1E2A6AFC6 +8948B7F8CA5B3CDFA4D775C3407A61D28E1CDB83225A19B6BB7DC0A4DCE32159 +75D149CB3A16C5F9785F12B77D33F5708422F5D99CDF91605F1334503F686F32 +1B47BF0775E6761FB43E2059C94ECCB6E93E0D16E142A1F6E1619B61A359C6CB +51D1BD8C529722D33E73D57ED735EF834A3429315E231B46C5D0214240058FA3 +A0A6E6EBE3BE85027EF53CD6538EA50951ED0D8982EA9243C6E9B11F2A7DA433 +89DF589316445A1D67164309F0FE2F395E30E8504FFE789F5E0CACBE5741D193 +9E05B4D2E1AAFB2B318424D432D3CF22AD0EE5E46D2A57760C04376F4D52482A +D77D35452059A474296325365A25D607D3C9E055F5A78ECBBBA9A42EDD4E908B +1BB87A6989F7E3614430B651C9F7519D4BA67B946B78BB54243CE047E59FA19D +67D79C83C9A21EF98801C25B5467FEC664F81FD9D6A75955BFDDA33DB0940A6C +24706488DF76666EE38339AAD84AD786B2DEF7A6CC9759BF63B3CE0D74D314B7 +A42A6E82C7F38C8423A1442024BB387D0EFD9D199CB5EBFB45B0DE3CF7E36CCD +B0D17100D697FB35CB60FB9344F1CFFB36DBB9BFA12E81DF50493F8524DD5FA0 +D30E6392F65EB564EED593AA1E08BAEC434D2F9AE145588E15D62090FA8C32F7 +810F0FA34B0610F674161F64349350293DD93AD4B8AF5F64E496E076F667BD27 +65101433DA805EA1AFD7660BF4FD218C0E5B9E233EF82992E1B13A32ADD55CE1 +8ECFEA870A95792684C4C3F14E5ABF01BBCC624EE93F96DE24EA9F767B92D4C6 +A932B1DF70F9BD54A8DFAAFB5A424BBA7D3277613E41F3A0B6252F8C55C9B8BF +895589A6EAD159461FB87E7A1E363CF79EBA824EB89840CA2C455E66ED37A10F +6A42CF3627FF17D5A8916CBBDCB6C12C31530ED7EDE8F65AEA8BC3A44B72CF0A +AD9F9AF5C5B27490010A78A8EBD01723F95422FA239E4DA3C7EA564D1FF6A251 +B670F54069BDEEF2078A2DF12410BFF83E3CE78C77B56A21B39C285DB5147D2D +3D3FFEF378ADD1E11FA15817135D7658C7F201182E13CE1D133FCC4194EDF6D6 +28ABB1AA7930CA756A0A47E2AF0F21479CB1771B5B4E5877715930E3BDCE62A6 +88C3E51AD3DCA43E28521930119B2A2C6D37D43C5612AEE5C9541C8395C56ACD +A96641FC3FAED420848B5BC6FD22093F804B7E2227ABCB72C34AA386C53167CD +C076797B927E0343E438E397CF69CEC901F026862DA797389F74CE0BDC8406D2 +09BE2E29318651B50C2D3400BD02CA404F4384CBB85CE614A47A1E7250B5A8AC +D9FA41030F3F290E133D6F3F5BB2025DA30815FEB1274E7FA167A0BD318BE7FF +989C147EB37F89AFA298C5244CBBDB723A1D2CA98832BB67CBBE021D018F6691 +7992F5F159D4A71F8C5F16B67D87A9201AC5DA5D5E5694C748F1FF875F852934 +BC6EC9E0A906875B800ACCE0DC60413335538AF86A2CE9EB31095F2429C4CB34 +DB1928E1DC80DDCBE0CA4DAE8F4514B8175BE0134E08B6EE34E419780D3CED6A +7937F10F55D6F0D512AA7E60B34E974EC993908B8CE5A76EF1CB3ECC3A57D3E2 +A0CAC7E433522E652F5316AD6A7907559AC09CA643A187D898F2F7FC73F16D2B +1FB1B4EF61C0F5B4CBA803DB7382AD0E28DE8C2FB57422BA5AC7EB3F757282C4 +997CCA187474EEA478C6D4500E38E4066C57FFD9688E3CC7D397E4127BDB5E7E +9871E71C910E3E15FE2B5E30517287EB4E297C0508613B2E207950F1F8CEE7AF +E4E21F4231519DDCCD8562A343AC8FED2D67A768911E753C4B2A4797415A0888 +17781966826F040CC4F200FA138E6C1708D0669CAB36634E290F9D7DD77CF9EA +F6849A35EAB15A71DD875FE75D1B1DE444625113DCB53817088179503B5AD9A7 +A43DCADE63AC6751D8158BAC485C14D5A622466D2526FC5915A09AF13E121750 +7188441C4176A01EF5971176FE70039D128E48D6FD9CD216453C416590DA467B +8C99D359F09C570C0F097BB6DC0613755D3C2744885C6936541D80C85C7F75FB +B7E64E65317455B5386399EBB952683BDBF048F7F0BD45D5D0C0D3E7770C559C +24C3F285FCB5E2C94BC6CF07F80204B43D5B28806BD07A02B233565A037D0643 +F834D3BD249BE512924E6873780D6AB7FCDA5128292BCBF4BBA59593333FCC76 +EF95DA2FCF2608EA6EB6320530EA255898716EFDD4DC8BF6F9BFF4C7405F7DAD +30075866CAF041DEFE709FC20133FD74C28FFF52F4DA829B3EA9B0414E3AC321 +7F337F2A8050A7BDDC03077CA88A45710146991FDC135BD0D4E66639524A79EB +94972995D5064D5A816C33A8294B199F23F9795987001069D580E479163A79A0 +AC1933EDF0921546D93BAD519365AD35B512A64441E789EA5FB4C14104469602 +8D52FC9E7D46FE706741773F8CEE22C22FB495E68203CFCC411C9E0B1303D0D6 +0CC9E46D4B3B982D58B5F8871C25DC1A6884727B6F4D636A7F482646CE300FBE +4EF0D47E858E50D1D9CC8CBE6DE2720072D93C8AF69767E7BC09A3DB25FB17E5 +7FC5E0AC3813E2C0CC2A970643840D613865BDE480382869D8126BC7D0DAEB67 +62E6858512A2E763F46C08E9EDEEF71545CEA7EB1AF0CE66E2E2EE7064281E81 +D62DDD8C1F6221EF5E9B82E724AF5B425C4BFDBDE74BCA82D6133358284C74BD +77A2A1E04AA9BB052AED6D1FD9A7699DDF2B41C05686201D4CA87B59FFB619AF +331FB6131A7CFF4E2470C2A93132469D4810D695B9CCE42BA57F91CF69B44D1E +F726650FC9677A6475C893094B9C8852CB6AC013E55704F1FA1F7A38F0CE713E +B1458AEDE7E0AAD8DEFD23CF01D3F32171CF80D2B069CC94D189CDA65CBBFF70 +60F5CF9E8FF3F4BEFFF533382A438809795A15551D4173F59594CFBA4F433F39 +18D6C00778E3D1E30D7909DC1F83DF6347F3B10ECFF72365529A3102F4908629 +F64A8A77D05896B1D9594767A67A2DE8BED31C56FC4D2F97D35F2F88857A5C18 +3735CFE03C45A7915D2BA33CFA2D4D715216965AD4CC8DD1D6E48199FFDD1E0F +CFA5577AAD6512073AF8975592562BFFD8F95F49C67DF43E2FD0B1BF84A47932 +02828475A25AE03E2DF4860AC57AF8310203D02B1BECBED60CDC2073C5BAE52F +4CB863264A10D0ABE5B34BC75AB5989637AA42030E3380CD22A6A7E5472D4B04 +F66D935048EC8645711D34A2776B1904DD7F9B467F103A109B02B17647A35DDC +1620C3D267173D6BF7CA6FC9BAD31400C1105AF73E96BB3C1F1E550A1B6788F1 +9C73D786153FCF5405B768281E0D24D1114C9179D2B70510C1C752B645CA7F20 +92BDDCA7AC6940778D8F9E9956D3472142EC1CC742EA6D08ECEED82DC0FAEA4F +4840AE5534B0E80BA0EE619771FCAD5C031EF7AA04B38332D389FC2DD33AECB5 +2D87D80E106A98E5A30C783B7B2181CF7732D426CB6588FE331FDB1C67179B23 +DF1C45944DE219AE834EE041FA73795D9A23894350652FBA591DB832DBB4CE1F +4AECAE25EB11C4F497002ACD206E6F36EF393B67F4EA774868CF70CFE2A058A3 +6A4DF2ACE6D8BC99DB1DE0B1867611A6AD96ED7802513CE1752F1BEA646BF406 +D2314D08CE5D1BEF977AAB2229C2BDC370EE5C56340BBC2832C8155EDFEA3799 +D97188945564B8F531556786E9E5ECA5A1725568FB0074AC612A4A4846A8C560 +4A95FB356E6CA0EDA3D200C9E5934A45B10D401C6C03121BFDD2B1203F7EE685 +24FD1C1FE1824B8C1831AE21CA0CCF88350DCA95569CDB760250ABE94945E8C1 +B9D951475BC0BC310F6EF14C758D60A319DCE4B8C97A113D1D8B861693347955 +3952769657CD4AAB9CEB98950BB4955E601397C5245BDEF2A70D87E04D1A58F7 +ED8B727A03B20887CB4B4F6CCFED92F42CC244F3695EB8481D8727814B3D1DF6 +60CC11EC906001BFF5ED54DE34F61C3ACACF788DED2406D9ABF8C48EA1D86CDB +5994598F185D30DFDA2AECA290D34B70B872A80985FDA259DD0C01F9AD01E6B8 +DBFC93E20F1545B3D413C41A8D5A534BCE9A69B256D6119FE8C0D020B81A6F12 +D27E8001F8AD781D1736B80953623BA367B0E0AAA9C64C3358373017AF9FDF0B +9B24AB3ACF05A6605619D51AECC12831EAA0B043B3DCDF954D725C61250073AF +E006FE3DA8B8482213BA91B00F04E75D3A19433A2CF1625A6FB263A6B458718F +CB37FF5C098AA077AE74B7F730F111196EC97AD66FDDC82F62E1C35CF9513A9D +9681535E2ED6A070E3B1043C5E26574E2A44F742654361261D08267755CB2D84 +078F8F879FB48106B11CDC5FB74DBF501232B6BDBE983E01E52CC2291E350375 +DE1CEA3688005E8480747915B3CD85D5B8C5D2247683A09935537B834DC2D0F3 +BA051EB7D810B60F6327EF1BFC03AEB04B5FE7467D0B1F9B0DE2AF077DD16C33 +E121737161B1FCA26AC2B9E9A8D4EBB125D91B300280A0D1F7125F4448D6971F +5EB06FF6DFC6A29FF587BCD1B133EED8FDA44829B42BCE7AF662705905E41783 +B9588B8ADD2867484A905FEAF3EDD9171A8EEF6A3307E68E10EF64D5F693DC04 +406D73810BD632F379D9CCE3E0BCB16E59E5D49B0EC27346D17B6D9CC1B4C8E2 +13C05DBC5E234AAF0B5F0576D757E17D9AA390C71F4A8753256147955B48C02C +D3AB182052161F3DAAD87CFC5816D2066B40C262275A0A0297454E79E079DA42 +3156A6913484A0904A6B66024F4A8C56D9545871278A273FC1457066AE5BCF93 +909990987B4911C52463E3E4224AD0335476DD8951398DB146637CEBC6EC8414 +036560A0C70235BC7E7607126B6EEDE262D9F8EC56E77D861896F48A24830F5F +3345B5CBEBEC02AE51C3E9F54DC2BD541411DD3A7A8CF1C6471779BEF4983B91 +4824B4746D8BD5E5EF56F34806C771B15B13A94F11388690E016F884DD1A9A33 +D3A53FA0229D28A07622B9D111BA58C2E8260F85A8397FD3053A7398BE22C0EE +4B26DE41D44E3583B38166D41125CD0904A080222B275C3BDD8A161A05A7809C +F161B1795594122FD32C1300C4F03267A69E41C57975D72AB33443880286B0F6 +2FFC43BC5CA7794A77983D36C0A558B24EEA0B064B4A136D45D1CC85CA4B615F +222531146E683803DD8FAC716AF632220954F4A44753B682135930AD19CAE6F7 +89D6E418258B5CAEF681223CC3E8FD8F2F30BF51001378924075A47916E0345D +FA7EFEBBE41465B8D6EA52DF448346FE1A411B0BEF83052D6C93B70E6B15631B +A3F937D705BAAC2554926803A891CC87F1E2CA00BAEC7898C1ABB19C88E7BC15 +DCCC1AAC809BB4888F51F25375E6A6EF593536663F60E13FB7614705C1CF834C +8DEF77ACC3370D3C8D49B4E3686E131FFA48C5A1C58AF1F46A2C393100ED91EC +6A4E27967E2DFB783E7CFA612D42256FB74AFAC7E38D3BA44E2D27EAF23A9B6E +E3F8FF9E7DB50C64982DC7B5DB4EF7412CACA3E865A0C47A00E46795B17B2457 +0A6D4F609244868AA06BB426B44DC630BDAEA39BC6C91BCDE29CB23948F07DC5 +632CDD785978D97745E95A107755C874753F73B00CDC8D7D50BFD6959F16784F +2326B66422794D4105DE9CCA4E53F589DCD91D14DE5292BA12DDDE1045A64E84 +3CC4962FE5BCBD60667796E94450786A8DEC257710B54928184E914356E257B0 +4496BBBDBB618686AC2FCC7194B4E3097BA5B00DE65BCB63372A1EFA009BF9F2 +1678296DD05A333508C7BB21F1118F014981969B9B0C2075BC531FEBB67338CB +85505B982E39CBAF3D52F72CDF4A8A7E6317CD2BCCB3A1FFDE9C8B15CFD5E6CB +CA49648675DC81EB119D454A22A2A9025EDD5E03F6855B9282060CC6B4226572 +16A11DB888C59A8C85FA1CCAE07F1BA23535353AB317551192DE9489A360669B +E76F9306AF4AD8F7CD2B480AA0A2D7440DC25503A3CC91F35BF762D0739C5735 +F76D094A23217986DCB14208BBB89AF0A74E21F777E3F004CCB9DD7BBA216D19 +0954D336EE859516724CB3FD02281AD47811C1688854D5D0A3DB4CB4CA1F75DD +46D3D6432FA72976ECA30D24EF8F273D9292AD5A58D525A066283274457D4744 +68F7404CD4FCB309C5E03EEECF8726425229254DCABBCEA14610F538374027F4 +CC9F5B7C7190B73263081053289AD19E6D7A0B366A96C88BEA99390F95209487 +462753E50D1BA2DEDE78A5B6C5BB6185E14B47F7E1C3414525C3123D8852CE34 +E195BBFAA233FD92CBCAD06D2A16454C1147C18B2E892DCB8FD84469DD692FE1 +B435ED5744440808CD825CC657091419F09D86EEB4B58775FAD222123B482D19 +C88C9F5ADE33574C5BB4EA3292E2399E0B8AFDB1EB1895EEBA53864AAF8A4B08 +D3E320DA2E6348A9B79F3A7B28143E768909A437FDCB0223557C4362F57D252C +DF6C652616BD952E3E63B8EC62C435A0A37F2947DB22B5D19338FB7D1ED8ED6D +283BB849C5D2773E7F97AD35C749CE00D04000502B14C3C4B68AFB5E4A8CD7A2 +88E91E82A860300A67973E699633121554F81A09C54719F6321B45CF9A7D1A7F +C42B938210019DD89C06F01158217792093E3734338B67EFD796A97527094752 +A4E0D46B08AD26D7E43695E5931840411BC28A1CF22A9356666F17D121619823 +12416A4157B6AE43B35C134D83E5C6DD70E0482489641ECF0BA37719DB401C3A +99F66E21646DC4E23526EA20A72925CD5F5FB39D4D7B7D5AC6DC6E395F6B2E50 +EA74FB888F9576521DACC7C538A8452F3CFD462D2F53CCDC2BD58E3CA0EF9A2D +468DFC19CDA116D53FB78F238107F96FB7F585041479B4C26E43525E073A1D93 +80542A78C7DD8E7DABDE1EFFCEA5FA216D1AAA0B25DD9BAE6AA240FA3375901B +2BE00F1AD27332EA1415FA315D9FF1E2F2C8F515A185809ED1A0E97EE8A3617F +1C435DB1FDC78C0878CBCE746AE4D26FAC950EB8ED9763E636A4227D51384061 +28D1F7378A85321E1201498482422ED2F8CA0611BE3B0730FF0419A2E6B79977 +CF614EBB49EF259DD9D4535C00A6B0138FC60FEB8EF1AA39E7A7007C3E28CC6D +5C1BCFBBE3D7C1D33418A59617C47A6162A248A4B6959FEDF2D09A1EAB717374 +574154C8416D99CAA0D2FADAB9F251FDBF05A7DD946C5398B27103EECCC35413 +DC0EC12F7D85E2116A92827EEEFE12FF617991B97A2AB117BFC65012A7257835 +DBDDE5E5C0ED339D7FE87F3F98E4785A5ECD6689555E05BD64F8259E1DBD6F8C +08EECB6A841488AC6FFCD2CA6F7D50F669DA6FC788FF2A3249BB42A7E70E4E57 +AC4B99F2E645E12AFDA46FCF62D7E95F368F2455E40CDC82CB0AE9FE5C2DFFEF +B19455469C9439E18A5E4F62AD48C9B881F5FA487F4C940B6D3CECE0777C0198 +2CBC92F42E6E757671E0F0507375C3366B5910F3917172F270B344EF41931993 +8BA7F37A77CCEFA895F5A6B6420613B12441CDB041D442DA83C5DD1C0D93FE68 +30382A9E7AFCC10F5F171DEC3FB7107D6337201E80836C6FD97313A5451B4A23 +ADFBEABC6E3C43E1170A292AA2F6274A979563E681DE6ADFCA49585D1FF611C6 +D827CA9641597B2152A09521D1C7F039DC975D0DD17289A73B9D786CFCF20132 +34554EC17765FC37C765D472F9FFBB0E40A1B95CFA641A01AAE3447A1BE9E190 +022A6A04EEDDB3189B19E995E0D6B3AF3A3236474E66A500EA33AC7C00C2A39C +75918C365D5FA66AA2B6FC0A3D529236D44B3EF1652DCDFEC5A0A410FB751AD6 +110DFA5F7C25B0B9F9AB70350B0AB41ED01CC34FCA945C05443C9CB70FA1FEC6 +8B05CF1BD35822D3DDF3BFB27DDFABB0074598BC44993D19A3763F5EF055AE5C +2AAC12FFC5E4C0F3FD025F0AB3E350A3735F3C72ACF09B9CFBB86D18113CCEFB +FA75A859779178762FE8F0649CD2722435190493044BBB32BDC1635B69CD9202 +984B0F2C531A5E2DC2A8E03AF807687962F4D17B8DB4A8A07C2FA8C408C21DA2 +9AA40DE1EA02F3B189F883032E1E831D3338FA58E841B0C4ABED073B0ADE89C7 +106E53D06800CCE87AA7C5495A0DC71DA033DD7D7C710684C794AEA56B885EBA +796DB4F8B9E1A701AE7980BA0D2537C26B994B31C347CE48AAA0AABC425D18FD +3BE8C583ABCF23AFC8F2C6594817868534988111ACC83335498FEFEBAAE81632 +91739615B2F10BA4BAA9EF79295E1C1792ADF88686C3633921892385C7D31C44 +067E65FD3893EB104D73CFB31FA45BC056804855BA15D2BC739C847C471E138E +A3582FD7AEB8EEEFCA0F3F35B56A849BAF5AF9F5A37D6B021D7BE16D5EB041EF +06DEFCE77766E17309D7E2ECEA4A2E095195D7BD536A231AB066FDE0D3B8AFF6 +3E172208D460E9D21DB48A92D4E25FCEB5F31624E4940B5F57EF80C4BCD764E5 +C82B8E3B15440A93D6301054235E882C57E63685781A6B437624C4422E2FC8B9 +991589B87AC6970D18367CB6F63803F530E7066D74B899A24DF2D31400567189 +46D0DC2D9C0E586985B1C710A3896B451A61FC300F1E2FCF340C9D5CF8B5B200 +99F76CBA9EA5779F9B31AAAA9F45DA8C802B5AA07956B1C57007B0AAAD0D4248 +35376B0B4DE352F6D9220716BA86E44E9B25489AB334E8EE7ECAA84847A48B61 +F14467FC335F5DADEB5A54A95065D73E0BD2CEE68FAAE893FC68BAF182278976 +F7B725B390C097C357538D3910CB2319DA8357AC14A9C57BBC1B11BC9ED55A58 +E98E4111B4E6BF9EF55B447ACD8F961A348CFA61CEC0DEAEC09CA66087334DC8 +D4A61F39B13995BDBDDDECB872787E64CC086E09B629B2810338443630F5295A +05FDDAAB61789E22DCA059E1FBDC688783331381AA68A631CCCCA7AA0C75B983 +06880BC54D7D83B13584F32920EDD07AFF7A81530DA137D8F4BCF91861FA194C +C16404B6BA75FF09B999FC0B8AF4EC949504E4788FE771859D346A21E8718044 +6F591AA968AACBBD2006A63604F163E8BF850B0FF583187CE97AF49EFBDD828A +B3CCBF789B8D3AF95A7AF03A33C3FCCBCB411679E784B7221B3AB691AA0DA338 +E50CC6DA3155657AB91C6C45870F227D52DF17F4D357A8A7F9D355E50944E560 +01D6BB5B4B662D1339A173D3C35DE10AC00FB3275A61E3F7448B141A038D4F48 +2B0845C9E1B2BACA06D09987CD5D907BADE55A8824804FB04CD2211C4812CD28 +D7F0CB257C5C2DC77885AB4006A9E0E38DD21C182618A2B988E6448A39D496A2 +A6895D1E7722897A0E507C5437FA01247F581DCC35ECF5EC1BA3333A7C58324E +0E6ED9291FB967003C6A5A93721FD7C13D8E55ABFEE4FD2DA029B5308C171BA0 +64525FD5D307E002700C9D165E957B1DBBF9D48F0175B2FE24CF82975C120792 +2B3B88326E1BBB29CAC603C6EA3E9DB9F2BE6CC096C2816507DC6DD2F2788415 +4122E980ACE4845A4F7CD3FA4DF10FBA5273541774AE556BBAB68A964EE25D0E +E4FB02A007C42925E4603FA7FE6748DAAA77FDB1B0E1E2C394B7A21FF79154E3 +CE4FA1C9E33490A3F706EDA0D1668FAF72FCE85CA7A2BD75731A0515AF808EC5 +661FFD2E3C2565D97528E994938909EB58880CA5D66C32B7A5E9E7768D797CF9 +D06432495ED40B5BE74DC3748AA227D58CEB19CAA0D1C8D3660C64978EAD626A +088CECEC2285510CEA5AF8E1318FDDCAC469D258138B8F8304D6EFCEF9C0586E +7C76B3A45BE7520CAABB0EE2CD07555BC9BAE798E3703717B6787BAAF5CF6A7D +A49B586D54A334B266595A128BD3D612F139C1C69D9AD6BFEEA6D8EBAB504905 +287716BA7C82E2AA685D098FC3A90ABD501C39CAF209EF468DE9AC27FA299B26 +C2571A8DF8111FA11E1D13A630FA94AEBAF6E5B1DF136E2CD0331AEFCCB8910D +2588380915F22084B14FAB124A52137C5F457D2E1C1D9C14C298D532BCC0CCA2 +8391B539DC198C3B366D3A8F063CF2A4A0C7093E5705000FB2DC05AAC5C4EBE6 +BC2D5BCFCC03A42EE085FB69A5632339965950F9E806C4999D457EA0006759D4 +2B1F2DEF9F24883801AC176D00D34D8CB9ED00AF190DCA6BE03D395A3362A39B +F5A9990AE5722599035CCC7784FCD2A8EDD64E1077294510E12F3443F5E6BE63 +E67C14B73AE7AE6816975553CFCC145AB7710E8259B8435E4A55E894E11BFB33 +458D96F5AFFDE32C49CB2AF01AEC88C743CCF08CA9F86E83BF7299B03C1B16DB +1878DBEB536E512B27620E35B59B534ECFF5F52AB6A65EC4F51DFEB3A025FF92 +8C6FCF3891FC5DA011F20EBEBC7CED234432973504666D943D7AE15003DD6375 +03FEA2D46F6352C32F355DFB5E5B64C0C20B7118E86E6AB01CA3917B270A28E6 +18221578469A9D02BACB0392D6886C5FBA5FBEB71EAD0CB81A245AB482400C4E +4A0DF7B891A77201F90A8169BA36D489D339D1492FC111FFA51CC03DF616DB90 +96643B69E0D0D6172873207DB228308A86717FDAEABA7B439739E178B67B819C +E1B6421C735AC5F53FB305B7D71C48F9A146116897FFEDDE5698FE4A854AF778 +D8732727E631C729D016090318536706285938ED8982732B1D3E4002CDF2FF12 +A03DFF1E1C1ED82CFBC21D109B00FA7127CFE62ABB4F684CDC9503E1C4346B9C +E6272A0F10CA9099E983306B1FBBDD1059494DB7ED4B13AD1820C414E793D8F1 +635224762451A1E72963E1261CC2AAD289BC0F4A6AB07F89ACC05457EC685AF7 +159EC1BD52F596FA1637860BDD01FCC403EE05A0BD2305680BAD6D66CD070E2D +62BEFB18788707F8AC66231871D38043A29BF52B171D0ECC648D50DC0F9978E6 +70D7332872741F011BD8424B7D54D2FDBFC949EB93B8BEC94B1C19B20B6CD2C7 +4ADE7C3B0ED39C5A0211752FC0D4CA5427953172C0C2920490897478E995702C +B5C23CDC75111AE0E5C0DA0B5D03110A2CB4B67B3694D8421AA943894B46F6E9 +FF670C45ACF52DAC763D55C66A899C422077A567AF4E6E436D35A2E601118138 +B812D2E180C765D7B1C6C73463EFF982313DED172523042A162CB9B6478FD012 +9F6B81F3B3CB5F9A7F661C0058A867A2FBCA7C81FA8A5FE34A812CC70C20FBF4 +344A4B52B77C6AA793706196B70E0F0DA08B686965A9DE3CAAA98BEFED16162B +A3C4F6F64074F6D11DAE8159FC668A68F68C0653DBB693F047FCCE71651160D8 +996A220370D6CE471B54624BBD408C67F4237D59B2EE62B2CD8E62393CFD7ABB +028FF793C4CFC3CBCD09F3DD2DBC1D5A9FC2B13A091F46E4017CCA631E8E12B9 +48A7CFF2F941A2583CBEAE924AD08A14ED311EAD340B40E09BEC9AECDDEECDA2 +FD4F17529D534BAC9B77F4CF5AF1348023E88C597AE0DBBE6F49D08DB65ECE78 +340508750E3290FC4B4F08191CA83EA1169B2FE155FBCB01661E6D220FA9BADF +D05FEE8358EE413F71D4A23F05E416524BAD5A14EB656333E3F9CDD8FC40537D +88F26A6AB798B4FB6C1DC32205E50D0017577E9B4830F428728A6CEB4F2CCBAD +F18408860EAC1129332CCF4417D7F260536AD277133F0B50033305FFF7FD9FB5 +AE5605F39645F5CA1191213697D89EEB2DADC9740425A9447CF927AC6AEB19AC +D31A2DF6C25CF8BA12BD68B2AD2F775EB95841B1300F68F5B0D0762D9290A0CF +66DB331D54CD5C15C1893A7D49B7B48D0E7EF39F878866A1344B382F30C978D1 +25469F4E29B3CE0C798192613BB1438648030CCFCDEDA6B00064012A605E2BC0 +C19EBDB81D3CE91CA9FE3408E3561D08F296984EBC824BBD0915B7F538BA4B38 +F3C37052B8897ACD9749F7BB343521BE4669DF63134961E2ED0AF49803A1B369 +90F366727642E8B492079D3F4DA7D67D0F9E125A9683A81D5EADEBFE8CB9089E +D75912C89CC5CBCFE881EE360C1AA58A2C49C65FA570E311DDFF160E8892D74F +917096DB30A13CD66C029C463D4BCBAC39895AAC74332669293DEDBABD36DA31 +BB36A37D2F43EAC230C9BD1CA0E705FA5D917DA53D676128D2A3B4ACF0F0D04C +ED9AECC09C148F0591A72D7EF678ACD53CFA1D75CE510DDADF399B5FA9AB1CA0 +029FD360336E225DDB5B15234392CF1DAB79FD3CC811838FD0FD4263E2F7E4EF +73A9525F03B408C0640709364B8DCBD69528B1E00E13755367D4709F7EB148B3 +D69512F2CF012F877F37010CBF963BD6FA5995C1C1D0F5A599B6EA687F76A066 +4145F2506FFC8DEAD377EAA71CFF6E0AF437D91CA43E4252FEE8CBDAEF24E27A +C07BD9E70C3602058B206AB86E0D3CA3488EEEA377A61D35E98C6EAA8F6B1F07 +86879A01E33E448DD68B71F074D8D3BC834C1838D6AD33F1139B2542C45F99F6 +BFA70CE213EB692900F1FB4FA8B1E9DAC28ADD53E7F2223C27274540323E491A +06404BF9D82399B9897AC24E8CF647D2860D73864D729FB659B6C007F9023969 +C4EB36EBA56887222147BF0FBA119EE4BE338520B53D034D2F4183767303CA45 +33F11EFA35391DD1C77AEC45CDF13521A00DC98A463CAAA6554206B02A8DDC42 +8D5512DD9FCB205C5844F05A719FE8F590AE5C4991646B0995D21D17F422881F +9E6D805D88F7121BE7D203C13BF4411FB2755D0BF7E05CDFB2CD7BF53E61F0AF +A37149B768CE79F0827811EB7CF1E1E90D911E491A1BEC8682C84E26093D81DE +D88FD904FF5EAC540AA73383A1C35DD1098FCD35AB807F673636C4874D477171 +5CFE9BAC79A48DD52F4F86494C39726B9F261706C7DE8A09818905C17E27E244 +6F4340DD93D913C6F0FA4AEA7C387307D0E7B799E7F7CF16A76BCF6DAEDECB0F +554C570F29AD9866765437AFE762F94B06E91E5C7646852788168B3FB85CD737 +FB611683003AB7374EF94FF151866E48FB30E5C6B95DFBEF4D79EB24039FADBC +6A0DA5A135D5550B2C0B0DFE097FCF50B06D19ECB354A85B8EA4F3E0F297822D +322B882F2FF6DD98123E06538488E1525D928D589E9DA4E5CA5FA8D47DEC80E9 +FAA0E07A8FF7C3A5DAC92CF319F2A587DAB434FE742FD95E13598B7796685896 +AD1F6125759C192DE9C6F476096F066A89B7E1698E7F4A28C85B74CD460CA3AA +B1C8F78FD19961B5D4550341355D47079F0DA1CA5A10D1CA171346C65A4E9772 +C9D2481B0E15D5011D1EFC23E4347E48C91E7F92ACF390089929CCCB9B51619E +D552A5BAA1DE1FDDAA705F22269F9A8BCBAAC8A5BD1E1BC6F6BF96E99F8B6AA8 +78BF5F6B28A762A6F03D398A40DC33AC081C3F07341B864A5032E2D83F0AAA1B +C792616D0DE5AB11EF1670361A9D496EC6E5EA44A7EA840FE3CEEC82E5DA49A0 +60FB846E335502CBCA420CE11D3B27B6F7E0B9CF284E4D07B4070AA9051B151E +FA0C8FA2EC3096A71BB653341A5233D5DA97DB0E9BEF4C5B73900A08C4657B09 +203AA6269D0682F71BF46905CF0CCBC0DB6545454240AA65027F209E087771BA +4BC2BD0D11C3DB8A1B57E0117C36B6AD3636B19C82ED9B09B5136D17E3E2385A +A2A816F4327F596F7AADDDD2EF687C293930F0FC12DBA7F218B755BF379D77C8 +973284F02BCC8294B506BD5063C39ACC68D023350D5764E25E6D88C08E4F6A52 +0DD52B8BA36369587DF8E44072391576E6CAA048CE55449DC2BCA9CA1D0AAA0B +8EC763C4DC6E08249E65AC619FB34B63E3681F92DACCDFBE9F227FAD498A7436 +C40C9BEDB516DDCE96EFDCE3C11BF507183A89C853CA3346286271CE6C352480 +7B35F0ED8D2D14BB101769B82CAA2BF0DA8AF7C53ED390D6C7AC397F78940941 +F3ABB79FD38C3CEE5954D86C492387959EB33D1735C0462D1ED65B4342D84E2E +13B0014E642D0F560C84A37D90E2224F207FF4A6624EC46BA44C3E8E471B8B5A +FE71C8BB9422B91F05D4D9FB9B77811E013B0EC5B57E6CAFC71E337136266135 +3E31FBF80F7A623F0F6F2A4B2B5AA7C6E69672D21CA7CEEA8B389B217243CCA1 +75F8580D7816C7E541C33113DF5702D0FE6FF3ADD72D21EFA85CA756EB061BF3 +7962CD05F2C721111F446FE5206022C309EC3A227D9E +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFRM1440 +%!FontType1-1.0: SFRM1440 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm1440, tcrm1440, larm1440, lbrm1440, lcrm1440, rxrm1440. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM1440 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-178 -319 1370 944}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E4875AA6B96583CD5632BAD9EB3D511DF934CD36447A31 +D420FA313B5721C37085F478B27E13191957AD30B8B082BCE733AF8402AA3B7D +EC69807BBAA8142AF1CE151D99F5A59AD18798F94781EFAD48BEC8C62C05C56A +336D71AB584F6DF014C56523108606FADE931125496247870E980A65AB33C0C6 +D5B074864D0F58CBE333EFA1201AF335FBDBFB1CC8B1294856C250F222BFB8BE +5DE74F808904F7678552F213C674497F829E96812D340939F73737731D289801 +54E5A8F7F5067ACD9D768F4649B51E54513F2F7878141FC719627C23FC5FBBB6 +3F663343D902E95C56C559B588088227B22378FAAB29392FA62933283D2FB2EA +FDAEC6C1A94ABA0B5BEFA1E728A2052434BFBF6D9759D02A2C6092D4EF794241 +CC28BC939A424AFA193F96530985EE89E2731F6A99BC84C6551A3FEA1342509D +D389F786C8EAF972B8C98B79003B6C71E6696518BE4CAD2A317C5D29621031B4 +00A035445D8CFB67D6C136B3F6D82396E11A3679BC82498519C27601236F1FCA +073DA7817B529424CAF49A0AEE8FF7520C0F204A3B1725F46C2C6953C20E93B6 +2F3EED0EEDF87A350CB841516107D9571503A3D62A2F81840070D43392160783 +D111F3463760EBE634515DA1A1B6C3A5D14FC475F277BAC792FB69B4219E9BF5 +E6F8520584096A7B7BFE439A1604C2BBBB85471EB8E1E14B362891DC18525949 +E4DF9FD1F089353BD1D79E0E27DD9AB76AC48548BB1CB4FB83132059A4C60AA0 +82796A3641E7AB20C71418E5AF3E18E07BAB3A2952D4DBF39EC35FE37A8A7965 +CD3A8D040A19FB3855671F07AC12FD84BB3D3C7D257FDCA0864314B9EF98E221 +48D27945597DCAACC5C78220CFABDD2F71DF17D2ECB26B273704AF5EFE4A2503 +82DCDB836B55F212F19C2A5D23B0F0F91C29DF4D780CDE769503A43B6824DC95 +6BEBEF4BD42CE5148E2E8A6FABCC3BDCEDF0C0D6DE52905B69143CFC0E3033EB +AF4F1A66927F0A67BB50B46BFEE44785B812D8B5BD126D2F0B0E155DF8B41150 +5C4752C387B9D9597313822A9591068153AD5E1ACF22A8AC8BC6E606A7EDA19F +F235A1B1D92C9048EBA6EE668F1E896F1F9E1E4F6839CF107528644165C4AE6A +9664F798EABE3095AF2CF44C7889A31A4EB49C93B637D314982A922AC80EEDE7 +4532E61F0A414824E7D3D3A541F29C163DD4A6FCA9D574718B98242EB54C02A1 +C171AF3DCC112DE733003275C7B0CD83B1B29767D18B3817C4BD86E452016C9C +47D191A10F10DFE650760F0CC40799D7FC06D16F028A304E0EEECDF6C5C50274 +B4B1C7E6A48D18DE6EE1D7E755F7061E25A1F47DF2767A6BF81F124B923B7814 +539E6D297DBD2C462F673051EC33B6D56F5BD022F4EF4B5B2B09A1C9F485D643 +F072963A85D4F8227772F4EE8AA7BC73BD23FA168AD5390B54C9574B6D9BED63 +F0A8928C0C06829558B665A0255A3696EA7F933FBB8306E5B5A64E5B65CC8020 +2F13851A7D82EF814BD296140C6E7B4CEBF2B60B014CDA35ABE1367341E2EF2E +E5B0E394C5C86283EB497AF713ACAAE06FF9882F2D19862612DDA2981AEC782E +66F22E5ECDBE484B0D2370565E1EF1C37C82CD4F44A84198F452D839BD62C601 +08BF66812654A976F0690B6855DD4D93B75AF627C0356DDB1615315AF28355D2 +6C87EE2BDE151974ED38A0BF7614E76EA86B408D51CB492A28990E43B0D34777 +D170971C0E540D53723E90898543833D5EF0EB03A043886A4285269F53D34BBF +58D467514988BEF2B66CFA2083822F2CDBCA87A1533DB0EDA6440BCF74E52DB1 +8DC8FCB26B3F8299146C93B4B5610F5F1B69B4BABD13F4515A4D1CB249862DB4 +B6DA468475CE4A11679BD279CBDC056EDAE16884CD13FA687EA73B86023CDE55 +15FB84E4061B05B22E8BCA468994FA22D64D75C67AB2ED618FF480358FFF3A08 +B13E2530BBF0E1B4D899A043C64C860DC33BB123FC9D031B2305F0F5F9F766F2 +D67CB10682F8DC836C8D05C11C947FC65350DE088289253B7B34C7410293C807 +480F46C21989A09F9F9B36F8E112E69CCC64B6DBD117EA4C4AEBAF0616FD824A +2C1941F1EE7BAB40854B5C485A06EB118283F7907A829EB9B316C2B256EC3C94 +C6F7FA2D0AAF03297DD579ACAC7E45DF14F44D1AB2A79192EC0D57D02353236A +1BDCDA9D6D0AAC8815F986DBC340E54000DB9B9C9B512A591D6EC06F66AE52DE +02D2EAD21921F975BFF5F70AC946951D3FBDC435116748EF16F5C652DE4BCFF8 +31B9ECB20C9E9896C7615FBFD571194D1220F623191992BADF5FFA28F8467581 +A6FB4A16087A0EBC96511BF4FDB4C1F501BE45F4746B6BCFE2EF18DE8E8272C4 +B9A21962EBD0E9D5EDAC021CDA82ED6B602214112BAF5E8AA09577EC6C89B429 +AFF2077439F378CA63501ACD55AA40B796AFCBC9FAD3E25E00218D05F087180F +CEF26B8C3F9BC4CEF9E178684143BD560FF65327A010425AD427F450946F6F84 +386150F02E45DD3BF0F073DCDED0BB512BF7AED3B59A6F1A07D507EC9FD16BB3 +6D75396C10B860F00BCD5A7C108A688749134752680446F888A9F1D56AF5D466 +0BCDD4369882D4E588043BB5F58F876C6EED19A5987FA54B40DA37378D87A810 +EDC6B4E86385F813B452F25CB85317CFD5AA48A8F8DD351882D1A2835504BE0F +327FEEE42B483BAC09DB560AE4A17AC2985AAC4291517EA4B3F4AF9411819EEC +F84153544AB2F2B4BC8FC5EC7081457123A5B05E94ABE9DB2D73219476ACC1A7 +912313796ED89F984EBE3650F2640205DE9C3DFA592B81F8CDE170201C4BB053 +1D4F530689167B7DCE2E42F32B121C810226CCD80AF416C079A5991AEF9F7955 +85D5FBC9E8A17FFA5B88B256ED641AABA269DCDD24DE122BA63CCF51B070DAFC +00C67B49D501CAA5B86CD25FD07D9B8C9600EE03507397E65DAAF0B0B0749E05 +027D5493A806A353E32D3378C4A9AB5C9B4A7E2D80539C7C4D26E2757240BD50 +608A8314368A21E37A31DB84209BD8885470998982BC0C57E6CAD01C28D09D01 +776436E2F07CD4EC408D5FD8E5A7981AEC782E66F22E5ECDBE484B0D219BDDE0 +82932182F83C4BDDF163BAF4EB9C09ED733CCE3A613073D28515CE6918CEBA17 +4BFF6DA4523F8298CE381D567C22A1B09B5DDC97AC3DCC1FAA14E557CFD01E47 +7F5EBAC8CCA2FA32F58781A04B435841F63123528081675B0B825ED15589CE49 +2D884C08661B1FC11C9598EAEEB20F7CD996E84D5E0A19757F2241781E960EA0 +AEE3CC6E0195274565B5F0CFF08CFE3515DB1B2049FC75A35C4A80904F1CF3C3 +30F68205E2650B94BC0C5D4FEBA843AAC818578EB4A5B62F027CF871A10B59DC +915429233706148979A8B0A3F62B37E3020300719140740EDCCE23F9DD1E844F +CEAA98C5CDF301B370A547F41D67DFAADED4D67583CF1842C75922980FB9F0B6 +94EB8C7E35258572B07B5E6DA03A1CE6577D120C8C884E733C81679A7636CBD8 +9280F31461E586581770F83952F50A94BF6A509F55C87865C661F589080FAE01 +224ABD39ED91B4FF6DFD0411727965C758FAEBCB596771F270BA9A71C33D368C +E03E723B8E9661FB1F7B1128990701A7A98C53ABCD4BBE2B76F03AF839F7B3F6 +4411CA10D20ABE8524481A9DEAEA23BF38625B87358FB2A6564FE7B35105CFF1 +6DCC8B88C78150E60E8853B4E83842417FB91C66ECA1A87669C4B76028C284FF +FE1C626089978C8EBD85D6FDDBD74B6110A081E0D95DEA748A6EDD306601B8FA +5E4FFF3B50336C56A12E941030549DDCFC514DA0699643267D78C262F7C24D57 +B438BF66A2820E6AFFF1E130BB2EA6A8D35E94282B3929BCBA0D2CDC7BD0022C +3378B8399D207AF72F5A50B37FD8E11130240E5483E01637152BA948E1EC459B +EECDDDB17DB2FE123382320756156ACF6FEF2A3D7690B054DBA04D4354E1D423 +DF13C522797B7D71DAE6A6EF1D23B50C2B33937E2C3A6F4F920DE2FAD383A2C4 +705A21F6F12752ACDEDB217369EFA3348F9E2976659A76AD3F388B2FFC563024 +205C9F1796FCD03122D50F769BE27D0EE36E4EF950D6C0B07CEAA48BCFE3525B +3AD83CA1303AFD84F39355EC3E5C1F343AC2F6071317CC36E9BDA5CB7D93FC42 +992345B8793F48CA8C26F80F4824DBE03BBC46DF88DDB70D0535D1BC8D88BBC2 +46E1FDC16AD0B3F60BA1D57833E97CA9643D7EEE4365D5C807298D66CA7B0EB7 +875A1B125267D985B621FC39F609F98956035877BC04A2A6CCC73F7D8B394382 +46610693BD95F7E93B09B7EB900C02C76A1D58AD90A5482C2E444BFE08C9D318 +30EFE9DC7CD4DE6CEA6D5E8BD5EC5A3637F41FC7458FCE101E307F7BF6AE2927 +3EEF30397407B2FF9D23B193235479F0D8437E09AB5ADE38E1160368778A557E +D09C2D35E9B58C7B3BCDF87F6077D8C4423D10F8A736DDB7D2BDFBAAD699C74A +C16305389F1235AA26D3CB39150243AFE6E66913D3A895BDF6980ACD233D8056 +EFD67343990A15C4E2BA17E4FE9A3BD773BB09DA0807D0B38C79688D67132768 +2733F62F3327589A7E03000DB9EE8E65092A2388B652802A64B2E1FF79F1D3FC +07EF85862F0F31939D505D2881EA65620690C78A3DAC4B7E091DCE521CDE7C86 +DD56D65266985B7FB0896667EC7BB2856E1E9905D4982CF6D2B765E134491338 +C808E35FAA43757866ED2CAB51089E2814241A9C997D4E73D4B3B36ECAF512EE +A86DB1E7737DF4D0CAF7AA3D1C010A40A2D678DDC82E586EA67A010AC6052A54 +548AC762C452DA8F2278C22CCBA69C407138837F1D2F109C2D67621B6EF21D2D +BDE76CEAF3DC21E1B0442B568ABECB2594EB11331C72926796BBC93615F1F3E6 +8BF3AA81126A7F5F089E6AE8D58C4E9AC13F1B1DD5E631CD2E8CF306CBF79B11 +A249E1B9C1772CA11C732E14898337FDD1FE54B5EA44570B7FFEF7C5F0618795 +B1B3CB792E49FB9596AB5013806B0051A3DB0EE2F9EFD7EFA3F6906950E1BB75 +A02588E5222A07160D28C438219956AE18C510C3EC9DADBECAF085D96D393D94 +914A40B179135893F2CCE85D4D2DFD6A1599FDADF3C21F161FAA1E28EC28D50F +A1022C3205A1255A9EDBEE23A55FBF610BCD24ACEFA5ED22CD6E28CF38D37645 +0FA9C7C73E2AEAEF83ACC988D73B4C61697016CA5E90658D85A60C9F9385BBAA +F9A808FBECB3E306B060F9DB899852D635506D3978DA797648968C095F790AA8 +8F335B390108BEC571BCEDBF4CA710C8A46B6C45605681AEA11F9DCAC1831DEE +40BBCE64AF9477454205ABF69816E654ABE4CFCD3ED8A1A2F2A4C2CF19F51A76 +E58BDAA87993D2CDE42063AB5FF7FC0EB2EAB05393FA10EA4B6F42F1C29703D8 +0121801D6FCE3BB17ADC8597F0BC87F7605CB4338A6294FDFF0A4DF05BFDF958 +2F5BCED7CEB37EBAFD8206E691FDF7C14714E5677F893E2EA3A50A3520295B06 +FE4C76529E02A585AA57E38AFBB5932AF73944BD875E62BEB43BCF34678484A1 +6ED06FF297082A90A2D14B53245AA757A208C68F61D37B1C1C5C719DDD7E59A7 +58BD72A27F6E8217C72FB291858CA3A619BAF5F735397407B2FF9D23B1932354 +79F0D8437D5EBB49BBF294D1BDD3546C87C041F4CB91165343A525E6038A71F0 +0234920B956EA143394657CC787466CB6229130061A6581B77B91328BDC9D872 +F9879644D6D06B280D928B87B671EFFBDA6FC60D592261A181AF102402A341EC +5660888068E3818EEE8F77F2D24418F03F2D9F06194229D2F9F2FC88CB2B4709 +034E24DB6553A025F760169CBA1E4334D72374D4E8DAE4717F17B86B4C6DDE24 +623FB950B5AD36C5461FEC830E7075AC75B812BE81BAE0196AA209D1CFA5C825 +4E03AA3BD8E5624366E6540FE896E01C68371202ACFCEDA895E30FA0CF17E0FD +80252AD76EA35541881381768E12BD428B67BC897D8F00B2F80D65C960AC4D52 +164DEA4A010969B14DB7E2FF7B2215C3A82BFDB44DA4E54A8F84C92FC373B022 +84F9060C62A29DD19F7E425F4A71E0ABC51FCBA6005E7862DB9018BA8D8C8C77 +1F3B74C0ACC8DDEA1982F0A6F59B670986C6A81009D3C81A0BC8EC91091CB575 +ECBB38CBDCF48A1E0924E284DC8B48AC15D0DA08BC6040842D63C7D876713261 +67A34CB960C26B64702F3F95C202C75FA9D37FB26EB5EE5DD2EFAFC07E0370E3 +FAA1860073F3CCA3F0C3D790FC1982DAC76418CC75C59DB674B8684AA0C7CDD8 +A552F815906BAF60486820AD219033A8F7C8DA92708053B92836CF854B1BBF8B +A8C015686FABF7B8BB808537ECD6F22EAE49EE6A3987451CC34E6B862E07570D +513B0250645AE721572B7DFF5632B9F43E42D7228A61CF7A97DA2D98DA493604 +037C11199B5ACEFB28FA9E324FDA701FD91D90392861A8291CD0D3A0BB041ACB +65B9E6E655AFE53D20E4E73AD17C60343A0D6983DF61299D256A7A727DA6AFDF +0DC109E63E154A5957CD998D2E9B7F145511E28D768768D62E369E54EF876C67 +F7EA5B47910425E1C1A5524BDFE7207889B1A7F1D86D759BBC27CBA2DF59907E +26E783A7E139E8F89A5F4E07FC12A45A73B44A62602FC06D7C37FFED36B3A124 +9A06109FE8002E8949FF0CFACD9BD0534FA02847A4341F88CFC7672BDB5BA9A1 +05C98F893A69874A3F0293D687F8117DA25D3C66FCB01DDF556244251C0A6701 +288589CFACE23E946F6907604A4AE4955F76168F341065F40286D62E664D818D +CDDD6A2AC22E259166D219A2ED688710B6F9F83C58113EB16454B8827E91B67A +AA0AE2654BA6F85AB2A27E9187C3BE89CFCB303E06CB7548EB7573C1A40E6A47 +417D718C37C2FAA6792874076538200DDDF125E9DF1C22D1E15A4F0ED8E1FF88 +240480E405FC436052C1BC4373DFC80D55B6F8AF17DBBF27066BF090199C2BFC +C7ED2059053B7D4B10EFC838870904016187EC0A2FA93CF65FE0F14DA80E080A +417E78F9D6A10A365985F7D9A1C4B124F8B04E98EE2D8B349142CD1675A9D31E +01E1DBD900A74CBE104E972C5181D183CE74AA89474AC1D8ABBA08627423F0B7 +F088438FD286E3584BB89F9F25253FEEE5F0E6080027618E020AC137250A1D33 +0CC17528FC0840FF2DFB499611EE3DBCA777AC4DDFEFB23F41C7C91EEC8A9EB1 +36AD0292B6F005AA6D9F56CBD6D1C649691C3E5A6DD38F336613794A1D78A2ED +8FA6043E519AD508D6DC2F24AF327E4998BDB3FB2C085ECACECCE0234229DB7C +8BFD0309F63FC3832F740B09344274B026E8C2A0F1A167444F3504EDAC2FA6BB +214F06522DE8967A14F6F01C22B7C557E8007B09B95103753BA53A7807453B92 +7361362849D408D6DE27B03FFBEC9976DFC6B634B92086ED9CD83DE07CB476D3 +72ACCD1DBB20192400C26EF0ECDD2D390A27EB60E7C1EB7763E21679120CC4D5 +9A2F64954FA8D1AD3C72744D2618007F4203D2B195A6336D129F42FCE5085DA4 +6C3062464093D1B68FBC0D53C386A53E3314FEBEE945A4EFE90E2781D4F23835 +9C63DB264A067F32CA82E80393FC1442B0C5AEEFECBCC8E27512B968ACC608BB +0F79650251C8A2DD4293CF49F2DEC55106D803396574D71B9319F39812EAFC09 +51F619BBCCF098E188CB2C756C52F8D060AB9C758ACA2BDB1D1DCB1B3FBE79BD +B97D80CF1EF32324EF6A0238572C562073E76C8071C8CEDCEDEDDFFC255D8B77 +CD9080AA75954C0EF4261DB3ADC40E2C3DC6A9B40417E361F92C48D35F258462 +1E0F0E0B70C942F47A9C58BE16CB37F2472B9D0C606D4FB431093136DF6989DB +8CA2E6505611869FAB0C30EB99616DC4FDB29F0B0DD69370170825BD6123AEDC +3799E89B06F5B2166CBD8AF8B8B9DBDF932B5C621FF490AFD5F86DB88FC6C460 +E46A1BA13020FB2234565E56B1C92DC63DA85B3C80DC07348D5C04F3C3D62F90 +C72C60AB4C127E1C112A68C48548BB1CB4F936E8F60D7D07C5D332DC47307876 +77BDB9746B18A2CA1CE94409D9ED56855A3DFCCA882C336876AB2133D97B079C +D0F664D76B5D28FD32E5B86FB5A5E388A2C04E1AFDFE6C6D326AAE5197758559 +FA723C154C900C6F1CD5ECCAD1927B94F2C93F2661518DABF34D29FE78A82ABF +CC1B25B958567133639F2F173D4A52477F7907480874F1BC354B59FBAE79B2F2 +46391AAD905D4E3E633D6BE23E6C8E4BFC0B351AB04308D8BC9DAF2B1F1EEEBD +09365FAD4FA8A79B5C062C6CE535FC2CD23910B38098CFD1568C4B2107E96B7B +04B9129CF2E8A137DF664E20BEA88B377AB140DBAB955C25FEA9827479170AE2 +53C9FCD3A83D7C6B5CE58381EF6581C6AA3192C7AC3F38D6C3C54A10CCB302F2 +F1DCC0C51C1980D5F134F4974AB0989355759A91EABC519A78856099209B9CE5 +CAABAAD46D29A096C1841BB04534A12D66F5AA22A0BF92F00D8FFB4C847A3147 +98EED757504BEEF163222620ED4719F5F9C5EF59A3C0DC7F94A251DFCAB5897C +5A9D8417A0B5EDAD00B037D36562D8F4ECFA8154C9C388ED9D34B023066AC656 +D01D44A1E5F556B5B7EC20CDEB164947FA3CA230E9A488EFD0D6F2033E824922 +5FBA2293F8868A81AB0241384573C74713ED37BF37536A07A7DC287183FCC06B +7A5889FFDB89256567A5326577B6DD6B884E4F0D82C3BFFDF7F6C4CD3674C5C7 +B4C31A0EFDF6A3DF6A13BABB9017E6E272DC03CCD2550A18839A1D143BA01D7D +08EE915CE46704D6CEED368AF9ED2ED65CE0159A7EF34BAC1B0C138B253B0548 +60006C3A4E30EBCDC6C43CD2ED327CA534E449044C63BA826EFD3C36463EF170 +607C4FFA2BCA42CB7924C889595242BFCDD1896E3E2CDA3A69F333B8A0C411AE +C9C185DB2E60922D78FC7FBB43A297C72C3CDE7EA7B13482EB7B589510AD571D +4D9ECD9E12114C8E880014953FE8CC4164BC3652475F29A5573D8A1B8FFB894B +D68AD0BB35BF36A9CBBBDD51AEB66E000AFE49C6E108C7822BE4025EEBD684A9 +0C34E1BECD9D121ADB66C6A31653D4AE60282D97FF314F27F38B70C87E5CACE1 +0F172C7429021B4EA191A19A2C0892226803F981DD806D9A0C73C1316698F13C +840A813C240A07F5ABC6512A91DF1E449D0323C03B4EA48A029434926E013D6B +B6B46C8E5BF1CC56B733595F7A9DC5C166ADC404D79BA2E1760F73F58522EC6F +D339BA6508F8543E08FAA61EB0CF6DD8F3E81B476340F7B6F289460D57F6FA2D +B81749EE49A5AE39BD088F08033E590A628F14FCED37AEF82C97D62FA133F827 +735203744732E3F8D11D6B9B30C1CE30820215C60801C1EF4E0FA9E7C825039F +96DAC19AFC04700848452F663E896E1005E0E5419730E329D80049F4ECAFF3F1 +5741D99C716CCB290B7B1B5A49BE09257DF8A428631192A0049DFC48C4DB4036 +9F75EA8DFBA93BDECC857D09B4DC9C6B19FE345FCF8F1E35448577FCB2A11349 +B69CA07B7CE8B587D7AE2E4A129F7A99BC4514177CA7BE430CF34B9990C8360C +C8DAA8BA59FF936230894C991FA46411F68B506B4741C84569F2A13CE28EBF02 +F158FC5E78E55629228EC140AFB0D94689C3BABF5DA290E875D762DB6199434B +9C1C253024DB79F400D52CBC5FA902E5D90DDCD461BC8FD05C249956C2DD51FE +2F844FB97CE6E4A6C1A3017900EB4719340F8173BE2491842A732E99AB50E8D2 +9D073549BD41231E9AC42E0A23C064543291A490B1CFECC5A6CBAF5223591B38 +C40C1D18D9E19BDA1B9870F628A560B8B129F80EA04A8186D4A61BC0EFC8B74A +2740106141EEBB6040E00B3C8CE8E62A59C4AA33409D7E03ABE65E5C942182AB +71396E9417455C5DF642EB886623FA0804F5B4DD545EEE457EA48C5C3F67DEFF +CCA45E19DE0CFCFC70378DB8C3B6E065D82CBEDBB6BABC3862AECE840AAD98E8 +52CBB461976F46EF112861D3AC2F189948F718AE3F3838F308B512C2ADE58526 +97DB6C7408DCBB56987A5DAC995C0DBC1089ED26631738ECD812C47D7DBBF0DE +CCD45788FA6F01BF27B5A8590223348E5A9F2F2BD14323C751080105AB62872D +AFA57514F66635663629765E30D632FCE69B4E163D02D60CCC228343473848BE +C02304B6E78879DBFB42B66D6A50EEAECA993FD69ED3FEBC8525E334895A1023 +8D433CAEDE95D4B243AC7D552B4467A32DCDC699DB89DC79C0E47AFE926DB032 +6172364A0E923C434128AE2232C2B8E6783BBB0691C9A690A34C836EEFCC8EB1 +F262505D4A0D51DB041BE32A9965D1508B5CB478FD7F861D3F54F8D394C2EE16 +71ED68BE9FCE968EA41F6416CE6BAA1F2F0E516BA1DA695999CB9E589DE954BC +AF292623EB9052C985EF566EE0025D177D87188FE35331DDDE35136EC27F22CB +A45506CC27B03067CC348D8990EFF726F3C29EB76ABFB5677B9AFDE8F78B5782 +616386454D40FD1176F7ECA166BE43F3E699F5D79B42ACAD3608F2D88553CB11 +DE97764ADDF131513EBA3144A8BA2FC377D6DFA832616A6C0B4E1A3B303621EB +B23C5751891305F196BF168367AFC171A11C776391B8FA4438E92AEEF0B90B6E +FEBC708F2729D3D575341E68A6054CA23C078E2665976603A7CA337264858165 +2CF2EC079ED6349CCB9C2B710498752E1CC8D106DE7349D32FD60CA609618DEE +DE0DE95E7ADD7F61D44BDC2B668FA4414EF33E4C34FEF55B42DB0A2538EA7D20 +E51721C8879D908C279F4D79D8D6541D1D3A02FFCB90F9E9A24B4230A0AD0869 +D0B3A5A116E03B230EF8EB3A1425ADDE3EA443D87E143F8A77F4E51DCD903ED9 +9ABF3605E9AFFFF8DB6323E6740428D595149858C2DA5051008FD1EE404AB21B +C4948675227B3C40E10E08B9D3F778A7D98C486D3882EA4A2A2641F698BDF9EB +35D2FC00A0D94702D2F9D1A7E6B0F8CB038A73D413CBBB9F8C3C01E7D3CE8386 +5AC1C1DC4AAAB6C452EE90D2B38F2DA6707EC346530E9A0828FC2A6D8B62831B +3078A7FD03A73D825FB5864428EA3581A374CD8B9FC0159EA688DC47D37F90DA +DD3523C3CF1D6E61512E505E3C95CCA984DF48009838722E7BAAE0B7E225413A +DC7FEBB776D8B7B985B34ED7F090C890687069F7A8CAA138B25CF357BEFB2E11 +071E652BD0F8C80BFFAF39D5E8DA57C9C850205DBA7BA31FCEE0280BD06FEB5F +F08A013BEBF587218C5155414CF3492137013492BE918860C44300B12ABB49BB +7DBF993780D05CD849A61935DDD6A67DFE03960358E3A0A038FC9D65C328A833 +6CE9E023CDF46742DC29BB4CF9DBCBF776018703D691491B08704C6C8436DF47 +1C7E718B13F29CE209E3E7A0FACE223E405F48F339DE67B23AA4C8B47CA18446 +CA4D04C5BE13CC4E508626FF33812EBD1E9BCFF9BD2A6BA58A58BD8D6F6283BA +70F675D496910DD190676D423ABBB9FB8D861EA6C7817D55874870992DD4C818 +EB9C2959845C393CCFB2B652AED1EC42F237D040C767EED2A78950B9DD366BBB +FB39C173CE51529ABFD748E01FCD2159FEFD3FDE38FE81FB83C5EABA639CF2C6 +655A3781425776C950DB79326DC1BB4221C16F28E8E05C0616D794812A101965 +D7D89036D86AF88895E89CA460C074C6916137B195EF274DED64D21F6CE301C4 +F82C1968498A4BEF401F892B346E17798DDDCE4C0CA1E246B3791A9D0410A844 +3A744CB6B2030927BA7EE31B5B4F416BB8E1AD253EE313802FB42108DB3583C9 +3336D7DAF329C786281166CE1AB631BE714BF4B904403F66D2B24163DB7CC4A5 +F5289AE0D4A342952FB532E3C21AFA61B3632D05452724215B7D2BD8ED93C897 +8064CC5F95BEFE11B6299012D31F06CEE810C3DDA53FEB4D8F870C026E27AAAB +81EF03599CB0249C10C8357D3373BC8EDBBC0A1B5C058099AE325102A5C5C85E +70FDC65C1CD75D76CB68500722A66F65951FADEA3108D492EBA0CA5D29E0C38C +82BFCF9C56C910E4D13063FE760FBA6FBF0B32FC12F99CEA93F4DC2C8CC44676 +4BF9EF6C01406108F076B2671FA00B4933E4D0E0A5021122DE2C47CEE44801E8 +169BD815F4DF2B4027FA2DCD62C80F54781D993719D4456A68CC9F3C33531D23 +CC48D8AB7084B26B3A5C18798445C23318185FA8B59763E14D289288320230ED +94AA9001648E5DC48E559F1FB9609D0F6A655438A5ECDB4249BB16701D677D0D +10599A3CB0E6CC6470432FC98B1F42A2CA8D127E9FEC21670BA4CFB81BE18D73 +18FA729832B250F0E0D975CC1933802DE59F63470715258116D5156E48C45A7F +0BB1191FE64EB09F79BB2AE8E2B0FF0D327C6A6CCEE21D0F89449D37DEACF930 +59C240AC0659BACFFACDFF15217C4707320D415D7082C2F2BF75476C8801AC77 +6356DD7BDBC74D656CB3882DD30CC7BAA7A53E6E4E04F2C1ECF8C341F6FA3105 +8AE0067C4901FB487F7E5D08F13EBA343C3EF32EA3F8A12942FCF7BE0B1E6B50 +C0C72734551B00D28808235C73B6A939F8D8F5CAD4D55F8A056E119390C6A9C9 +3A5C1D0CCCD43E392F6288A5B794ADB4C5FA3E9CFBC257CE82776494387EB690 +E531A9F0034C3364205B7866F279CAD84210915DC019A843A947D96B3EB6DDA5 +58E72BECB83D473B91834A5553296D37E56EC6E81CC3BC15366AE3649E301FAD +14116B7F2A88BF0066C14B49F32728FD8C41C38C718E157061681292801703B2 +B058975C02A4F4F5F7ABAEDD9DA188357C9F04EA7D0E290DFEBE141507CB851A +1F3653E42A7694F55F993C60B331712CABD2FFCA7C5D6C83ABBC976D7746900B +1DC173BC2C339547B064B2A69DBB71C7CBEC73C29506195B46FB70D0EFDED303 +39A40CE2A29CC74A1FF3F87B63B193E656304F00F07BFE0361879986EB21B2D3 +DE4A5AA2523F1C4C737FBB211034D24EF117C8EB7873777F509B87D2275328A8 +CD590CB5E6992F9624B1ACBCFAE2B167BDEEE664B94DF4E5B32F55C2F01FFA4F +BFB3F34EA278A80DE94C750DEE60EF0E82E1439F3EDB19B191919AD123F9A317 +EFFE4DB8DD6F993B8BD2C5FF4915AD244A98B2A400D4D646D00FF4BD1392A909 +79A55FD3552D2B5A6ACBA1C7FAC184555816CDC78FA3F986110C5450C10BAF1D +4FC903E3080A9CBE1A3CFDFC562A8C2BDF8F9DE42B20DD02387F5F215A5C4A18 +9B37C4396338654EC7D6CDB079C95FD46D25B61D204A2980C5CC427D48A13405 +94CF5A08AAFC31E8D9AEFD2D81FB8648801D6D30405A60D38967D2F58F46B34D +B7E2FFDE24F9C7240EBC6B63D8F30CC33653264A0A9AE8C4B787ADC051F67364 +621F76974F9DA9E11F480A6389F1ED3174481FA2CA53CC43BB9C988F6367D777 +D30CF8413B3554A8E84F0D9C1EA2261BF1BEF5CC0D17EA9A661E27A73A30F396 +CF096D131620C3CE3824B3BFA190BC4310337E1E836E6FF0A6E87A057E2DEF67 +7C34AF95F455B7E0FA441CA219283B4933BBF8A53991E298E3320108121E306D +73E43E21E231FB5A71F19A33B124CB991A1D80E5350AC5366C88D298A9E2AD57 +F659179C5CF09C2FE0EF9B1B6ED56A251CD928913E06D4528D513368702A49BF +5F58FB8D27E317B7886FEA26FE1231FCD5C5F76D794508AF410AF2AAF5663317 +B9CFDA71D1657296A68BB522DB86B9279724D8C466364902ABCB6FBE95C54848 +23A623DAAEC3BCA3C719F217CDB971E5B481187FB759B59D7AB0DECEF81D6DF2 +319C2FDE41E0944455265AC203B67778BEB662D57AD3A8BDCAA02D8C7256DA07 +82F235523BBAA7870D6314CDB20E0536ABBDAD1A3D328F2F29E3F7C5410A31D1 +5D24B59F375EBAB91332A6D2735221D4BF9DE7C3D926C281ED055E9B4297C8D3 +5243F4280E1AC0739784A57A7BF62D2715205CD6CC32722B26FAADB15E890365 +94CE71A26B5D1517D0B847A076EEC34587F797D06BC7541DAF024D78458A4919 +FEF424DC6EF03FE6B11A3CC858D9AE84DA7DA3A69DF0DAC54B8FAE79A465B2F9 +2A7F1CA9B2539CC7770865E02B4E90C22041393F473CC328576FDFC73861FC2E +2F672CAD47C89CD3FFCB5B6EC6DA71D3E31F25BC4E1F43FE1A2233A4B64EFA8D +B70E8E0F4D48DAA9B81D1B0CA87C70B679A2590D06481FA43D159AEDC23DA6EF +847BD0C2747CD1D70FA1E9A9F904D8FD82DA6CE6BC475B648D33F29BB8A04DB8 +5008004FA7F1ECD023F1F3AA18AC4D26651E7B99CBCC16DEE2DF18599E72D359 +F1F888F49156B57494822827D3364E98CB9049E7F02EE08363F65EF899176CAC +4112915A57C861FB13B784245C84A7B30CE698BF0AB35C47C3E3B6CFC7AE2D25 +A1C275AA37E193AFCDDC66CDF653C31889E965ED0715BF4DFB3C0E7181B79FAB +8158C6EF2539444D32E87D2D6680FBF4C47391AA8EB6FF7F4AEA829448414211 +96C93BE15CD3E7AE523B047492F130A854E93649413C3360FDCB24A61F6AF99C +CF9419AABC1629342DE48FC3FC6B82884DB0A4080675E56E29572CF42B1A4C57 +49C6435B3E3FF8D7C1D86CF726381F5162ECCDED551DD87D72685987CCBEB91B +96987F7F4881199A6BBCB07DFE1F3D26CA30047B2F1B046E2DC1141E2A70BB26 +E4B1D81423937884B42882DADAF9E53B3508022A87850202A20D26EFB5AFF495 +125393472935A3C0CDD3056F6300CE4951577AFC0D22FEC909FD0E9ED18F6178 +C042B70B9A7C9095CF821244DBA136772500A32D76FF9AA2E49AB5411CAF3DE4 +3983D4E15FB55B2CD3E0ECEB16FA05E617219E2950A42E060194B9C2C3298E89 +185669A58A0F8F05908898D3831C94FB0E9FF68543D894DDBC4BB110351B0D7C +26BB68E70AA33813ADA62E0F8E80123A56799F9DA414925D6ABCA6451571AA24 +7DCE37C929292B2DBF5593646151C48510B82C66BF29BEADAF96B91FCE0DAAFD +E94F9C325BDB0313A5E8F32A8346BAD23C9112C2E6FFBC55D56418FB0972E57C +27627BFB53F5A2D979F4A485E95BF6246A483EC1F7517E5C25637C5621262084 +1B3AB36F9BD71E73D2B1FB5071994F890C52FBBE6F46A2489335E7A52E735AE3 +7A8B60A9697E18EBB4C690E47BBBE57D42368B691FB0958382F5AC3DFEE05BB6 +C772814B5ED2DF48F0944432DAF0D6ABD4C7E80733E3C7FA7257347663024320 +A170CD16B27183A30E1942519B6ABCF70FB7EB3942DA5D1A6CD539936CFE9014 +E718F7AE3F57D8F9283E655B9C309785E64D6F56521513B4794CDD1783738A4F +DFDC2B1EE21C11E58EA56E000AFE497C43442DCB4512AC72721FC3302599270C +3EE19F6F2CBB4B6144F370A44DB14A312D839288532C233176EAF39E14A79B65 +E897097922B8DBA14C0702D0944480CCBB55CB81D35884AE1556D7D1D7DF226D +5F62802B3382B902F67ADC83DD50421E15E88B591F8964294866BD2BF2701B70 +D0D5FC0840868812F3E27E15FD4625E7869C4CCF1E867A0E8D8C402DD6D521F8 +8DF6E390DFB4680013B9BA52F44B4DB4630672F9DC5BA49BACDCEA9D9BD2CBE6 +CA006FFC973E98614D7729E4D92F08F6EBD96595E756036C78CE33844B6643CF +F802E2106181E04FEEE58A7B313784E5C89E32287392B850B4C80FA3EEC9DC01 +4232E3520975CDFD80432D332C19DCBA02354C536BC2895E79543C39D042F636 +78E0B86E4D4C69E437CA9FEA1DF9A4825B8CE6F2DD2A342287160CB95730687B +98699B80C3BE39389AE0115BB06A5311632D9CEF7A061EBB6AB70D7BEB843D96 +F5B67833CD25751C72D3F19D7C42948A27907CB66E33EC1603D4FFCF68645A2F +560598842CEC3C28128D8A7F470C07B6C33B70439B7A34B7C77ECFD593F33521 +6D5EAECC9255F5461E26ADFF4BF6F8A6D0D3D19171CC4C7380B30A2123A86E02 +0B4BBA28E6A775A11C98A43FFC986DF84507B653142205E4ECAEEB8810050441 +31C634A7B9B1BE1C725B892E02AB5B4D2FD33B26C8B3296BD77497D524D85BD3 +49073186A13242AB704B777D8E5C72E2C577D9D5AC8A96A07A78390AE4091ACE +739398315C408FF3B7A65EB686B0FE971E1FF26DC5F1271B306EFFF601452387 +B4CD2A75757DBD0116D64EC10861FE758E2E2EF615940203A16D04CDA1BA2D99 +8CDEA61465F7FC42240FC3C2B5960A83933F5EC4B6343B29A4A5B265E15E3D3E +869667BAA969E1BBE76CC58B66935159E51678B03B238D4AE746E7A5556471C3 +E4D1E4D81F449D7326E25E92ABAC8FB5E5AAAD59C73A0CDB0931377E1369B22A +B71C677FF1D7655C0F4B2CE6EE553D04EB2EB056466DA2BB55D1DDB3D5BF551F +98BFC4960CA56B50FE58C3FFDEB0B3600E1A5D7BC0E04DD016EBCA89C6FB4092 +D0E704FF2F86C7F2387547F6CB86D27A6B279A8B5A956DD2B99FD2CD4BF0FD6A +54189D823CB0958D6455CFFF9BE0CE767B7F397360CD6C3C314BA8F7E7462B03 +9E4AD46B0BF3B389FCFAC2E57CE10B67FDDD93ABA8BC458829714B77C3D69701 +1C3156F49FE00625EEA811100B65A860522AB411DD7FB2CAA717291F679C5BEF +39198D792A0161CB5B4A848C10D2DF6D23090320ED30DC7876BC147915227A3A +641492F68FD9301B27A025A5881559964BC235BD5A82665CDF50B192BDF41750 +D760619EF82E0568E94B4A8E08835AB2027675DE96DD900C43220B2315451928 +2E6227E474A60DA2F9F474340E2C626E6D1C95FDBB9AA168C988CD5E760464CD +4CCE4B76D9F7DA782EF4FCC585B4993B235D69809AE7F77F6A63EFB043EDE683 +A6D24D2D1BD574F1DE89A3CDA7C6CD00A9C3059F21C05B4388357FF31B77DC9E +F51CAFE18614E5C8F94215C1B90BB450569F962444E54BE8CF7007AB4880F49B +B3F84D36AFAAD8BCDCA9705C0EACBF7AFE11C1FAB71E5F85D41C3DABEF72A185 +CA900CD87C446E84C983BAC171A8759B89AF29081043653F9F05A72EE1AC8407 +D9D95FE5499D8707AEE1452F7F6CD7EC7EA6B14598BA0BA942269B2C33D94B92 +6043606CC448878DB06FE01152EE62BADCEE4A731FDBBE23126DD25CFA9C971D +7E44BC1344C0B8CF348459CA24C9B925C2793D7E3A7C20530FE322ED082C048A +A3238CDFF20286FC318B721F77215BA366838A327961D5147B68A1F0D4BFFA50 +2622176C9AC97886FD553A46E1C8C6C383FAE61A10ABB1BB5398392BEDBE699D +DC749B7F85C342AE58EEBD3AA4CDC2EB8169BB943BB6FEC124FAE8242738189E +39051E6C07E3111D86111B67E690D021138444BA99E70DB26FECB012B7A9F008 +B58C85F3E92091F6D44C002FCAADF3CAF41403C093D04120E565B0A0CD94C8A8 +F10A8843CE42D2B0416082A65209B68647452C3AD5898C0CE11307849CF5ABE8 +A542FD87BF6403740C170647973F89CC44D062349184D438C5229A274BFD72CF +2620FB55FB7E550049E76D25BECB4B267DD1C1854D09CDF3F290F718BE41825C +5E495F2036F79F152B6F700E7440A446C189EEDB3925B6A83F37D9B7912986A9 +20187EF42F68F97C5BFDEAC50A931ECAB8303C203E909756FED9D17C560A4698 +F4EE18AEF779D4300ED4305A4B21357AE7DE808E11E3420887D162DA42D202A0 +3C369A5B99B0912DB21EA1AE554B1439693686D5B33FDCDFCC6322074A8FECD2 +B9A8982D6F98413ACF94FB433F732CBDA6CE6703825D8CDC620CD089B228E373 +461F2572611C5FC2C784D12E57C125589CC18471C6DFC8125847672A8AD69661 +EEC91BCDB8BA89992FD15C8F03C36696790EA648C3C8367B84A9BC6303368F33 +E395291E5706EB195330C6B2625344BACD8529B98D177919C80E5307A9AE4D5A +21B9AA2F19ACBC22D144F1B4472674F1C733457C959F79A53C7E849AE60B7051 +1BACFDFF5BEC3B733DC226D4F6BD7E717B9DFB6779467E4D953AE4584D96383C +4F24BE4CCC50BF5AC4387D4AD66310B619C8A290373B2FB23898A50D5B172857 +56C8D3EE5D88BC780B6771D19A898CDCF314FEF485588BA01FC51D8CA5E9F9D5 +5B25D03E77A1F75B869B42462319C67438B70ECF6D19B09A8373CA28D8E240DC +B4DF9EB3BCC3B8D97F6780CCD3CF2930805E78F9EEE486E202DA4F81EB416179 +7FF410F227FB53401F04A34E6EFC690786566A06DC1452789877F46060794143 +444794D352A5F4313522FA119BDAA5B9A2473DF6BE6C952593D8DBB00CC1F200 +1BBDF7CC19AD6B7AB952C4DFCABFD720FD32F5C6ECF153F7B976A85E30155EDB +3A821165B38729115838DE7282 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFSX2074 +%!FontType1-1.0: SFSX2074 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecsx2074, tcsx2074, lasx2074, lbsx2074, lcsx2074, rxsx2074. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Sans Serif Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFSX2074 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-234 -319 1740 892}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E4875AA27F17EF728A0C3DF4D0A836E4C5D0D5F628C815 +59FDB4A4E80BE5C0C7C81541C4AA76C1991372DEFB84F8256CDD9019EDF4CC72 +6819992DC185F4D8C3D560873DD54A8E328960BEA5707A1518D90EEA4A504A26 +472C9FEF14F30D8A0D78594D63C9A9DF31448D8E6AA4983145547D67F0E47FB2 +BFF2AFB72633E9387C7B69D390DA4693155A76D118B50B45A11605C608F2A21B +D09354084E7DA03A98364F59D03D9EE05E9F617540418F5FD8B87FFD969AAB0C +C9286793C98D4F2A874E30FFBDA1A5D3DD8630CDDDB59B361A646D1AB1BBE2B2 +42E6A7D4598AA6B0CB27A9DCDCF2AFDF395BB602729ACE078482AA502D45FC12 +26484C5B86659B3925F147E983B51163768F7580F1A0D0ECE4CF6CF5746F9F20 +7987CCBA04EED028A558F7675006910FD4C6B7483022CD938EBF0A0F862942B3 +D31ED2B7621C051FFA9859F0F94A961865F542CB07D64FB727A154C1903EE6B6 +3E474827BECFF591A1D47CE763E2B69CE5A420227DB61E86C4FB920622863368 +D7C1A5BB98584633EC33E4B368D325BF428E6926942C2EEE19F00AFFEE830606 +BE2C53BF076E037E09E659B0801010146BC30DE5EBCE2291B64CF888A4FEF6CB +8BE35698A437DB044EC9F4F79E2EC3D114B43B4E86AF012CADB2A6A200D2AB09 +C5337C52268FE41A172768124EA05107514186A4FDC0DC478C88CC74BEAC367E +1488C875A3ECEFACFF80F870F1147A96798F82C79903087E1ED41A199C054091 +99C70E3C76404AC9066ED68895EE75A168A7159BA8627236D66A416F002F5B27 +4091578A0A7A560DD14E0CA3569C59D057CBF1F23DDCD88F68AE33E998446116 +B3B9D2B58A91DABEAC97904055B312C837B7DC70ED3859609067D72D50FFE60A +55961A47660D2B87DA8ACFC7EB5FCFEAD8AF1AA67CD2C067C0F69FCF23116AE1 +9F25B22A73E8DD1CE2AEE77FD88969A3F3DFF195DDEB15470BD7CAD02B38663E +F87213E05CE0BB57320C77049B6DDB03EFBAC85D345FA637BD1473084BD811ED +29627489A288336909FDAC70BBEBECAE0EC8533878806C1D57B0D64775992A4A +C4126ABC5B7583D0855DF8383C6CBFD51811205AA1489DA1392A2D490C4E79E3 +E69D3826B7F784D3DCA603ABB62E677AB94E200505CDEE573B1C1D3C20FC36DC +A2DC8388DF350C40A598932B1A5045156B453CB90B208F4F0C823FE8A7C64714 +F6B1667B013E69B1A727B84A6F5E70AB0F47CD15D7207C7A825D08BE99AC518C +C7FCE39DB3CA9C1496A8BEA5F8C6B62B4D31605C39D7F66D0C4D01E9C8EEF888 +D3C6DB49B71ED83A216241DA11434D7065787374B4B471B92705101387E6D698 +DCADB9DA45F31345899DBF88B8E8388DBD8AF04BCA05EB103672121A3B8525C0 +23EBC75ABE184E2B3EB75F1BC19EBEF1610EAE9DF274670265FC8FAC56E17D7D +A82F5244AE0680FEE259DC090BC1EA2CA3A9E0B0E72B2C3B40EADF65CF6F67E1 +C066EE2A075F32AC97BE9EEF7114F85A2E1611C514D0A1C73129BA8256A41D56 +4457C768BBA808890ECB590E648F1DF7416A7FE7063A503CDCF91DF4610F6139 +26A512635B2B56403246955BE52A6B412F9FBA2D7218262B37A194EC2CE4E085 +75CB62567EDC3E7872206B3C1DE655F86A39D5FE04C5FDED2C513695C0926BCB +A3AEB4F2F7CF2B82A38A9BADEE61D744F4268D4C9B6DCE7D296F8B51C5280B17 +92E66A173EBA374A4A48ACA3AF2FF478F501EFA71600D3A397BE2BFC33A9D3F3 +61F092773A6268604EBA19A5F15FB29B1B62CB959A1E89D7D7DD157CDDE92378 +3D32885DF72AA5F0EE4D26E27D57B9970705FF8A83B183FD04401EE935A242F3 +117BEA075ECD867EF1C6A5DFCA240A5C9C5B7E4386A2D9B4C13F70E6EB5CC38E +B227E25824071EFE927FF52292D7374260E9C0D73AA511AFF68F29ECBCBA6F78 +1036AE4616AB5DA7945C38CE672669B864E55B03A0715B85524A2FC21D38F2EA +5858472E625387ECEE98C4FF8B8C7D0A61226B3167C7B11C24B08206693ECCCB +C7F0CC1E4F775297184102F05E724DAF075B3CD55944D92C63A0B6D795D09053 +A04549A94E420A83C0FFEA5C36FF0DB46F18A0BEE899DF6BE1D1439441AA2833 +74CAF932D46D885D46542404710B08C69943484CBFF55D6D99B372D230F4591D +3F63B87490338692E1E8CBCE018CE47819A335C90E2787D8EE7D52C33AE746DC +7C672A6C9E1B912FB38808F8A80AA1F8778280F94F3CFE93B8D5FE90D5381258 +6D58C8FBAD9521E6781272F0B1C7D54B1BC1B9AE91F963E1D24F98527C91364D +0FF8EBB611871B3B5FDEC3B8518A830AC48CE592C87CED6667D2D40DF98AB2B3 +9A00DE9EF2C0573B375CF75A0C88485DA32F3F514DF19A62E23446F9F16BBD72 +F77A2A779110249E2405110BB692EE96ED5EDDEED3E4DF9C2D5213CDB47C1BFA +20539CD30B7374815937CB03D8AB6D518EEC5D8C382B31943816E860A2A95244 +2F9E111207C3C885746324E0DA1138EBA92FE0C8C865BF24C35C73E5F23B8847 +4B43720A3FA2E411C90A03F93AB3BD8B709BEF081EA76406056DB3D9B9DFC714 +E3D8A87EC7D1C4FE6EB82173E6E964F5F8A3794EF2A78A2EEBDF2613F8FD3EAF +384695972D837A2804A023763EF97442C7A51FEF65D691E0064860F39DB28BB5 +6BFCBD2FC2B26EC33114CCADB41E8AC3B95B42B22848D182C8DA6CA3CF845512 +CA4B6A91B3CF6E31B027B86933990856DE00A4EB68B4B991D8822847C1232AF8 +383736D82ED85647591803200AC8CCEB19FE905347E44029DC4365DC18229194 +9BF46181AE32B386AB3787C9D0D3A0A9E6CF8B200FB6A5BCD1D7FA7DCB721E4A +C529026DBC56EEAA9623B867479A96317D435F733D362AD9789127D2D4CCEC70 +746A13929DA61ACA45F25A9CF4C8D5FA64F0903F307B37C7E69DD5C472AC5072 +46FD35E3625A47686FBAF266700063A1C01B4BDD1B9B310B5232FF2FF1585ABE +472E2278A1B9CBA4C6AC77CD38FABF692EC3441D1AD42312C32FAE78D9D41F2E +1CBD0471A8F9569C883103BD326DC57D31CEA08D34BA326D8AC3C275E62F6C2A +FD2961237D9DDFF289BB8EE99849171AD4EF68CC5B3C2C095688B66DF84D7C1C +B190F60B4F3A5889CA429749C4D32D36C09D3484710193D79B9B3EACA286A7D2 +6283A483CB46286EE0A9BB4FD38961EE19AF21360E4CCCB8F2BECEC0AF121A39 +8C58EDA6DEE806424A9F151E09844D6665E7C6BE941D0B9C6713342986B4064B +7DB5C2041D5403EDB955A9E3CA7A26F5EFBE6E43CB9CE348EA8B89AC8F826985 +BB71E57C2762C1002D16634DF8773088214567392AECBD0B990D4A94887DC1F9 +05E45A6E47DF0967A2E0D894C2668BB22435EC09D72E5CC4D215864DA47E18CF +ABCDA1F158FEF7D464D473CB96B2FEDC321C756DC701F5C6ABEDC02D4EE27552 +546BC4F4C6772F30BEDA350762BBFE38C28CDCBBA3BCD331F13C5B69D0E77A61 +70E268F1D4B7AB7F58C5E04F1751E4DD3D4F67EACD436BE77B5EA62F5A4B49DE +2FAB14BD90C887E46A2ED4551810F9CD3C55E227BF0DDC551716EF45A4A22A1C +39A83A3B13DE7AD5B63DEBC3E335E3704AD95E94271C4496607F31D6420B799F +0EB54768E2BC40F003E922161BF8703E556A0EFEF88912B215C17570FFC5B2D8 +0E356F46A89D043BCF250FC5195CA95B8053CF87B6298FF3FD822E244D50E153 +381D73F8BC5F26AD901614682E0D74320E4DC640531F5E5B8F702D27757402E8 +33DC86155585A14E30DB40C4929D70140986BF3B89E2036E6ADC3442C0D55E06 +2CDFDAD761C7E66D36F5A15B20077A78B66DD73463938DF18F80DCDDCBFB1BAA +F487936402C818C8BF95F015438E33FD48F1442F1386DE674C2E6F97A069478F +F0D54C3856B0C3A0A132269185F600927CA4D7914A09C01C87146131C2AA1CD2 +823D9C0B0D233256F1DD5D69D375138A2A0A253C2F42CB9955D3585F7DBC0A1B +2D06A565E736CBF058A6C4DAAE27CA9570A634A2901B3488BA0ECC21BF4E49D1 +A83F4B69CBD26B5A0FD680DDA60521AD76FAEB29D0724C0A871276B9BC827E2F +5F9150DC16AA060BA88E5F1C5CA9A2828D73661EFE9566027306C786600CF0E9 +CFC240F43FEBC372F1CADB5E3F384644DEF2B527C563094E1F9233ABC452421E +C8767EABF55420CC812C5F61CADABCC6E1669513DB932C13D3F1E3F88352DB09 +F9C68ED418A9DD4418B525F880402EFBD562D284EC17F2C07680D1A9AD9007EB +369B2A6B80AB343E8D0F5F78F5D188F8247C0A408651B2E10F6855908E36EBEB +88CC2B519493C9EC0ABBF647ACD2FCEE4B184E4148C46F02C3F237E448A263EF +78D32BB0374E832ABFB96F256553E88BB39DDBBAFD1D89F33FF7E2025219689B +22D3B8EBB904BB928CB1E67456D163F9774308744DE7A39EEC6842B79D9896D9 +8C4D7B9B7ADE9319B2A0F95CD0373AECCE3B38F9072EB86D70EAEFF2DCF0078E +EF1169AFB77ABEBD2B1818758E8F6612EDCD7A2C9E8B589AFE944BD226D4263E +EEB12DF697F9E39BA6925BCE4FE4A96A8CFF527C70D61E78B3D6C8D6FFCB26ED +9010DE3561F65798E186F5CCDC08808F4B3E81F7719CC3EEE7488A9BF555A38A +4FBCC99D588641BBE0627932DE3EF3C9ED8E32080536DCA229B41BBE006A4EBC +447DB7121310F673D858E46A51FE0E5D61C8922C000B0534516089D8CA8A2CF4 +64AD68D7D6AF6A8E340E8CAF8BBB11A67E3F57ABE586BF27CA459B99DA1B9870 +F628A560B8B129F80EA0482F6C2EACA33026379BBF46A618D8F66D65BAA725FA +80A8C2EA4B1BF9E57F37B1C076D8AC9083F955C761F9DFBCB2E11A6248C7DCBD +8D8636A7907A6EA8ED9B7B6C6A3BFE846823B4AC8AA3B0C3BE3BA8BC2687640E +D64C2F8E8FD690F7A9C20C8DE516D18013FB635F3F28CFCCFF76EE84451C8758 +731203976FDE971BA80F6E5353D19FD21D6BF932659FFC2805C2783039DA41CC +8CDB1254445F2F2590A31E05E6C8076D2B8A73C45E3C3F60BC5231FDCFB536A0 +004F25CA8ED2901FE74CCF9C5E829B05C8EAAC6A53FD83DA826998863DCB080F +DA85C6C4D28960B3C0ACD71F564A1BF732626B6F55C3A0330EF8A63EAD40298A +6CACB8E2EBBE31163BABEAEEDB6769AA4E337AB0CC12DF0DD8999119E4C8F4D4 +8F9516944D8A6334F85FAFB573E29AFAF476B100EF0997855F61020289AF3E62 +20A21D3A2723D77016F982248B408D83A92AB9F75DBC32A6890252808F6AEEDE +ABEF45867DA4A0F61A347D4A3CA906A329EAA499B70B53E4C056DD53F8E257E4 +1C96E69FC4876E46195F82494D322DE3779C49C2AF461D4311FF54A7BE1BC4B6 +8373252174D381E0D53F3BFEF77F279EEA6062F35DDF05E3A177478C9FACD4DD +FADD039C039F62DEE1B7A76D200015F8DD8E99CEB625BCF99FADCF45ABB366F7 +4F498CF6A50828CBBC2ECCC74DE4830ED08047B935BF6B07DC42D8A9D111E24E +A002ADF2649DBDBED9F9EDB1C3B1D24C285191CBBD78AB420996525ED8D8209A +36F613C68C1E371C456FF57FE8FD7BFFB6E55B168ED5A2E8056EBB3EB4DB4CCF +313732605DBB0FB5F4DD67DD781338BF41F9205329A89F8DC697A6ABC3DED156 +07045AFC5DCF2588057C403B5E2701056727BF4CF6F0D3D3CB71D04EA02FE17D +92237C3D3D70D739648BFA82234879B24356FA543E08FAA61EB0CF6DD8F3E81B +476296B2B50DD1E7DBBE2EF1A45224E44592FAC15473A11BDCD533964E6F75D4 +0A38ED44F10FD050DE539213F78438F7C5A6B6186DD06E49482F924A4795DEA2 +323BFA60B94EEE9CE3DB8A1547D7A6468609DF5554D8FD1F69679EBA584B4BE7 +F24952D7189D4AFABA423F80CDA52DCCE609E4E94C3F932725071CFA2091D41A +1CE3979F8B209A4660C22413201555B26F62DB50DB237D0E6DFD31C7FAD6E70A +6296F807558EC45930779B7BEC538A8052AF673A7E68055997DD487BC7C35628 +688A2972DEA3FA3F1C730D6B8820DF4F524493B37E26A8E16DCA39AA6DDE2612 +FC2C0453585C8EAF1D56633B98C875E936B753BD23C83FE188E64EC7ACB01966 +722D016ADA6BC2591C9772A6BFB6CCA5C90189C633C5801B01628BF65F7AC2C6 +BE8BA93EB59C084609E63EE0E9DF5CCCD180DC4E31999D501CD60CAFEBCCF163 +E43610FC37873DFEF55B42DB0A2538EA7D20E51721CEBF42A35C914610E5A827 +7A669A201DA41ABACC7F978D434444F6A11C4E35363E7136FA8B9FDF9636DB45 +93DA5B156E3C56B377390B977DDE5EE8468C2F0B8EAD6004782014AE61487E99 +C47D1DC5F579BA7BFDEC44F310B9B49CA63F6DF29C2301085AA2E37F74B3AEEE +6F60B7201B996A7C66E0B2E15FB85C2E7D552EC7E68D937AAC4375C0170BCE75 +8736E096A42162C9BDC014875D0B1D057357EA1DA39ADD236A97FDFD3DAC5A6E +01D6A795F9312EA7DA2B62C435BDEF2824FE29145941723005E8C6E420FBA22D +A809F32FDA97AC700A1127E973A03F642F5DE67A22CA8AAEB267F221C6CF7726 +0EF06A3706577ADE42635631351C904EB2423B73B86EED81788E967171781B44 +F45438E630DF7F5298DF1CDB58A3230AE95F1C046E7B342ADA63EE0C174C9521 +F689C09DD0BFD3AF44700DE6305296BEF3B7FB72A9E34E0B842664B911B092F7 +6672EE69AB145767E60707F7C870B7AB7117E7FF50CBA24AF2445E020BABD84E +F62A90114E68ACC86F56DE0C04E649DECBEA3DBB2E5CC46FFC218085FA97FE6C +64A710E7C83A5D7857C9D1A491585195227A916728D6C1D65F381A2A8D1E432A +2C5BD3E84C9472CFB58C1C592AFF7AA54AD78C881E492AC37112816722127029 +A1E4BC97FA84322EFB50FD31EAB0987219CF6777B667DEDDDB48BEF35932F107 +1A79C9C709028B70419842CB112A906FF42C0BFCEE123AF95149E4CE27842C5C +2B88C96F84D2D1A94C87FA0E3046EC508DCFC53C4577F5D688342349201491E5 +11F49C27C9B919A212F823A15F2D855F2F475C5E9BB4C6F79EB00176030FAA95 +1762C0A100E78309079CDE3199721B184DFA3F457C7E2689DF33968A09434714 +1AD506661CFB72E3EBBD5CA2346B469BD62F76E7BBC0581A708D05C1DADAE9A6 +C8F0CC0B3099443CCF46CB4DC451F9C52247FC5154DEE350E912B100AB1F14DC +CA14FCABC874F20395995B78682F72DFB7E665E782524C575AFDABB364DFB521 +FD15326545EA061E304318C3099AD4E5AC2018D72B459D7C0C2C6126A1A526ED +12026312044519B54BFC21D3BA3CDDD85018920ED59611CEACE23E946F690760 +4A4AE4955F76168CAFAF359527465BF16D0894F1D1E7FD1F170B5342752715D2 +B2168EB1E9D619065357683A10F6586C32F3A4A6677F33BD3D1DE5EDEAF226F7 +09204D0F9E6863C0BE3845266E23D6981BEF659248558D449ED19FF8A39F3644 +787FA1C0D224E9FD0C1410329DDF2702FDFA303C01FE415076C1D1FCA8645DAF +9F4EB0DB16A5EAC7876006E6C71C1F5FE888E50493475B97934C2ACCB6B9264A +82AF5946FBC284B3F6468A51466228CDA775AFFBA5C8C5CDDC178E9CCABB25C2 +897159B87DF03926ADA1AAE84955203F7359574B2BDED2507D662F6AB0990778 +DB5A2AFE661A4BD09D3FCB4A121E3F625CE4895B52328AC1739B476B3BDC51FB +0960B0CED4F0FE17ADCB2AB1410282025CBF03F3AD98CD7ACB9E6D171ED5FB5C +06E94A37D77BA61F010A0D2853872EE711DA7B17E5A874BF14E532D888A4021A +85FC21E0EF124786855E0AB86FFB4F8BB8EDD0066D6DBA8CF0A3FEEC357A8C41 +531F789B9A97D64F2FD32F3598C8F095B231DAE7F0A245759BE1FB6B4CE66638 +DFA07913FEFDD318F79FC0593DB67DDB6DCD3BF425D7686F5595F35E6E7FAD20 +D7CFB955946E2DE3580643C2EF4D6A55B5AFA1C3712C5B589DD52EE8C8B058BA +F43FFD6487C9FB33631E2D5D914E9FF192F2621DEFC6E091DD55EE67F825B3B9 +84A1A30D94D51640EC3FEC7E2C27D3C8A91C732C92B79B8A0A36CBB6E3DED186 +C779DBA114B1C32C9736DEA95E9D84A7133D6509C37988A9990DCED7CAC12EEA +5EF98ECFEE6A8B6322EF1EDFA9BB2606CA3442F5D9BA99EA01FAE7EDDD761185 +30C9E5A66071A7DBA5FEA859A1A774261E1FA6AD816ED1D52B0381FC7CB68B2B +95FFFEA0715BBD86FE601397436DF6CD99E6C49BAC44231D6304B956F4FEA9D4 +90254D0B85D0F09452F544143B86F62BE70941CC751FE99AFDACEF3895DF8832 +C91B233C05C095C501454D103A4451F674148E2064C5015D8A5D79BDCAAA72F5 +AB19EABAE6AC640084D27AEB1176A340A1C9D36D3AF0118FBA2F1178CF993A73 +530B77F5FA31B09CE36792F024F153D7CD713F3A6F66CDBF3C81F4433B508F73 +2BACA81F68D94B7E98ECEE64FB023CC3366BFE4D826711710DBB5880CB4DF95F +B8512EC1F7843CBDD076228D148326CC64717A6E9DBBF96BD324DB30CDE844BB +C2D06EFAE177A91AF4CB1A21CA5B4C583641111682F39449AAE476588E9C2D86 +B57AB1597065A98F2C88977249C80BA99D7EF58276C01093188DFD2CEDAC61D6 +CACD64DD28CD502881D30E137838B8BA1C056886760FDFCA271F03284D68CB91 +DE641BEA7C7EAE33C2D9039CC3ACDB83FB1ED13C45C0B1BD98D8D3CADAF119EB +95FB1400333D2EE94A90590C86B70758B295832B4F1BA60DB787E8F12507F7B8 +971FDC4E6E66C5349D0102B7FA0D331B5D0662B4FE3DB2443716730A33E3F20B +E70B1608FFD5E07FC9601BB46B30E7F81D2E542A22718D4EEC9DCA1F4DBD9512 +3306DF4C02C296953F4E33E44A8F84C92FC373B02284F9060C62A34FA98F76FD +3574AAE0696FC136465C5C6F81F15A63950D1B9DB8A6631974ABA413D712B4E3 +09B6125291AADF1D8D4164EE26ECEC1AEB0963A268AF66074797CCCA4FE1A522 +A04B5C7B9A0C066EE7EABA27D325DF0F6FD8EEF1911CABF3F0AE82682B251DF5 +6038F4402286F239F79779483230590C75EE2D2E9CD543DEB5230054BD4B51A0 +5907053AACC512110E0CDDFD04C81B4B91389A2FA3AC852DF8F0748C75CAD042 +E476C754EB95912C06B8B2769C12E223E6E90F17906A065504F5EBE686225628 +910CDE2A337A8EEA09371AFE39987766E2282378912B980D6229014CB7BEABB6 +B6F1BED185524A6F839338690B4B6C0F878949AB5153E235599EDB18F3833F3F +E34DF9CDC70B071382E0124B12C41742B699C5237BC42CB8215A33C8C4BD07E2 +6EF964BA42AF2EA1EADEC08AD8B61695CBBE6677BEE12BC558558DECA4668DF1 +7E4EBA1573E6C3E0C282AC8D02FC2268D05999DD688729F3F0F36AFA2E3B5259 +9EBB9B569B2A3369417AAFF07664985FD115ACAF775CA29A7E73280F22ADC6EE +E73C3A02D169139346C89EE126115DF935E5584F44FEF6EA01CB260405D170E7 +072F78C1BD6A170372CEE5F5594E4237A24FABBDF23271CE408C335B8BBA0C3C +FE750631A17DB096B594B6C033ADC43A65DD20597259E25BA79FE299A30CA2FC +FC6FEF550769AE4BE7C0541599DD68E0DAE7758FD4739E75C3F2DD8AAD744DE1 +D89FA0176FACC6EFCB90ECFC2BAC8FC27E21449B4B83B988AF24B2E354A1ACB8 +29E667D37EE2D075DE45C25091E497EDFB7A553605C454053E1ABE773CBC3661 +D002AB19585E0367BEC7D54B1BC1B9AE91F963E1D24F9854D77FC108ECD290F4 +4490DB9C708B0954C8D030D2E70CF9A8E0B034DBBDA5157CBAA95E0B879CA6E6 +D86A700CC4DDCF6896665B61BF14D5A231A09979BB0513AE174DEA4B34C75EE3 +6342942AAF901661AD78BA4413407E8E242CD2DB8B2D8CA972455534CD88D854 +18BCE537F8F09E9FA393A35D8AA21450EE3D7DF1CFDF7E0CA4183768673F7BCC +AEC30756DE57D9BE9FC2225F392825C68942067EABB568DFECD6E0815C0E438F +9645B02431E34403FF6A5E3EDCB6B9CB302C07F8161B4BDDB7FF0678F0A847F1 +C3DE9F4BF954AB022B4187126B5AE436A798348585261D4FD4D9F110CEE18EC9 +33DCE7F9F228FCBCD8DAE80DEAE0F254DE910791DBB5E08A39F1FC64176ADC20 +CF6BAC140EA51C09226882E8CF3C022BC1A2EED09921102C67D59915DE021415 +355642A5F20DA57681346B22A6953596824A176CE489658B4AD1CC0FA3D7DFED +E05E58CACFF7998C28D5DB4D195E4BCD13688EC59E6191B61BEC3C37C1D52D3F +1182C98D47CD1410C601C40F6066D2AB59F81595312D0F370C82E423A0BB25FB +F5EE455D3FD0F6DD6FCD8BC85E3B8E4877E4A4499749A7126372E76BCCD68832 +7923356F4012386A097AAC9BD5C9A0B72C0CDDFDAEFAB79879360490EC0FA388 +AE91ECFD67C463442638261697EBFC3839F67FDFBEB38BB5502A77D3A14FC940 +C6D4703FA3B131CD5EF63244D82CAA7CE4BFFF8161275024FBCFCA10BC18F936 +A085F6692F098867D4C157510EA2753F0B1E75F67F2B8295095B17088752911C +61704A9CE3AF21ECB1F931B95F0AEC70B39B888036E2FE8607D49D48FECE197F +8DDAFA288DDEDC31F47790B0071FFA27C262D165E998227940EED0C34F6D95D7 +FF795482F7EF54D2A06E2DB42F8F4E29A37D3BFA1F239FFC9B1E5DF302525D56 +A72F565DFD196AC27270E61A71838D96BF128648D193B18CB834F114EFC9D256 +061122F97C868450EF0D03B22BC800235E38CDA069251A0CE2690805ACD606C0 +9D5BD8A605DA24D49AA47248A81A39793CCA76AA3AE79E930331BB6CA78061C4 +CE3E72D2BE1D9D2BD275F52D2032CE0D337BA4F6FEB7A81C329FA299DD94B314 +F9A36381F593D01036549F1D6B75D752E27BFBF6D17409431407C8FCCE805938 +270C2E71CA2C60C50747B072A2F7E6D9C645D7D3B1A3F931210CCA673B8DFBEB +5F020C804FDA0487319E7372E4665FE59E91D2B4E32B4969DA6C2716B28F867A +F11113B1668192D36C6A6B9621F5E3C55757BAC2F85E66E19C944BC000AFFB7E +ADBC360755DFBF7890A5061BFF6289BFC5DBE6592148FDDC519B603BFED6F1D1 +CAEDF7DD625D4A70010E537C38BBFAFD33E099CE574DDAD35470633F2214D0F0 +2A31A2B20F4C03FBBBE1C4B0B00C0CD02F430A18EAF0655635F15C9397B97292 +A1812335ACB32F415F7459CB44876CE406261BD738DF129D14BA6436EC2FD0F6 +41ADAB809207E1DBD900A74CBE104E972C5181D185A4AD844FD3416099D5142C +53B1064BCE1E486012DE9169A2743EB77E52C052698A7EB9D2AE611C8C37C889 +8C8615CD75A5242FFAC045ACD94E89814A7789FD9C2FD58F925C20BB512876A0 +065877E4FC0E664FA678A98E5FB15B2852D3BFA57E417F1D87BCF2BEA719597E +74679783C1316CB7798708FABAB8F0B35952EB91D5195488EBDEBDC24378905B +8B634A2B233EA2F55881B9BC5D60A7D3A58E09065562D1DF151237137B5A5A86 +F511623B6DCEF5A712BCC326331F40C6AC2DF9A91AAEA7C1A3F42CE25D70A165 +C1F6979023275AF5D30C951844B94A006DC9D8CAB7AFE20F344EEC9B918C25CA +1E9C010D3C64D838FDFC9B68197E398C5DDF6D83BA0AAB4857B6B5B2AC21BF52 +52C84E8769EB2CB88C6BF167AE1472CEE87060FC7E391C52D022D2AF881C6083 +22E2F1C8DE42D6FA62E7006DBDAF8EF0FCF6EBAA9E03FA13694E9F00CD4FB093 +0F5F8F9C48091E72170D2451E82A2601FFB05D90A5A823129903F5EDA9FCDABD +706BBE5A33C6003F23292F48A2827B4F3C0A46FB47B6E67A05EF66347841110D +F28ECED7F2D86E91B0003D652A507EBE22592DC9689459562C9A996748926115 +1FEBDF3F1F385260358504330449B6F2B5BEFF9DECE02DF429857C99EDB3FADA +80F28D421998F8DD0DC2ED0F38588227F4EF9EB7E61897F93662D3C124A5AF06 +00052CB81A174AAA943353E49FD4E764B32671840B630F4248ABB4FDA0EB69FD +636A4A1C5FF469647ABFC84016D55A0DEF4C5AD393C631A3DC61DF6C95AE4A75 +66999968A3732429A7835613D02AE3865A34E4948BA21248B44E5006349233ED +E98FA51EEF5326823028A81263A9B1A334176810BE7699FF1F0C2F7BDCFD89DF +D064671A0CB9AD881529AA1B655BD339B6F99A90276FFF3953D092EDE14711AB +32F15930EF89656E64E8E61B4C0DF33B315507BC8642F48A03A679E338061C7F +38FEEB2FFE370EFE6F9BB7E8DE0917D306DE7349D32FD60CA609618DEEDE0DEC +E41790F54FBF5A4F0F33BE8198FE1254630707400C99D41B5C4A40A585804A8A +79813B8303BF092461159C6E265EAD1A9B5EED2E397CBF0758FED6ED30FB66CB +45E6F5BD4E4ACDAE74A3E89A76968DC8C50A59E6874A40ADEB9BC084FE7D1A57 +FFEAEF857C62438B18CB1D6AD0E04891CA92D786D0716F8D8D46D5D8F49295E9 +5FCFBFD2C6957565D524F745A1B9CEB4C3F2D261E3097609AE5666A02FE509C3 +06CD759B2F6F443D3AE8335A8EEB465AA1770AFC3ACD2FADCF15D3EE89F31607 +29306E4F080CE29AD1F7AD26B950DCC80D0AE2A5047A7B6D816FAD90B6D03376 +90B37837A7BEF1AA91F6F0D712C19865A3E895FECACDA7EB54BFFC1C0AB50AF9 +887D75236DF77EAF38F936E27FD9D44356C0129882F8211A177D13FA1453DB44 +80E2B894934F72506B854A6A75B1C69B074B963527C3814C61B14E6465DA6E5E +D754AFD380BD36581D9566AC866281A032BD7320AD37DDD4794B9501705B9C8A +BD0E1D284823FE40329FF3103C0EAF878CE9C3969F85FF7FD73BED3ED3ABBE9F +264DF5FC0C8F36962B20E2B2A0B0C24A136CB29E1EF04F55219301E392ADA904 +567791416861A6D85366B48EA527A6BBE9B4E346F89985CEF5D7BCD8AF11C11B +DAA5C395E558AAC41DE84643E1966D27606AFEC9F2DE4BA2E2353C5CDDF7822A +8B47E423ACEC79E8DA15A08ACB505EAF27D61E85C160B63035E27F66FF588873 +375D3FF093BCB5DE7348B1CDE901A41FB9B44FE2EA7D8506A9FA093624E311F4 +22D5E117C2665FB96C8D5ADCE25EF35651A2DF66E65B2DC0D27E003771D04D15 +0DA35FE0BDEDBED34E0EC10A0DC546841B26C1DB998F9AEBE37DE5068418F41A +007E61C012F9C9BE672D5E887B15376D90BA2035C4249B95BBC859B0E895D32E +ED18FB984B669000A08AEEBB11546ECCA77683212C88CAD07BD342DFBAFB13C3 +2C4E920FEC8047AEE110735BBA4D7398F96553720C98D0DC07FF5E8E5B9278EC +EB87E87F9FA03C6C4F70AA4B41EB7B77C59EE90AF4F02BBEC77A0620F69BB58C +C3CCD29BF15211ACD684EEE8BC2790E31142F43DCE633AE318FCF4DBE4186EC6 +EBF58544822F95F3F2292E68582F0927DAABC7FE33BDB67B41919E08B8D8CF96 +DF930E90B436FC95D85402562F8C07D664D3A541581C2E19404159EAF78BD044 +8833E9FB29D2AE0F97E685BD4C50D434F0D3F1D5B63E099BED65AB4FCBD8A027 +72E3017D59BAE248FAA07EB90AC97E3A9BADB8E3F7A3E022256A83686F17E284 +CD1C0BB78BED316DD9911D646094852E4CB5F4B180619C2643EBEC15D3797221 +7EC944B173EAF093D7AC1107B747249222A49EA47315E9810EA5B01D2226E2C3 +DC4BCFCC14597541CD6B062F163300FDB122230A273C7ED5C6424C6D0E69098F +E6BB00AAB2CB55882EB1C0DCCCD03F19592F65E9A43F1E7D04513F0CF0CC97EE +5053AAE9FA34F8F8F603AC27C1B287AE334A2229CFB8E80DBB018CBE2109D0C3 +55E0B6D017520385FEFCB5E10272E1EA113C2CB0C558A62E1480D636111EC95E +872CFDE4E5781D99113E8F117B57FB4062099DC0ECDDC694F4AA9FE151668A9A +1263BAC18FF3F5AA2C6FE6B8AF8530F236B5E7D92598894BDD2000F77061E57E +AC9D87A4ADAF06DBCD0E833D704FC0FC02B0152FD291ED76EE5D5502B2326E7C +17ECC2047D73B7166399FCCF27C7719017955658B70FBC3523932F3087DB2FF9 +52E940444319417B21881B84309CBAD2E2A78EFA491038CA6094BDDF10E4EF1D +74A2EEEEBE4B9D36E3BB7AF6E132DF6A9819C5D94BC20933089E4A39634492EC +F9B7B2A8C3BE8D8D1C521A5FA4C54BB390512E9729D4DF95E38519C4F0B5872D +1447B9199C4BD168C80F1599D2AE7ABE55F65D41777A16C5C5CA14BF20E58F19 +2AB45EBD660EB9526486E887AEF1B764393560029F7E58E137E272EE83237EA0 +BF7CC738340788E1B9855E3E8B14A3150F0D768B946A83FE1F656219C5BC07C8 +32675C832D09B9EDCA941C2935257C5F594C7A4FC1B9B6077F4A4A80C2CD8A2B +FD280D26306D831FC61B81983AD5138BF4E9E7181F7B00772DF59B5AD0C46F34 +7701E20139DB725B928CAE058DB16B1789D707563FCFAE3B2243051CC1AD69BC +0C55B3A80E74170B20A445E84C3001E1FFC6DA0E7BFF7C5E6F2941EF45DE211D +96ED05AE257548989AB682F0045206081D834A5BC6CB007E05B505532D4969E4 +2D4B03D048DB2C1FD56D534A1A55412266A07DF6F1D6C843C41C12A984EBAF7B +5761C4F36A2CDDD052AFF96E1A916472B4FD50EE65350C10C1AF7AADC753FB52 +BB72746496AC58D85B889CDB0419C521D93242906B60AB013CDE91BB7FFC3F65 +05F2B5BEAA0487D4C4DDF1229657D8A04CE67F3EAF748666AC256E08D86A3CD6 +D7BA771EAC40C94BE94E2D67BC10F10C01C155C45CFE2BAA6B33EF195C2BE9F3 +34F96A91F5AC437BD61F2B882EEF6944BE9403A924B58250ADFA4D077BC2D6A4 +3C97A5C3FB6E365BB6B3444BD5F7811B2191CCAA3FD23174885A5AFB312F846D +134CDC06CDAE238A37CA33D91C39E1CF428488B20F0DE8C7D5CFAC693793A357 +0062196D517FDABC6DF6BE57DB5EE3D7FA1F1B47D7252FA763F2C7D00CE84B1C +ED62C3BCD6C11AC7E937C666A21FAEF82A3436F946B1DA089D9FEA42B3EA3A4D +C6F1CA7EC5E1118BCFC99D9A04C99FD7500781BBE3AC2DF750761172B0BD746D +26A6D5DA966F93635ECE5EC691744235F87FA42C305D57CF40CD7D2B3AD39DF6 +8A41120E089700260D3ECDAC591BC0C74E46B8A7D662D78B842E617A6A67A9CE +E8F8748A791EC0F7CA4963D4E5CDD513B61E2F91CC150D7E9DC66C177D408EAB +2DE97DAEE3BCFEB115E39CAFE3CBDFEA328FB1DA7AD5926CAA496AAAE7FA9F99 +F325624D245A0D38DF2332490F59D290A6B1CFF05F1124492607F32700442A8B +E9D9EA84EAC166C774902C6E75C9612B4F82D53336F28302E27E83E0A5F2139F +99F952911092ED7B7CFF514E3D47F473376E6F80021FCF18D1FE39FCFF1DF953 +7CFC422335B16B0D36D421668F8A0EF18BB4C10A26E9D430040241A656760961 +D3CA3A96427CFA78E3E235B3F5619666F2D08CD162BC6D32764380515F7DB21E +B651D7C033160A1FBFFFD16E1AE654656800FB4E50053FCAFA793A2DAC04FF15 +80C76179541D9271A3BB26DFE6462588DBACDA47BD8668B0FDC65DEF8A42B16A +EC13D6876D34DE24C6F7CC42FA632AB941F3C9CECCA431216D010DA66E3830DC +48814626DBB1385121AC6BCB4D0DAFC12AD4B08FFDB7559926DD78ECA64BE4D9 +EB8B0D0122767EE2209868B7E14251F800C99CC15803EA4759833B1434F35CD6 +07655F5FC7907FFB412981721CFB06922756A516EACFA5A10F9BD97A7F348AFC +5FA1E1A53F5339ECA4A26A3F1F3988D08EE152F8AAD751CBA6EFF11BECC39C6B +DD6FF3FFE4003141F7575B62F8B72043F9B5227139AD5592BF3C6E3DC31C40D4 +DA4EB01FA73A23BC59EAD179D848C9ECCC57BD5B8812A680346286D67453A88C +AA1B61A7DF393B6DE125C8DB17F3600DD858DAD7596D67200B713BD33E14B409 +28B9760C10BA3A251F39EA7047907B95DFA64A129D9AF703AA967FDB58E3AB88 +39F8E3206C40C45150952809F0FFA24CC20CF0EDC22583BCC31BDEE45768AA59 +55DE29D71C6FE4B17A3B4062DB1815CAFE678A1BF50838DBB0F2F1F5536779AA +C5E70346A1CB48722A45982CBE0E5E386A73EC0620F7FBBFFCCBB14DD336D3D6 +EEB2F8D8ABE66B397907B2939D2ECD65D6A8978A80D27ACEC8022EDB14B139BC +55BE8FDBA14DBBE45A15B8F387C4A91CB35482F1E1E7B3E85511946E377BB415 +1807CA9819B3E8B00E583D266182257EBB6CCF1D58B2E6A009F597AD811430B2 +EA4AD3BF6FE09838F13129AF954B185189C4C7910DFAB1C0AE91B7F548B35F6E +1DE68C89FEE712FBAC9ECD2E80E04F584237F3C5D94626CFE82CA87EF276EFD8 +D8DCEED3619454EC1FA9A65C233792043653F2C6740DE695A33420838379CADD +56D8074F91E9F349EE806327014B9922DD9EFA72C4E03B8E82ABE2D6930F2A16 +78FCD683B8E2307AE19057FFF0D0A9A066DC8C2EFF213F7A0027255B19CC42E4 +378E9D70525435E24BD5B6857E3CF6718850F6D879F5EB6BE2A6F5016467BFD4 +D317EB20C7EAC3D00A5991109AA2C4D370FB268A04E20F19D5D36A71271854A7 +00B3BB72018DF8FC3BE588D895DF8E0969E8441249456D6D91D6CE5A94F3F07B +7E86D02E3D6ACA702CBFD772FB6A2F601B86F31461E541142D9C93E11120CFE7 +53171FE9DBD8B225D9598739DDB6F0136BD0DAC8B31083F0D995B0DD4BA4603F +BC50F69F21B87AECC3EE584C71814DE5D6F113C0A024A9D04045BF7CD31EA2F5 +C9C4119F63586BF19C4BBC1D1B0ACF45BC1BE43DE74D713F633357A645CB2C62 +25936ED33342EB4D8527A8DEFB1925F0D651E9FD52A8280CB720B96100C899C7 +DB8C7B80671F23D24FDEDA2EA787D478005F1B5642C3363C7BAD4EFE1604500E +32CC9525447CE44CBC56D298ACA6E4CDB7BC177F65D71BB1DB52B8D85464B9FF +A83F47A7136582B99EF4D4785F1B69DD174BA2E26E0DCF4AC2F07B8D385BAE7F +4B91D0F47B3B1136A8239C5D91997C17D0E480048EC33B2E6AB4EAD25FF1A49E +0AC044ABDAA4709925AAE56D26CF8FCE1FD37EDACED156A4043367BACAEB5A67 +5A16D5E4796C44B606F0F5D786A0CE139EDDFA258F162E279A07216707E5A8B2 +AA27522F850ABA49928B2C4C7AF3DA006F63C85148BC56D60F71F0AD7129C305 +2062C4A0873EE241719C03FB10770AC018B95AA5A4BCFEA7CBB48DE129C391BD +2B517065FA3023A6E8C34D308A0275AFB1127573CBA14E160E5EF8B688F5B0E5 +20E9E932B35D3DB5D517E75BCAABA670F816DA5C43EAD317EC94421ED59CFA6A +26463B0679345E4244AABE4FA0696C30817354C451B82BFD041BEA70C4874D4E +8D46D0E9F3A710B1C4CB01FAB3DD3FF4BAFDFB09AB9ACC8672A56B16E2BDBCD6 +9A5BBFA429B84E875D67848F725601C08C940D05489401C6C9245D2538B841AA +FC418CBB7367F8A169F59DE3145C87CE651BD6FF83D0D7B4A8D4FD5F23DFD053 +3BB400FAAB809EAA6CDF6EFF5E5A0378D9BA6612B65E1EF690D278E63028B02F +689FE6352E3BA3FA6404C8F60F7494B1C0059155F868A70CFA2384082581A428 +05ED4496B36FF1A678123066290E34EF48E77E0C2A4D7547479937809DA2DA47 +CD3B87A29A2327A996AD899D591D3CD610A818D4C205BB34988DD2D621852C51 +11D5BD2AF85DBAFE41161EEA6F04686EE79ACA5A6E1BFF65A9BBA6BBCD1DAFCC +4DC345A105E5FED9EC8FFFE06D292CFEF3C109523AEB54C3D5AE9D0B8C162E23 +F7CD543B2B150D47C0E785F41454C5E099DF5669C3922895354A7E57E88AE77D +F436FC545D04B8786696709A0C02FFCF7D10447BBFD74E234653D4558B4C2C5A +F9ED97454332C085DFD4A7275396C3407D6C8D4A9682F93162F2B5BB0DBE0E03 +9C26A6FEBF1585251226DC9696B16ADA9C0FC34599F3EC9936C740FA916E9458 +67B8C65968DDD9C98A2050B5272B17C4DA4E0D56449965C691E5D39D8245931C +0F1B118C0DB80D0547E489EC637C700E5D6068EF5CD4ED21330035C212260C43 +D33DCA7716CAA1176804B6C4E05ABC02A4294C9BA16BA27EE9794F24AACF40BC +0A79506655E85865E03E10125E5DDD36A171F783F0B839D2B82515D0ADCABB04 +97882869DE74869923D86AC80EEE5F4D3ECEAE70D26482A64045105CA8F8B5D7 +058A839F2EED2976B79D43621353D3DE1B989DC83094B1A21F09161D7C74451A +2FAD74E1475B6E368F6278343458C0190CC36D859904B2C87CA209B2662712CE +558C9CB511D3C3247113A87CDADDDAF9A5DB5640CF894B56BB627CBFE08C2723 +66790DE0209462088C7E069C13100F3BC31E2165242F42B57E3BDA68575587B9 +8B98AFF0C21721BB6B5C5899C70359B0CCC80D4ADFC6E2AB2A71C1D9476E6EF2 +E5F0ED92E65EA9B1847C5F0B41397EC12707710646347749B500CFD61F0C0517 +F51496A9349C74F458A776F0EA47EABF7DBB1EA938984B0B1BF3DE98AF53DEB2 +4A54E003480C0631DCBE940868163D1B744CE8C53EBBCC1B251B2A353444F42B +AE1D860E3BD7AF9B8CEEB17FE8E63E9002590CEE634A60B0AD05B8D1C8900D51 +F1FDB236AE2547065C9123B17A038E4DAF52950B22D78F3D929437EFA85F97F1 +657D355DADFAE3007356950F9159723166D97C9525090BFCACD9D882F55D1697 +E58D6DC5FD8ADC878D16953358B2960DDF69EDD4A2C442A7C1FED08EDEE3B53D +540CD035E23C95520F7A90A6B00D727226310F1129962B94CC7F752ED62870C8 +1513F9808C44930B1A82E364F303555D53EC1D6ECF4158544345E57BCE03E9F6 +F3632FB02AAA369BACE64F23F8D2CDE78796FB0B33DF127A0C11BF9C4447EC25 +7BB19E6041C35D5D24E0BF140963038D492437D4B593520F1C15C69ECCC8F31C +912B12D330583D98063A455F5323A9A7C9EDF8B8981B71EFA0E4F17AC8012206 +1AED7874EAAF52551CD2D7BA04C4984B19E7F003709BE966B361FD46F90BE11E +DFA824D314BB6305A5549B4BABACC8C53EDF1F5BB3D147A3DE283D15DC356F50 +E193BDB491022524C5FF33540A92E130AD5110B756E80D5205FB783D16FE2A63 +0326614BB7D3DA05673C8D96CE37C3D07A398EA3742E623D47800A86B964B885 +D569A942A9A89C557A795D4131D48F61542983463F589A273DDCB5B6F7AD5EA9 +2F3B3067B400AD86CDFB828B74B78D90B12E0638A0A0D1DD8D645E9978361796 +3E8DA3400FF50B6DFE7D6AF2AEED74F1B4C05FDA43A75FA0E52B37629AB9B3DE +70456D80F129E3699726D36B205ACB7ADCE58B28880746DC6C3589DC00F71FBB +5E1AEA88F32E4E9E118EE5154B57E563D037C0D7D82FE288E0B75C48562F8F6E +65B201B5BCF2875657B4DB5B5C2C7BC22C1E556EB5ABAA5F561F7FA18C118DCD +39C093E99B8C634B3A085042ABD060A6179C26FA01ACEBE2F7BF2A7A608237FE +F8E4E0E71C5263EDF3393ABEA8A927F4C3542D70B1AC3C465CE53E022B852B20 +7DFD8C91C6CA009D8E66CDABE833E7B1DBAE09A2BEFA4B7F7727B5CA1D29758E +2C36D508E718F0D4C98EFB8219DE9B5C55A01508DCE830C446E91958DDBBA390 +953395B4074B1606AE1011A8167088F53B566047E5A43DD5B0EA7380F92CE443 +65D3C792882991F53353A7646F91139E00673761AB995D1F67033838E56B0461 +6BDD1AD0F1924F460C592A515ECDF7291025EA3E942D84324B7BFC877EBD6145 +93926ACEB92F9C26AAEF25175E03CF225B2FF2AE70A1D26228FD381D81C548B5 +C3DB251C23B5C16E8B022D013F43F910675D13822EB26D6FF5DB3870A2604196 +1A57003633405381F60950A4EBA7281DEBBA6F7A8DC2C190A410F150E5A9CE3C +39F5F8C4E373A037E97E92CD0DBD8028017F86C2CB8D7F250C145C08DB19A32E +6DD846DA91B5D251E1B96177A73C30EAAF8FCB5B22CDCDDF0DAFB28AE1C394BD +B6211EADADAF1A74B88FD63F5EBC38AB0ED29F4446158DC7CC4E6B5B072BED99 +AFEF833C7B926D171FD834D4A3CD477C7BF55E20F89356BCC4F73B623002ABDA +B2A8DF1535D9DB4C63D22A7DF16270BF749456DB1D6AD999633DB3EACB719224 +492B020776ECACA85F7179A1145AA53054384ECEC5DCB6793D11AFFDCB55341B +02F7F555B76BF60ED47CE4D0EE7964D0DB2A3AFA604F67A3FD52520BACF3F855 +EA1C401A6991D0583B801309AEEDE10E4D5CAA631269D8990F2B438F6E4D31BB +CE48B1760B8E7AF6CC6E386B3313D83E0B90F1C4FCBDCA9E9AB1BE09034F7825 +6AC823C0B50E10E2CF991EDBB4A2F29DE065FE3FE0039EFA817ABCDECA3CBD4A +C0921F36A353213D45E5E201EDD706E62ECEE9190EA2299FC67A0FCF76B35419 +FB1518B7FF5553B48FDA19F52E6B7DA1D26DF0FFC93F9646A63189635AAB0D5F +CD47F0FD130B60DE82CFB1F09A4062AA964C913D98127394DEB6A57D2AA18ADB +A7BD59102FC9064E436E6EEE40DB8CA46787A340C173D4D10B41922D979E4450 +95623E1228C156CDAA4160A444BDB109A6A6453EDA0C62E0FEA30F5AACB7B980 +2811FC0BAFAB864333A04DE8ADFEDE61D7E06E90ADF903E367556F9F9E3AD3E5 +03CFBB7F6BAF6A51081A2EA42DFF1D9C112FB360F9ADACEFC6178FCE99ED1259 +665FA3AAF7D0D0F54047C950F497F47BA922BBA367C99EC77C4B931E9E05F90A +32197050DF6F08438C13380F7E568AA350B0AE11D6FB29AA8D41A1AA8E86A5EC +E68A6CC14A2BE893F2547E7A765B2CB61245D8AD3E74D40769CCAB5E0D327C74 +ABB770854A9D4619C64104790B71262B10F95B164EBF7A075251A422A5771E52 +30BE2D252EBA5D9B21FFC9CDD22754C91936854C3475F4E45A311529E01437E3 +53CFB6485A196AB8E2F348762D1B4D3E8D025C1270F104BC6425B1694FCC17F0 +9297AC8039FB18CFB73816E6A2A1B8E1C6E1B28F871EAB10767CCFC15DC4FC5D +A1D94BC30FEF3506FC4196D4BA4A167B5DB54835D427EBFD11750D08D58E3833 +93E0A15F4D49E4DAD737861F7987199C332A30A68E8D1163A0A0A8A718C59788 +364DF2962B0A5D6D66A650C3C4A2D9BB17F54CE80D1E2BABBAEFC86B584674F8 +6A879463E8F0ECD36F7702C071F3D8A48B0B7FDE2B7C02ABB45185E779AA4C0C +DCDB3FBB8FF3FB1F30790B3A37BD102DCBB7DCF85C4E18310D1D14CF06339F45 +008C0CFCF5F60424CE7BF7757D36E284CB887C0A667F0B412FEA3A370799C8D0 +D7FE873A4D1E5192D3300E7A466DA9D4F62CBD128166B3FE86483B5759A71174 +68DC8DEED3947B62DAC25E5573DE6A3AF05AC19100BFB52E911D739ABADF9376 +5C1E577B235AA35D6C438B095B190BBC127FA3DE5209195B061EBB38A2A0D79A +D210C74AD0F1D4BD082B4199125901779E9E2A1B05BB2F81E0033BC4CE5F2DB0 +ED30E3066F84C336F7059D42287A924F3CCABD604F18D7A6E33E5279173CFB5B +D5C9EC9A6C28C0C55D44942AA894115CAD0E4311C8F9D9B49250C3FDE854C38A +DD810EB1C9A9A9BAC576DFC71603E884334220137D7724655FAEB11557B7100F +4B51AE05055A0066965DE59500FDE064CCF177EC221ABD3B876CA2B50DAA3FCB +47BBB3D5F3FAFC06BD53C62E411AEB37DDC1E4E7F2A1E1A464E7CB318756C376 +BBF6B24838D01CB853E4E20F54A3BEBEF33777D7AA1B20FD2855A9EF5B5AA66A +8AF72B31C7FF19742089D5BC4C9D2087B68573C86285453F4934EF8C88E3CFB2 +E401908FD4C17F285C448694A4A5C51FA4A5356B88E9C2751772DF9E19724E52 +9EF90A427CD9C5EF6071995065B68ACF53A1C24921F6169BB58728362BA15EE5 +19958AE0436809BC5F07F53FDBD9EB1A1C1254CD92A07A20242FFD99EAE0580B +B99DF8A354A3455614B07378B7A2CD4362ED1D6F4B4A8661808E70296A01EDF3 +B6F0E6FCD1535499012F4762FCD408FFC8C20A92FE9171E7D2CC2B8E585CDFA5 +81249BC49B4AE01FDC1126C7FDCD36DFA675121E99E13A0066236BE0467CF909 +CAB089B930C29E6087ECE7A8D8B70B56B3952A56772FE7E07A8E9BB244FE3FAE +317437454447A5665621E061515D6CE7FF229853693B99EA322172364AD13EA6 +85527A36CD8E9B9E0D649AD8A90A2DEA2FD11FFDEDA95C1602E925575AF81C37 +69A50933AC8BC4CC3438E317CFB65D98D8D2366FA4D67E7A25833C1480B0F483 +26B5096F90CA21FF543024C1E912BB378BD41075C77726D265C57691DAB6C4E2 +EF91C6515EDC10DBC9E82588AF6752443D986E6D39274388182D766A132A7EF4 +05123386F15AC0077F02FC98C1337BB587B0CE84EE555AC65FB90F82EE7D382C +9D1E399929B40EB1CFCA8CC9868199EF7A26E0709166CFEA24A18730836CB6AF +AB691E030E2D6E7C39E64CEF283EEBAF3EA55ABB30D756D18545191EF6E34B6A +279994D5358E03D8ED79DEFCAA4AD94ED8EAD60120BD4AA3302C40C9871D3D59 +D3EA42D7006600355D38D29DF450C5B32E8AA173D68DF69E2AA62FBD2AF15A13 +7913FA05351DC1EED57C94E3BD760E29707556016026F9DA98019242967C2CA5 +60E820AAC377A0DC1A4C341D3D0361DCA32FBE62185E0608A96F6726FAF3FC85 +5BCCA9479E5E6192987C4D77216B5644A10414E9FE5C5074865B04252CEDF12D +9A4DDF6F08FF42E161F7242EDD9E7ABF2F6B54A8C45B404495B5DCFCB5AEFADD +3224836405DDD27168BAC755526FC545CAAEEF824AEC3C4AC644BABBEC13A94A +E00474C4E6B2F7B27E0CD946C27574ED50605E6F1F6E779A0CD7FA99D1DFED56 +848BA952B248444B07A7E84FDE163EA9F48EB3471817C71548C919B94579A1AD +70597355E3E554094141097E8BB015F9619B5306E8818488DBFAD739E0AA8AD1 +B3A33E8BE681E1A3B035DE548D15F1EED8ABB70DDB41B57DECE0EB9362435136 +0C5984B30DDFA8FEE6723824232C7EF7F49EA847C4B5DE57F7857D0AD18F3820 +16A61B211BE01F185B100173B130DC545699BC2C598AB6BA9100EE74BEC200F5 +3DA70C1900B0AEDBB3AB1124BCDCEBE875C8761ED8F6C7D1663D1FBB97DA0779 +A1AF365738033DC15BD6C7561436CE6B915E2CC21D76E2524FFA77F12D47E4C5 +8EC1F5B97B3D51D65C28173D3969077AFD222519B20D6FA1E42FD1701FD47148 +97E4E4039DC00428BF74033763E060111F104D0970A38EF7BD1B26FA97119C52 +7820EAB1BAD2ABD23D0B07919420E7E6B84CA859866F38D5D1CAAE02C7EF5AC5 +6E189D3F9DBBFDE3CF92696EEC1DC359999DCA242D83A14C617A81ECEF2C26CC +7162659C29DE3DBE229905C411F8F1884D6E0F836FA6275C88869186E1167DC6 +23EFBE88ACFD43BCDC7064675C86DB7122C08AF2301F80B1425695209EBAE137 +B3F995C1B20F9D8C890051E03E5D45D75800D0F5437C7B637899868C38300A5C +4AF5833B5599A46C85A20350FBFAC3F73D3803372E046CFE3D60E0D5553D84F6 +A69F9058D06853D8C237D3E9F0961C2B2E2C58FC8AB8F46A572D7E844418B15C +5B4E5519F2622F1192D64FE8DA524EBD410826D823BB417BDC418C29934BB682 +C360B191A71EE81E5EEBD57AD98038B625B8CAD85C1B7786F3FC46FE80F71803 +51F187CE88E9BF18DE2D72ED82ED9BFACCF63A756F3625F480D5512BA94E14C0 +A6E75DCFE80AEFE699CEB05B51D2073BD1C983FA361B29679F25EAC7DD862F9D +10401D4FBBEAB5DA4E9810526C81DBC1F41701D0CE47EA4CDBFAFFE8E5FD902A +503BE2BC96D51E250B1DB7C19AE17BCE0422C7A8C6AEF6D1643B5446914D5BCA +C47B02D749471BD85674E2674C94873AD340EE8AF515BD9F35D8C7621057FD84 +4DC1E99538AC088DE55C21F2EE77C033FCA7BFE416F399FD4616C2FF66A04FDE +23F0FEBEEBB2EE1884D12DD01F2214F63C2DC2AE2E748810B55F11CE082C406E +A5BFDA392453F048728CC4EAC35629A8A16FA9D83132B9DBCAFE63BB51635049 +51FD83334EBBD7B4E61ACBCD7FE0032CDC72D88235936573D13A23DA0B0EACFC +B616093DBA17F7AA80C42C2EAA8AA9AB4C1E03FF9891D58ED090A36BCF236628 +C281332108494D53C463C7630DE349D49FFF5E2B39E5FDB0F64210AD10687F32 +06E2CF37C93291AB106A204547AFB38865A689DBE1A3E7AFA1338A8FEEEF696E +25D80B280028B88AB284D556D43312475976763C925972B448320ACA17DA804E +D9B6A88A0734CFA52CF0681AF41EE3F5ABC0D7D55D8E032B5AD3C059571DBA54 +CF360C250D24C025825207C27DFD3920DDDDFC285141FA3477397A04E77FC50A +3F76F72D5742CE4BAFCBA580D4F50DD8AB9DA9AD7473936D8B27F81F36C8DB7A +B2B2EA7A312A8206A496E60B15371BBD92381FC1A88DD59C117C88B8B4DE361D +E2AC34EEA4BCE91D95381F61369CD333ACC8C5274C9B480A322F161BE0D4CE7E +3708F9A4EC04C0813D032F1CD8A5E439AD6C983F7A66CC31068A569E72A00804 +4542DD83BE1C2157DB425C36CD6084D2D4207D91A85CDB50784ABD78511B0DD3 +550893078D0845A43579323C3D1B0F4E8F443BD60D4B1B28FD27779FCE7B6302 +3F7696C3340F55F9E135A5E7759712FB9E18482B4B94B9455B919B47118012DD +327E8BB1E37922BD349FF4CB947AE9095650D0FF9B729D4F7818C4F6DCC1EA97 +001FA501129D5BCDB3EC3842E7E1BC97B144FE28113CCE9625F8647A8442C5AE +50C0879306AA761A7E1995294B4BB0C39904434B3B5A79E1BB1EEC4750B4C370 +B41B19D15F14CD1B77424359A7C987CF409565C0F596F2C0948C822E05E97A3D +81824C7985AC5D076126135E8E318B9D50E387C972EB2A2E6F4A43F6B11C648D +65B8ABE7BBF90E78281ADE388F1E082FF5C2B87FC1906D04FD6E04C3F88BB61D +6E0BE8199D0BFC5068D663CEE38548561161031824808F275A88505467C4EB4E +9D058EA0E35D91DC5127891504050BAC536CFA9D81B176F8093488D011B29A51 +A6D1386F70C35DF2A0D6E7CB8CA202AC1AEB464476E635352CA28FA153787CAC +DD978D8E80C4EFC841F45B077AFB610A795E0DDB3FAA49D5558A11687B756454 +2549634C9E62FD74F227E9CF466C4959F6E0256AE13203B2B62E53A91B4621E2 +A2C00FE61F6D19543E3EB899D82A6AABF547DACF86DFEF56B19E23B062117463 +D760C0DA7D377A8D84160A16AD4B6C911F15D1C77F9A2DAD206789C1E5ED14CA +F19AC8024496AE6FE90E8C5D8ABE5B98EF11B41DFFCC8B00E10DCC502AAFE034 +9B972D17E1A90E9EDE4FDA08CF09AEDEA50D6A9A9DFCEF0CA1FFFEAB59A4C6F8 +96419A610BFD05DFCF9FFA04BD40A8D811FED9366BDB651F881CE58D348D68A7 +687B4896CEBCFD5ECFD68A7A49ED08D7E2B75479E10148F6BAEFCB2255687FD6 +D0C376A257C79251B1645DF5214D6526C38D3FBA4DCD67F20A1ECB227857B492 +CA017142F52D7DE755CAEF969C36A3DAC3BD89AF8C52662ABB759D071C3C37EF +5C6B7DE644D11CFE0493D2E18FD7C2C106F3796211C93D41669A2D1CD782B2C3 +18882E17498EBA84C77DF6CDCCECB4E305BFAD295C8428467780A3BDB6915973 +C5C113B509F98F924C1644D8FACD3D6CAE892926BFD5E15B46EFCB6A5D7E7596 +AA78F607E30A0BF25CE36CC02B35B7CCB6889CE7A515045B8908C20D3B1078AF +FF6BFF7B4FB7BD0C5DAA334F7B54FC2964B411F577992200D493100BF6FD9732 +BD9E4C75EF71E16F3BFCEBE234993CE2C5642904120D8EA71C70DDD760CCED4E +E712BE9FC7B0998F8A85680EB36B4DF6A7291579421D32074721287FAE0B87DA +3E5DC884C72598F247236D0F633517226BD7438FB8C40E214EC3F304C0176E82 +B9DF4C076E86EC761D842DD3F98B5A66F497CB52CFC8AFE2A69DE4DECFBE77CA +9FB7F940E7A7700A8513A6F72E6F7A41AC974D084539D6D3428F298FB8C29AE2 +D8D444CE182DBA0B13ADE3DA708EC912902A9E3B09FB2F7947E343455F1DE93C +4C74FA007CD7CF0425AE08B7E4738B831DC54C679EAFA6B40B1234B88DB95F43 +19C63B03C6DB3C2BC470DD16CD24C386BF0E97F6B4F83423EF9A5F60630343D2 +912AF7899CBF0C9DCC0FCE9AE7627BCEA175CF84A34459268CC6903722E3A6D0 +B29B96359EC6056A3292D5E47051BF261B6C2BE69BD454D09ADE6F71026576EA +93A91876623758377ACD4F16C70B81447BA084C2FDEF2EB1091B4622889FE635 +B70A9EDBD73A05BEF6BFDDCEE6D849062E854B0258DBE9999296DE5A7CE524BF +678498F1E5F2D0ED11ABD0DAD7AA340197CFC23CA3E946E7F080677E6F93C1FE +F4D646FEE1591F9A625E95F3F1DEB331B3943048BFD16968951FEDD02AA25B22 +6E49E8BCED633F86DDE15AAF92C044BA5D7C327CF4398DBB29391527E27645F7 +6464EE9870283109373DAD93A38E1F6F9D45800B2DEF381FEC2F2EABF821DC0E +16F3D71F4024E914AAB6DF261F8B57DAE3F3C1ABF98B747085F4DC3F5566703E +53862CFE945023F5BB5E5EBD7ED008570546DA36E8E48269F3FF7F1591B3C865 +7E77617B827F657A5F516D14A0180FAB545CEC3766D30A997BCDA17F111FB057 +0513E26080A4705FC32319860027AAA15546BC5C9AA61E2B40FB2A39E309653A +7E2A74EA6AB1D972D8BDEB18D9E067746B71A5C0C2C1EC7FF6139DC500A22571 +401A1035CB74B536517C90897EA1F95489567F82482A21C3657612E4E92BFE54 +3F783471ABD6CF611ADA3326E0315C8FC0B0424F7ADFF19ACC8CE8A9BBCAC9AE +F99CCEF7E960BEF63A122193E88FB922C6B411F5275A393E5B19188A6A352793 +006575009E54D7C177B570D5088719E643EFD65EDB8FCD55DA1CB1F279B8F43D +E8B5D0D733A3D59C724D3777CA4138C490EAEBBA1FBE9F6169729E2C63196E66 +C3A0277E8CD550DC0991E62DD73D93953E0ADF911BAB6193B7C6AD3F30B881DC +4D2C29195B99B5B329EA130B0B6D5F5C22CB4D8FDC278DD222039072FEE1CE3B +AA0F85AD5B158801884A3C291CAE60CFA03E9F101D29A13D209BA8A2131F82D2 +47FACF1EECECD0400C3530CAACAF48AAEBCC826AFF13FB9E851E27E2CF0F903E +737D072B1AB6760EAF4FE0D9AE0B18BA99D676FCEEFD001B1C9AE496B895C5B7 +743D9C9527E5946749CB50B019AD8CC959838B4C63341FEF8B02FB46EC8045C6 +B3B80F7E05146E4BFEBC64540E2AAC2E4344260F4AF2FF8760ECC3D3D43D6402 +3DF1D66D7A7F4EE6B8EEE820D2417DB8CAD3B2E9591FF6DB02D5A978F49F77FB +F6EEC9700F715B371DEB7FDA4CB1B43C7C37CCC42FFE071AB7249B01DC13A275 +D17792A20AFAB9F4D0A482C0E88B8C266D104C629F6A19BF655B8DD93B6455CF +C117771E3CA2F9C8C2C8E3BD564265B32C869AC83434A64E3DF09772BF80546A +62CA99E1CB16216D8E19CA967508F2517FB78B4EC3B48DC13AC6B84BA5597E9C +9C2C9C178B8F5DAEE0BA7E6224EA5D4A20FB32FFD60C5737A1E6539AAC12293B +462C634F62B7B85E0756B7BC78FA2A8966CC9600A73A2C71DB31DED056ED3F51 +C2D1FB0EF2C810B819695C36 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 39158278 55380994 1000 600 600 (linux.dvi) +@start /Fa 139[37 5[53 4[27 53 4[42 99[{ T1Encoding ReEncodeFont }5 +83.022 /SFBX1000 rf /Fb 119[42 136[{ TS1Encoding ReEncodeFont }1 +83.022 /SFRM1000 rf /Fc 75[44 180[{ TS1Encoding ReEncodeFont }1 +83.022 /SFTT1000 rf /Fd 44 2[44 5[44 17[44 7[44 5[44 +17[44 69[44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 +44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 +44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 +44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 +44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 +44 44 44 44 44 44 44 33[{ T1Encoding ReEncodeFont }101 +83.022 /SFTT1000 rf /Fe 3[71 5[69 17[66 13[100 17[92 +73[60 63 63 94 63 71 50 53 47 71 71 69 71 109 32 67 36 +32 71 69 42 63 71 61 71 66 6[84 1[92 130 92 95 93 76 +88 1[88 100 98 121 74 96 65 38 98 92 78 81 99 88 92 92 +1[65 107 4[69 69 69 69 69 69 69 69 69 69 69 38 46 3[53 +53 10[73 73 80 27[{ T1Encoding ReEncodeFont }75 119.552 +/SFSX1440 rf /Ff 133[106 1[113 167 1[126 88 1[84 2[122 +126 194 1[120 1[59 126 122 1[108 3[117 16[156 1[171 1[134 +10[163 65[{ T1Encoding ReEncodeFont }19 206.559 /SFSX2488 +rf /Fg 190[49 65[{ T1Encoding ReEncodeFont }1 58.1154 +/SFRM0700 rf /Fh 3[46 5[42 31[65 91[37 44 44 60 44 46 +32 33 33 44 46 42 46 69 23 44 25 23 46 42 25 37 46 37 +46 42 6[51 1[62 85 62 62 60 46 61 65 56 65 62 76 52 65 +43 30 62 65 54 56 63 60 59 62 7[42 42 42 42 42 42 42 +42 42 42 42 23 28 1[65 1[32 32 11[46 48 27[{ T1Encoding ReEncodeFont } +72 83.022 /SFSL1000 rf /Fi 3[58 5[56 17[54 7[76 97[49 +51 51 76 51 58 40 43 38 1[58 56 58 89 27 55 30 27 58 +56 34 51 58 50 58 54 6[68 1[74 105 74 76 77 62 72 83 +71 83 78 97 61 77 53 30 78 75 64 67 81 72 74 74 6[31 +56 56 56 56 56 56 56 56 56 56 1[31 37 3[44 44 11[60 65 +27[{ T1Encoding ReEncodeFont }71 99.6264 /SFSX1200 rf +/Fj 3[47 23[44 105[40 42 42 62 42 47 34 35 31 47 47 46 +47 72 21 44 1[21 47 46 28 42 47 41 47 44 6[56 1[61 86 +61 63 61 51 58 66 58 1[66 81 48 1[43 27 66 61 51 53 66 +58 61 61 1[43 4[25 46 46 46 46 46 46 46 46 46 46 46 25 +30 25 71 13[49 49 28[{ T1Encoding ReEncodeFont }69 83.022 +/SFSX1000 rf /Fk 42 2[46 5[42 17[42 7[62 5[65 17[62 73[37 +44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25 23 46 +42 25 37 46 37 46 42 1[65 1[23 1[23 51 1[62 85 62 62 +60 46 61 65 56 65 62 76 52 65 43 30 62 65 54 56 63 60 +59 62 1[39 65 65 65 23 23 42 42 42 42 42 42 42 42 42 +42 42 23 28 23 65 1[32 32 23 65 2[69 42 23 2[69 46 46 +48 5[42 3[28 28 16[{ T1Encoding ReEncodeFont }96 83.022 +/SFRM1000 rf /Fl 135[60 2[63 44 45 44 2[57 63 95 3[32 +63 1[35 51 63 51 63 57 8[85 3[82 13[74 5[89 6[57 2[57 +57 2[57 57 57 1[32 46[{ T1Encoding ReEncodeFont }27 119.552 +/SFRM1440 rf /Fm 133[88 93 93 138 93 104 73 77 69 104 +104 101 104 160 48 99 1[48 104 101 62 90 104 90 1[97 +8[135 1[135 1[138 112 1[150 129 1[142 175 111 1[95 56 +142 134 2[146 129 134 135 7[101 101 101 101 101 101 101 +101 101 101 101 56 2[157 43[{ T1Encoding ReEncodeFont }54 +172.188 /SFSX2074 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +/setpagedevice where +{ pop << /PageSize [595 842] >> setpagedevice } +{ /a4 where { pop a4 } if } +ifelse +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 0 a +SDict begin [/Producer (dvips + Distiller)/Title ()/Subject ()/Creator +(LaTeX with hyperref)/Author ()/Keywords () /DOCINFO pdfmark end + 0 0 a 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + +12 -5 a 12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.1) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin [/PageMode /UseOutlines/Page 1/View [/Fit] /DOCVIEW pdfmark +end + 20 277 +a 20 277 a +SDict begin [ {Catalog}<<>> /PUT pdfmark end + 20 277 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 a +SDict begin 12 H.A end + 20 277 +a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (Doc-Start) cvn /DEST pdfmark end + 20 277 a 1034 1235 a Fm(linux)68 b(v0.1.52)1090 +1634 y Fl(tresix69@freenet.de)1152 1907 y(15.)38 b(F)-9 +b(ebruar)38 b(2025)863 3810 y(b)s(etreut)h(durc)m(h)f(Thomas)g(resiX)p +eop end +%%Page: 2 2 +TeXDict begin 2 1 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a 632 +-5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.2) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 3 3 +TeXDict begin 3 2 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.3) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.1) cvn /DEST pdfmark end + 20 277 a 520 x Fm(1.)100 b(V)-6 b(o)g(rw)g(o)g(rt) +20 1068 y Fk(Hab)r(e)26 b(v)n(ersuc)n(h)n(t)e(alles)h(so)h(kurz)f(wie)h +(m\366glic)n(h)e(ab)r(er)i(denno)r(c)n(h)f(ausf\374hrlic)n(h)g(zu)h +(Besc)n(hreib)r(en)f(und)20 1168 y(wie)j(immer)f(aus)g(v)n(ersc)n +(hiedenen)f(Anleitugen)i(abgesc)n(hrieb)r(en)e(;-\))3079 +5092 y(3)p eop end +%%Page: 4 4 +TeXDict begin 4 3 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a 632 +-5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.4) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 5 5 +TeXDict begin 5 4 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.5) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter*.1) cvn /DEST pdfmark end + 20 277 a 522 x Fm(Inhaltsverzeichnis)20 +1077 y +SDict begin H.S end + 20 1077 a Fj(1.)54 b(V)m(o)m(rw)m(o)m(rt)444 1077 +y +SDict begin 12 H.L end + 444 1077 a 444 1077 a +SDict begin [/Subtype /Link/Dest (chapter.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 444 1077 a 2631 w Fj(3)20 1263 +y +SDict begin H.S end + 20 1263 a Fj(Inhaltsverzeichnis)684 1263 y +SDict begin 12 H.L end + 684 1263 +a 684 1263 a +SDict begin [/Subtype /Link/Dest (chapter*.1) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 684 1263 a 2391 w Fj(5)20 1568 y +SDict begin H.S end + 20 1568 +a Fi(I.)105 b(Linux)441 1568 y +SDict begin 14 H.L end + 441 1568 a 441 1568 a +SDict begin [/Subtype /Link/Dest (part.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + +441 1568 a 2567 w Fi(15)20 1754 y +SDict begin H.S end + 20 1754 a Fj(2.)54 +b(Linux)350 1754 y +SDict begin 12 H.L end + 350 1754 a 350 1754 a +SDict begin [/Subtype /Link/Dest (chapter.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 350 1754 a 2679 +w Fj(17)145 1854 y +SDict begin H.S end + 145 1854 a Fk(2.1.)119 b(W)-7 b(as)27 +b(ist)h(Lin)n(ux?)938 1854 y +SDict begin 12 H.L end + 938 1854 a 938 1854 a +SDict begin [/Subtype /Link/Dest (section.2.1) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 938 +1854 a 71 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +68 b(17)145 1954 y +SDict begin H.S end + 145 1954 a Fk(2.2.)119 b(Kernel)26 +b(und)i(Mo)r(dule)1099 1954 y +SDict begin 12 H.L end + 1099 1954 a 1099 1954 a +SDict begin [/Subtype /Link/Dest (section.2.2) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + +1099 1954 a 39 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(17)335 2054 y +SDict begin H.S end + 335 2054 a Fk(2.2.1.)137 b(Kernel)27 +b(2.4)1042 2054 y +SDict begin 12 H.L end + 1042 2054 a 1042 2054 a +SDict begin [/Subtype /Link/Dest (subsection.2.2.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1042 2054 a +32 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(17)335 2154 y +SDict begin H.S end + 335 2154 a Fk(2.2.2.)137 b(Kernel)27 +b(2.6)g(\(Debian)h(4.0)f(etc)n(h\))1702 2154 y +SDict begin 12 H.L end + 1702 2154 +a 1702 2154 a +SDict begin [/Subtype /Link/Dest (subsection.2.2.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1702 2154 a 82 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(17)20 2340 +y +SDict begin H.S end + 20 2340 a Fj(3.)54 b(Befehle)428 2340 y +SDict begin 12 H.L end + 428 2340 a +428 2340 a +SDict begin [/Subtype /Link/Dest (chapter.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 428 2340 a 2601 w Fj(19)145 2440 y +SDict begin H.S end + 145 2440 +a Fk(3.1.)119 b(Standartein-aus-gab)r(e)1165 2440 y +SDict begin 12 H.L end + 1165 +2440 a 1165 2440 a +SDict begin [/Subtype /Link/Dest (section.3.1) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1165 2440 a 38 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)68 b(19)145 2540 y +SDict begin H.S end + 145 2540 a Fk(3.2.)119 +b(Anmelden)28 b(und)g(Abmelden)1320 2540 y +SDict begin 12 H.L end + 1320 2540 +a 1320 2540 a +SDict begin [/Subtype /Link/Dest (section.3.2) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1320 2540 a 77 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(19)145 2640 y +SDict begin H.S end + 145 2640 a Fk(3.3.)119 b(Anhalten)28 +b(des)f(Systems)g(und)h(Bo)r(oten)1646 2640 y +SDict begin 12 H.L end + 1646 2640 +a 1646 2640 a +SDict begin [/Subtype /Link/Dest (section.3.3) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1646 2640 a 74 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(19)145 +2740 y +SDict begin H.S end + 145 2740 a Fk(3.4.)119 b(Die)28 b(Runlev)n(el)860 +2740 y +SDict begin 12 H.L end + 860 2740 a 860 2740 a +SDict begin [/Subtype /Link/Dest (section.3.4) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 860 2740 a 20 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(20)335 2840 y +SDict begin H.S end + 335 2840 a Fk(3.4.1.)137 b(Upstart)947 +2840 y +SDict begin 12 H.L end + 947 2840 a 947 2840 a +SDict begin [/Subtype /Link/Dest (subsection.3.4.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 947 2840 a 62 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(20)145 2941 y +SDict begin H.S end + 145 2941 a Fk(3.5.)119 b(SuSE-Lin)n(ux)825 +2941 y +SDict begin 12 H.L end + 825 2941 a 825 2941 a +SDict begin [/Subtype /Link/Dest (section.3.5) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 825 2941 a 55 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(20)145 3041 y +SDict begin H.S end + 145 3041 a Fk(3.6.)119 b(Zur)27 b(Orien)n(tierung)f +(auf)h(einem)h(UNIX-Rec)n(hner)1957 3041 y +SDict begin 12 H.L end + 1957 3041 +a 1957 3041 a +SDict begin [/Subtype /Link/Dest (section.3.6) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1957 3041 a 21 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(20)145 3141 y +SDict begin H.S end + 145 3141 +a Fk(3.7.)119 b(Datum)28 b(und)g(Uhrzeit)1110 3141 y +SDict begin 12 H.L end + +1110 3141 a 1110 3141 a +SDict begin [/Subtype /Link/Dest (section.3.7) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1110 3141 a 28 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)68 b(21)145 3241 y +SDict begin H.S end + 145 3241 a Fk(3.8.)119 +b(Au\035isten)719 3241 y +SDict begin 12 H.L end + 719 3241 a 719 3241 a +SDict begin [/Subtype /Link/Dest (section.3.8) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 719 3241 +a 32 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)68 b(22)145 3341 y +SDict begin H.S end + 145 3341 a Fk(3.9.)119 +b(Dateinamen)831 3341 y +SDict begin 12 H.L end + 831 3341 a 831 3341 a +SDict begin [/Subtype /Link/Dest (section.3.9) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 831 3341 +a 49 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)68 b(22)145 3441 y +SDict begin H.S end + 145 3441 a Fk(3.10.)77 b(Dateiendungen)937 +3441 y +SDict begin 12 H.L end + 937 3441 a 937 3441 a +SDict begin [/Subtype /Link/Dest (section.3.10) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 937 3441 a 72 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(22)145 3542 y +SDict begin H.S end + 145 3542 a Fk(3.11.)77 b(Infos)27 b(\374b)r(er)h(Files) +959 3542 y +SDict begin 12 H.L end + 959 3542 a 959 3542 a +SDict begin [/Subtype /Link/Dest (section.3.11) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 959 3542 a 50 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(22)145 3642 y +SDict begin H.S end + 145 3642 a Fk(3.12.)77 b(Arb)r(eiten\(V)-7 +b(erw\374stungen\))28 b(im)g(und)g(am)f(Filesystem)2126 +3642 y +SDict begin 12 H.L end + 2126 3642 a 2126 3642 a +SDict begin [/Subtype /Link/Dest (section.3.12) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2126 3642 a 46 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(23)145 +3742 y +SDict begin H.S end + 145 3742 a Fk(3.13.)77 b(K)n(opieren)26 b(und)i(V)-7 +b(ersc)n(hieb)r(en)1343 3742 y +SDict begin 12 H.L end + 1343 3742 a 1343 3742 +a +SDict begin [/Subtype /Link/Dest (section.3.13) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1343 3742 a 54 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(23)145 3842 y +SDict begin H.S end + 145 3842 a Fk(3.14.)77 b(L\366sc)n(hen)685 +3842 y +SDict begin 12 H.L end + 685 3842 a 685 3842 a +SDict begin [/Subtype /Link/Dest (section.3.14) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 685 3842 a 66 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(23)145 3942 y +SDict begin H.S end + 145 3942 a Fk(3.15.)77 b(Ausgeb)r(en)745 +3942 y +SDict begin 12 H.L end + 745 3942 a 745 3942 a +SDict begin [/Subtype /Link/Dest (section.3.15) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 745 3942 a 71 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(23)145 4042 y +SDict begin H.S end + 145 4042 a Fk(3.16.)77 b(Der)27 b(T)-7 +b(exteditor)27 b(vi/vim)1205 4042 y +SDict begin 12 H.L end + 1205 4042 a 1205 +4042 a +SDict begin [/Subtype /Link/Dest (section.3.16) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1205 4042 a 63 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(24)145 4143 y +SDict begin H.S end + 145 4143 a Fk(3.17.)77 b(Suc)n(hen)27 +b(nac)n(h)g(Dateien)1153 4143 y +SDict begin 12 H.L end + 1153 4143 a 1153 4143 +a +SDict begin [/Subtype /Link/Dest (section.3.17) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1153 4143 a 50 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(24)145 4243 y +SDict begin H.S end + 145 4243 a Fk(3.18.)77 b(Suc)n(hen)27 +b(in)h(Dateien)1054 4243 y +SDict begin 12 H.L end + 1054 4243 a 1054 4243 a +SDict begin [/Subtype /Link/Dest (section.3.18) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1054 +4243 a 84 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(24)145 4343 y +SDict begin H.S end + 145 4343 a Fk(3.19.)77 b(V)-7 b(ergleic)n(hen)26 +b(v)n(on)h(Dateien)1271 4343 y +SDict begin 12 H.L end + 1271 4343 a 1271 4343 +a +SDict begin [/Subtype /Link/Dest (section.3.19) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1271 4343 a 61 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(25)145 4443 y +SDict begin H.S end + 145 4443 a Fk(3.20.)77 b(Druc)n(k)n(en)696 +4443 y +SDict begin 12 H.L end + 696 4443 a 696 4443 a +SDict begin [/Subtype /Link/Dest (section.3.20) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 696 4443 a 55 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(25)145 4543 y +SDict begin H.S end + 145 4543 a Fk(3.21.)77 b(File-Inhalt)27 +b(b)r(earb)r(eiten)1188 4543 y +SDict begin 12 H.L end + 1188 4543 a 1188 4543 +a +SDict begin [/Subtype /Link/Dest (section.3.21) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1188 4543 a 80 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(25)145 4643 y +SDict begin H.S end + 145 4643 a Fk(3.22.)77 b(T)-7 b(AR)28 +b(\(tap)r(e)g(arc)n(hiv)n(er\))d(v)n(erw)n(altet)h(Dateiarc)n(hiv)n(e) +1982 4643 y +SDict begin 12 H.L end + 1982 4643 a 1982 4643 a +SDict begin [/Subtype /Link/Dest (section.3.22) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1982 4643 a 60 w +Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(25)335 4744 y +SDict begin H.S end + 335 4744 a Fk(3.22.1.)95 b(P)n(ac)n(k)n(en)923 +4744 y +SDict begin 12 H.L end + 923 4744 a 923 4744 a +SDict begin [/Subtype /Link/Dest (subsection.3.22.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 923 4744 a 22 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(27)3079 5092 y(5)p eop end +%%Page: 6 6 +TeXDict begin 6 5 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a 632 +-5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.6) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(Inhaltsv)n(erzeic)n(hnis) +956 360 y +SDict begin H.S end + 956 360 a Fk(3.22.2.)95 b(En)n(tpac)n(k)n(en)1668 +360 y +SDict begin 12 H.L end + 1668 360 a 1668 360 a +SDict begin [/Subtype /Link/Dest (subsection.3.22.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1668 360 a 26 w Fk(.)42 b(.)f(.)h(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(27)765 460 y +SDict begin H.S end + 765 460 +a Fk(3.23.)77 b(Disk)n(etten/F)-7 b(estplatten)1808 460 +y +SDict begin 12 H.L end + 1808 460 a 1808 460 a +SDict begin [/Subtype /Link/Dest (section.3.23) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1808 460 a 80 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)69 b(27)956 560 y +SDict begin H.S end + 956 560 a Fk(3.23.1.)95 +b(Dateisystem)27 b(v)n(ersc)n(hl\374sseln)2227 560 y +SDict begin 12 H.L end + +2227 560 a 2227 560 a +SDict begin [/Subtype /Link/Dest (subsection.3.23.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2227 560 a 48 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(28)765 660 y +SDict begin H.S end + 765 660 a Fk(3.24.)77 b(Zugri\033srec)n(h)n(te/Eigen)n +(t\374mer/Grupp)r(e)2286 660 y +SDict begin 12 H.L end + 2286 660 a 2286 660 a +SDict begin [/Subtype /Link/Dest (section.3.24) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + +2286 660 a 54 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(28)765 760 y +SDict begin H.S end + 765 +760 a Fk(3.25.)77 b(Prozessb)r(efehle)1538 760 y +SDict begin 12 H.L end + 1538 +760 a 1538 760 a +SDict begin [/Subtype /Link/Dest (section.3.25) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1538 760 a 27 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)69 b(30)765 860 y +SDict begin H.S end + 765 860 a Fk(3.26.)77 +b(Re-install)27 b(Grub)g(with)h(Liv)n(e)f(CD)2099 860 +y +SDict begin 12 H.L end + 2099 860 a 2099 860 a +SDict begin [/Subtype /Link/Dest (section.3.26) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2099 860 a 47 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(31)956 960 y +SDict begin H.S end + 956 960 a Fk(3.26.1.)95 b(Chro)r(ot)1545 +960 y +SDict begin 12 H.L end + 1545 960 a 1545 960 a +SDict begin [/Subtype /Link/Dest (subsection.3.26.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1545 960 a 20 w Fk(.)41 b(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(31)956 1060 +y +SDict begin H.S end + 956 1060 a Fk(3.26.2.)95 b(Grub)1478 1060 y +SDict begin 12 H.L end + 1478 1060 +a 1478 1060 a +SDict begin [/Subtype /Link/Dest (subsection.3.26.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1478 1060 a 22 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(31)765 1160 y +SDict begin H.S end + 765 1160 +a Fk(3.27.)77 b(Soft)n(w)n(are)26 b(installieren)1751 +1160 y +SDict begin 12 H.L end + 1751 1160 a 1751 1160 a +SDict begin [/Subtype /Link/Dest (section.3.27) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1751 1160 a 72 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(31)956 1260 +y +SDict begin H.S end + 956 1260 a Fk(3.27.1.)95 b(rpm-F)-7 b(ormat)1729 1260 +y +SDict begin 12 H.L end + 1729 1260 a 1729 1260 a +SDict begin [/Subtype /Link/Dest (subsection.3.27.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1729 1260 a 30 w Fk(.)41 b(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)69 b(31)956 1360 y +SDict begin H.S end + 956 1360 a +Fk(3.27.2.)95 b(deb-F)-7 b(ormat)1710 1360 y +SDict begin 12 H.L end + 1710 1360 +a 1710 1360 a +SDict begin [/Subtype /Link/Dest (subsection.3.27.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1710 1360 a 49 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)69 b(32)956 1460 y +SDict begin H.S end + 956 1460 a Fk(3.27.3.)95 +b(P)n(ortage)26 b(Gen)n(to)r(o)1860 1460 y +SDict begin 12 H.L end + 1860 1460 +a 1860 1460 a +SDict begin [/Subtype /Link/Dest (subsection.3.27.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1860 1460 a 28 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)69 b(33)956 1560 y +SDict begin H.S end + 956 1560 a Fk(3.27.4.)95 b(Quelltexte)1664 +1560 y +SDict begin 12 H.L end + 1664 1560 a 1664 1560 a +SDict begin [/Subtype /Link/Dest (subsection.3.27.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1664 1560 a 30 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(34)956 +1660 y +SDict begin H.S end + 956 1660 a Fk(3.27.5.)95 b(Hilfe)1458 1660 y +SDict begin 12 H.L end + 1458 +1660 a 1458 1660 a +SDict begin [/Subtype /Link/Dest (subsection.3.27.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1458 1660 a 42 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(34)765 1760 y +SDict begin H.S end + 765 +1760 a Fk(3.28.)77 b(Im)27 b(Netz)1308 1760 y +SDict begin 12 H.L end + 1308 1760 +a 1308 1760 a +SDict begin [/Subtype /Link/Dest (section.3.28) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1308 1760 a 63 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(34)765 1860 y +SDict begin H.S end + +765 1860 a Fk(3.29.)77 b(SSH)1168 1860 y +SDict begin 12 H.L end + 1168 1860 a +1168 1860 a +SDict begin [/Subtype /Link/Dest (section.3.29) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1168 1860 a 74 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(35)956 1960 +y +SDict begin H.S end + 956 1960 a Fk(3.29.1.)95 b(Generierung)26 b(eines)h(DSA)i(Sc)n +(hl\374sselpaares)2717 1960 y +SDict begin 12 H.L end + 2717 1960 a 2717 1960 a +SDict begin [/Subtype /Link/Dest (subsection.3.29.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + +2717 1960 a 75 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)69 b(35)956 2060 y +SDict begin H.S end + 956 2060 a Fk(3.29.2.)95 b(Public-Key)27 +b(auf)h(dem)f(Zielrec)n(hner)f(hinzuf\374gen)2861 2060 +y +SDict begin 12 H.L end + 2861 2060 a 2861 2060 a +SDict begin [/Subtype /Link/Dest (subsection.3.29.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2861 2060 a 60 w Fk(.)41 b(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)h(.)f(.)69 b(35)956 2160 y +SDict begin H.S end + 956 2160 a Fk(3.29.3.)95 +b(Priv)-5 b(ate-Key)26 b(auf)i(dem)g(Qellrec)n(hner)2486 +2160 y +SDict begin 12 H.L end + 2486 2160 a 2486 2160 a +SDict begin [/Subtype /Link/Dest (subsection.3.29.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2486 2160 a 47 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(35)956 2260 y +SDict begin H.S end + 956 2260 a Fk(3.29.4.)95 b(Login)26 b(n)n(ur)h(mit)i +(SSH-Keys)d(erlaub)r(en)2521 2260 y +SDict begin 12 H.L end + 2521 2260 a 2521 +2260 a +SDict begin [/Subtype /Link/Dest (subsection.3.29.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2521 2260 a 77 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)69 b(36)765 2360 y +SDict begin H.S end + 765 2360 a +Fk(3.30.)77 b(Gn)n(uPG)1290 2360 y +SDict begin 12 H.L end + 1290 2360 a 1290 2360 +a +SDict begin [/Subtype /Link/Dest (section.3.30) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1290 2360 a 81 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)69 b(36)956 2460 y +SDict begin H.S end + 956 2460 a +Fk(3.30.1.)95 b(Erzeugen)1622 2460 y +SDict begin 12 H.L end + 1622 2460 a 1622 +2460 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1622 2460 a 72 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)69 b(36)956 2560 y +SDict begin H.S end + 956 2560 a Fk(3.30.2.)95 b(Ho)r(c)n(hladen) +1669 2560 y +SDict begin 12 H.L end + 1669 2560 a 1669 2560 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1669 2560 a 25 w +Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(36)956 2660 y +SDict begin H.S end + 956 2660 a Fk(3.30.3.)95 b(L\366sc)n(hen)1579 +2660 y +SDict begin 12 H.L end + 1579 2660 a 1579 2660 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1579 2660 a 50 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(37)956 2760 y +SDict begin H.S end + 956 2760 a Fk(3.30.4.)95 b(Holen)1498 +2760 y +SDict begin 12 H.L end + 1498 2760 a 1498 2760 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1498 2760 a 67 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(37)956 2859 y +SDict begin H.S end + 956 2859 a Fk(3.30.5.)95 b(Signatur)26 +b(erzeugen)h(und)h(pr\374fen)2365 2859 y +SDict begin 12 H.L end + 2365 2859 a +2365 2859 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2365 2859 a 39 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(37)956 2959 +y +SDict begin H.S end + 956 2959 a Fk(3.30.6.)95 b(V)-7 b(ersc)n(hl\374sseln)1768 +2959 y +SDict begin 12 H.L end + 1768 2959 a 1768 2959 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1768 2959 a 55 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(37)956 3059 +y +SDict begin H.S end + 956 3059 a Fk(3.30.7.)95 b(En)n(tsc)n(hl\374sseln)1775 +3059 y +SDict begin 12 H.L end + 1775 3059 a 1775 3059 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1775 3059 a 48 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(37)956 3159 +y +SDict begin H.S end + 956 3159 a Fk(3.30.8.)95 b(Sc)n(hl\374sselv)n(erw)n(altung)2011 +3159 y +SDict begin 12 H.L end + 2011 3159 a 2011 3159 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.8) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2011 3159 a 70 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)69 b(38)956 3259 y +SDict begin H.S end + 956 3259 a +Fk(3.30.9.)95 b(Anzeigen)1618 3259 y +SDict begin 12 H.L end + 1618 3259 a 1618 +3259 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.9) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1618 3259 a 76 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)69 b(38)956 3359 y +SDict begin H.S end + 956 3359 a Fk(3.30.10.)53 +b(Exp)r(ortieren)1719 3359 y +SDict begin 12 H.L end + 1719 3359 a 1719 3359 a +SDict begin [/Subtype /Link/Dest (subsection.3.30.10) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + +1719 3359 a 40 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(38)765 3459 y +SDict begin H.S end + 765 3459 a Fk(3.31.)77 b(X11)27 b(-)g(Gra\034k)1472 +3459 y +SDict begin 12 H.L end + 1472 3459 a 1472 3459 a +SDict begin [/Subtype /Link/Dest (section.3.31) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1472 3459 a 28 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(38)956 3559 y +SDict begin H.S end + 956 3559 a Fk(3.31.1.)95 b(Bildsc)n(hirmsc)n(honer)1950 +3559 y +SDict begin 12 H.L end + 1950 3559 a 1950 3559 a +SDict begin [/Subtype /Link/Dest (subsection.3.31.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1950 3559 a 67 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(39)956 3659 y +SDict begin H.S end + 956 3659 +a Fk(3.31.2.)95 b(X11)26 b(ohne)i(Maus)1856 3659 y +SDict begin 12 H.L end + 1856 +3659 a 1856 3659 a +SDict begin [/Subtype /Link/Dest (subsection.3.31.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1856 3659 a 32 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)69 b(39)640 3844 y +SDict begin H.S end + 640 3844 a Fj(4.)54 b(V)m(erzeichnisse)30 +b(und)f(Dateien)1763 3844 y +SDict begin 12 H.L end + 1763 3844 a 1763 3844 a +SDict begin [/Subtype /Link/Dest (chapter.4) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 1763 +3844 a 1886 w Fj(41)765 3944 y +SDict begin H.S end + 765 3944 a Fk(4.1.)119 +b(Dateibaum)1414 3944 y +SDict begin 12 H.L end + 1414 3944 a 1414 3944 a +SDict begin [/Subtype /Link/Dest (section.4.1) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1414 +3944 a 22 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)69 b(41)765 4044 y +SDict begin H.S end + 765 4044 a Fk(4.2.)119 +b(/etc/fstab)1382 4044 y +SDict begin 12 H.L end + 1382 4044 a 1382 4044 a +SDict begin [/Subtype /Link/Dest (section.4.2) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1382 +4044 a 54 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)69 b(48)765 4144 y +SDict begin H.S end + 765 4144 a Fk(4.3.)119 +b(/dev/)1225 4144 y +SDict begin 12 H.L end + 1225 4144 a 1225 4144 a +SDict begin [/Subtype /Link/Dest (section.4.3) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1225 4144 +a 82 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)69 b(48)765 4244 y +SDict begin H.S end + 765 4244 a Fk(4.4.)119 +b(Dateisystem)n(t)n(yp)r(en)27 b(un)n(ter)g(Lin)n(ux)2117 +4244 y +SDict begin 12 H.L end + 2117 4244 a 2117 4244 a +SDict begin [/Subtype /Link/Dest (section.4.4) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 2117 4244 a 29 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)69 b(49)765 4344 y +SDict begin H.S end + 765 4344 a Fk(4.5.)119 +b(/etc/group)1413 4344 y +SDict begin 12 H.L end + 1413 4344 a 1413 4344 a +SDict begin [/Subtype /Link/Dest (section.4.5) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1413 +4344 a 23 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)69 b(49)765 4444 y +SDict begin H.S end + 765 4444 a Fk(4.6.)119 +b(/etc/hosts)1390 4444 y +SDict begin 12 H.L end + 1390 4444 a 1390 4444 a +SDict begin [/Subtype /Link/Dest (section.4.6) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1390 +4444 a 46 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)69 b(50)765 4544 y +SDict begin H.S end + 765 4544 a Fk(4.7.)119 +b(/etc/inittab)1448 4544 y +SDict begin 12 H.L end + 1448 4544 a 1448 4544 a +SDict begin [/Subtype /Link/Dest (section.4.7) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1448 +4544 a 52 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)69 b(50)956 4644 y +SDict begin H.S end + 956 4644 a Fk(4.7.1.)137 b(T)-7 +b(erminal)1614 4644 y +SDict begin 12 H.L end + 1614 4644 a 1614 4644 a +SDict begin [/Subtype /Link/Dest (subsection.4.7.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1614 4644 +a 80 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(50)956 4744 y +SDict begin H.S end + 956 4744 a Fk(4.7.2.)137 b(T)-7 b(ermcap)r(ein)n(trag) +1860 4744 y +SDict begin 12 H.L end + 1860 4744 a 1860 4744 a +SDict begin [/Subtype /Link/Dest (subsection.4.7.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1860 4744 a 28 w +Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(50)640 +5092 y(6)p eop end +%%Page: 7 7 +TeXDict begin 7 6 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.7) cvn /DEST pdfmark end + 12 -5 a 2478 128 a Fh(Inhaltsv)n(erzeic)n(hnis)335 +360 y +SDict begin H.S end + 335 360 a Fk(4.7.3.)137 b(Gett)n(yk)n(ommando)1273 +360 y +SDict begin 12 H.L end + 1273 360 a 1273 360 a +SDict begin [/Subtype /Link/Dest (subsection.4.7.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1273 360 a 59 w Fk(.)42 b(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)68 b(51)335 461 y +SDict begin H.S end + 335 461 a Fk(4.7.4.)137 +b(K\374rzel)908 461 y +SDict begin 12 H.L end + 908 461 a 908 461 a +SDict begin [/Subtype /Link/Dest (subsection.4.7.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 908 461 a 37 +w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(51)335 561 y +SDict begin H.S end + 335 561 a Fk(4.7.5.)137 b(Arb)r(eitsstufen)1154 +561 y +SDict begin 12 H.L end + 1154 561 a 1154 561 a +SDict begin [/Subtype /Link/Dest (subsection.4.7.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1154 561 a 49 w Fk(.)42 b(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)68 b(51)335 662 y +SDict begin H.S end + 335 662 a Fk(4.7.6.)137 +b(Mo)r(dus)912 662 y +SDict begin 12 H.L end + 912 662 a 912 662 a +SDict begin [/Subtype /Link/Dest (subsection.4.7.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 912 662 a 33 +w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(51)335 762 y +SDict begin H.S end + 335 762 a Fk(4.7.7.)137 b(K)n(ommando)1086 +762 y +SDict begin 12 H.L end + 1086 762 a 1086 762 a +SDict begin [/Subtype /Link/Dest (subsection.4.7.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1086 762 a 52 w Fk(.)42 b(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)68 b(52)145 863 y +SDict begin H.S end + 145 863 a Fk(4.8.)119 +b(/etc/passwd)844 863 y +SDict begin 12 H.L end + 844 863 a 844 863 a +SDict begin [/Subtype /Link/Dest (section.4.8) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 844 863 a +36 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +68 b(53)20 1050 y +SDict begin H.S end + 20 1050 a Fj(5.)54 b(Die)31 b(Shells)522 +1050 y +SDict begin 12 H.L end + 522 1050 a 522 1050 a +SDict begin [/Subtype /Link/Dest (chapter.5) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 522 1050 a 2507 w Fj(55)145 +1151 y +SDict begin H.S end + 145 1151 a Fk(5.1.)119 b(Die)28 b(Shells)753 1151 +y +SDict begin 12 H.L end + 753 1151 a 753 1151 a +SDict begin [/Subtype /Link/Dest (section.5.1) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 753 1151 a 63 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(55)145 1252 +y +SDict begin H.S end + 145 1252 a Fk(5.2.)119 b(Die)28 b(Start-Scripts)1008 +1252 y +SDict begin 12 H.L end + 1008 1252 a 1008 1252 a +SDict begin [/Subtype /Link/Dest (section.5.2) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1008 1252 a 66 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(55)145 +1352 y +SDict begin H.S end + 145 1352 a Fk(5.3.)119 b(T)-7 b(astenk)n(om)n(binationen)1171 +1352 y +SDict begin 12 H.L end + 1171 1352 a 1171 1352 a +SDict begin [/Subtype /Link/Dest (section.5.3) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1171 1352 a 32 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(55)145 1453 +y +SDict begin H.S end + 145 1453 a Fk(5.4.)119 b(Die)28 b(C-Shell)808 1453 +y +SDict begin 12 H.L end + 808 1453 a 808 1453 a +SDict begin [/Subtype /Link/Dest (section.5.4) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 808 1453 a 72 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(56)145 1553 +y +SDict begin H.S end + 145 1553 a Fk(5.5.)119 b(Bash)26 b(rec)n(hnen)880 1553 +y +SDict begin 12 H.L end + 880 1553 a 880 1553 a +SDict begin [/Subtype /Link/Dest (section.5.5) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 880 1553 a 65 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(57)20 1861 y +SDict begin H.S end + 20 +1861 a Fi(I)s(I.)k(Programme)728 1861 y +SDict begin 14 H.L end + 728 1861 a 728 +1861 a +SDict begin [/Subtype /Link/Dest (part.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 728 1861 a 2280 w Fi(59)20 2049 y +SDict begin H.S end + 20 2049 a Fj(6.)54 +b(Der)30 b(T)-8 b(extedito)m(r)30 b(vi/vim)977 2049 y +SDict begin 12 H.L end + +977 2049 a 977 2049 a +SDict begin [/Subtype /Link/Dest (chapter.6) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 977 2049 a 2052 w Fj(61)145 2149 +y +SDict begin H.S end + 145 2149 a Fk(6.1.)119 b(Aufruf)631 2149 y +SDict begin 12 H.L end + 631 2149 +a 631 2149 a +SDict begin [/Subtype /Link/Dest (section.6.1) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 631 2149 a 55 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(61)145 2250 +y +SDict begin H.S end + 145 2250 a Fk(6.2.)119 b(Eingab)r(emo)r(dus)27 b(\(input)i(mo)r(de\)) +1435 2250 y +SDict begin 12 H.L end + 1435 2250 a 1435 2250 a +SDict begin [/Subtype /Link/Dest (section.6.2) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1435 2250 a 26 w +Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(61)145 2351 y +SDict begin H.S end + 145 +2351 a Fk(6.3.)119 b(Befehlsmo)r(dus)27 b(\(visual)g(mo)r(de\))1417 +2351 y +SDict begin 12 H.L end + 1417 2351 a 1417 2351 a +SDict begin [/Subtype /Link/Dest (section.6.3) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1417 2351 a 44 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)68 b(61)335 2451 y +SDict begin H.S end + 335 2451 a +Fk(6.3.1.)137 b(Eingeb)r(en:)1025 2451 y +SDict begin 12 H.L end + 1025 2451 a +1025 2451 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1025 2451 a 49 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)68 b(61)335 2552 y +SDict begin H.S end + 335 2552 a Fk(6.3.2.)137 +b(\334b)r(ersc)n(hreib)r(en:)1208 2552 y +SDict begin 12 H.L end + 1208 2552 a +1208 2552 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1208 2552 a 60 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +68 b(61)335 2652 y +SDict begin H.S end + 335 2652 a Fk(6.3.3.)137 b(Bew)n(egen:)1006 +2652 y +SDict begin 12 H.L end + 1006 2652 a 1006 2652 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1006 2652 a 68 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(62)335 +2753 y +SDict begin H.S end + 335 2753 a Fk(6.3.4.)137 b(L\366sc)n(hen)27 b(und)h(Eingeb)r +(en:)1509 2753 y +SDict begin 12 H.L end + 1509 2753 a 1509 2753 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1509 2753 a +81 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(63)335 2854 y +SDict begin H.S end + 335 2854 +a Fk(6.3.5.)137 b(L\366sc)n(hen:)981 2854 y +SDict begin 12 H.L end + 981 2854 +a 981 2854 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 981 2854 a 28 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)68 b(63)335 2954 y +SDict begin H.S end + 335 2954 a Fk(6.3.6.)137 +b(Aufheb)r(en:)1037 2954 y +SDict begin 12 H.L end + 1037 2954 a 1037 2954 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1037 +2954 a 37 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(63)335 3055 y +SDict begin H.S end + 335 3055 a Fk(6.3.7.)137 b(V)-7 b(ersc)n(hieb)r(en:) +1120 3055 y +SDict begin 12 H.L end + 1120 3055 a 1120 3055 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1120 3055 a 83 w +Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(63)335 +3155 y +SDict begin H.S end + 335 3155 a Fk(6.3.8.)137 b(Zusammenf\374gen:)1279 +3155 y +SDict begin 12 H.L end + 1279 3155 a 1279 3155 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.8) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1279 3155 a 53 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(64)335 3256 y +SDict begin H.S end + 335 +3256 a Fk(6.3.9.)137 b(Markieren:)1061 3256 y +SDict begin 12 H.L end + 1061 3256 +a 1061 3256 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.9) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1061 3256 a 77 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)68 b(64)335 3357 y +SDict begin H.S end + 335 3357 a Fk(6.3.10.)95 +b(K)n(opieren:)1017 3357 y +SDict begin 12 H.L end + 1017 3357 a 1017 3357 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.10) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1017 +3357 a 57 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(64)335 3457 y +SDict begin H.S end + 335 3457 a Fk(6.3.11.)95 b(Einf\374gen:)1011 +3457 y +SDict begin 12 H.L end + 1011 3457 a 1011 3457 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.11) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1011 3457 a 63 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(64)335 +3558 y +SDict begin H.S end + 335 3558 a Fk(6.3.12.)95 b(Suc)n(hen:)946 3558 +y +SDict begin 12 H.L end + 946 3558 a 946 3558 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.12) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 946 3558 a 63 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(64)335 3658 y +SDict begin H.S end + 335 3658 +a Fk(6.3.13.)95 b(Wiederholen:)1145 3658 y +SDict begin 12 H.L end + 1145 3658 +a 1145 3658 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.13) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1145 3658 a 58 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)68 b(64)335 3759 y +SDict begin H.S end + 335 3759 a Fk(6.3.14.)95 b(Sonstige)27 +b(K)n(ommandos:)1470 3759 y +SDict begin 12 H.L end + 1470 3759 a 1470 3759 a +SDict begin [/Subtype /Link/Dest (subsection.6.3.14) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1470 +3759 a 56 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(65)145 3860 +y +SDict begin H.S end + 145 3860 a Fk(6.4.)119 b(K)n(ommandomo)r(dus)26 b(\(colon)h(mo)r +(de\))1554 3860 y +SDict begin 12 H.L end + 1554 3860 a 1554 3860 a +SDict begin [/Subtype /Link/Dest (section.6.4) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1554 3860 a +36 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(65)335 3960 y +SDict begin H.S end + 335 3960 +a Fk(6.4.1.)137 b(T)-7 b(exteingab)r(e)28 b(K)n(ommandos)1588 +3960 y +SDict begin 12 H.L end + 1588 3960 a 1588 3960 a +SDict begin [/Subtype /Link/Dest (subsection.6.4.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1588 3960 a 67 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)68 b(65)20 4148 y +SDict begin H.S end + 20 4148 a Fj(7.)54 b(LaT)-8 +b(eX)393 4148 y +SDict begin 12 H.L end + 393 4148 a 393 4148 a +SDict begin [/Subtype /Link/Dest (chapter.7) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 393 4148 a 2636 +w Fj(67)145 4248 y +SDict begin H.S end + 145 4248 a Fk(7.1.)119 b(L)416 4231 +y Fg(A)453 4248 y Fk(T)499 4266 y(E)544 4248 y(X)606 +4248 y +SDict begin 12 H.L end + 606 4248 a 606 4248 a +SDict begin [/Subtype /Link/Dest (section.7.1) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 606 4248 a 80 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +68 b(67)20 4556 y +SDict begin H.S end + 20 4556 a Fi(I)s(I)s(I.)39 b(Linux)d(im)h(Netzw)m +(erk)1065 4556 y +SDict begin 14 H.L end + 1065 4556 a 1065 4556 a +SDict begin [/Subtype /Link/Dest (part.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 1065 4556 a +1943 w Fi(69)20 4744 y +SDict begin H.S end + 20 4744 a Fj(8.)54 b(Netzw)m(erk)503 +4744 y +SDict begin 12 H.L end + 503 4744 a 503 4744 a +SDict begin [/Subtype /Link/Dest (chapter.8) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 503 4744 a 2526 w Fj(71)3079 +5092 y Fk(7)p eop end +%%Page: 8 8 +TeXDict begin 8 7 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a 632 +-5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.8) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(Inhaltsv)n(erzeic)n(hnis) +640 360 y +SDict begin H.S end + 640 360 a Fj(9.)54 b(Apache)1047 360 y +SDict begin 12 H.L end + 1047 +360 a 1047 360 a +SDict begin [/Subtype /Link/Dest (chapter.9) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 1047 360 a 2602 w Fj(73)765 462 y +SDict begin H.S end + 765 +462 a Fk(9.1.)119 b(Einleitung)1388 462 y +SDict begin 12 H.L end + 1388 462 a +1388 462 a +SDict begin [/Subtype /Link/Dest (section.9.1) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1388 462 a 48 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(73)765 565 y +SDict begin H.S end + 765 565 +a Fk(9.2.)119 b(K)n(ompilieren)26 b(und)i(Installieren)2053 +565 y +SDict begin 12 H.L end + 2053 565 a 2053 565 a +SDict begin [/Subtype /Link/Dest (section.9.2) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 2053 565 a 28 w Fk(.)42 b(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)69 b(73)956 667 y +SDict begin H.S end + 956 667 a Fk(9.2.1.)137 b(Anforderungen)1829 +667 y +SDict begin 12 H.L end + 1829 667 a 1829 667 a +SDict begin [/Subtype /Link/Dest (subsection.9.2.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1829 667 a 59 w Fk(.)41 b(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)69 b(73)956 769 y +SDict begin H.S end + 956 769 a Fk(9.2.2.)137 +b(V)-7 b(orb)r(ereitungen)1845 769 y +SDict begin 12 H.L end + 1845 769 a 1845 +769 a +SDict begin [/Subtype /Link/Dest (subsection.9.2.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1845 769 a 43 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(73)956 872 y +SDict begin H.S end + 956 872 a Fk(9.2.3.)137 b(Op)r(enSSL)1628 +872 y +SDict begin 12 H.L end + 1628 872 a 1628 872 a +SDict begin [/Subtype /Link/Dest (subsection.9.2.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1628 872 a 66 w Fk(.)42 b(.)f(.)h(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(74)956 974 y +SDict begin H.S end + 956 974 +a Fk(9.2.4.)137 b(Apac)n(he)27 b(1.3)f(und)i(SSL)2026 +974 y +SDict begin 12 H.L end + 2026 974 a 2026 974 a +SDict begin [/Subtype /Link/Dest (subsection.9.2.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2026 974 a 55 w Fk(.)42 b(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)69 b(74)956 1076 y +SDict begin H.S end + 956 1076 a Fk(9.2.5.)137 b(Apac)n(he2)1598 +1076 y +SDict begin 12 H.L end + 1598 1076 a 1598 1076 a +SDict begin [/Subtype /Link/Dest (subsection.9.2.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1598 1076 a 31 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(76)956 1179 y +SDict begin H.S end + 956 1179 a Fk(9.2.6.)137 b(T)-7 b(esten)1526 +1179 y +SDict begin 12 H.L end + 1526 1179 a 1526 1179 a +SDict begin [/Subtype /Link/Dest (subsection.9.2.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1526 1179 a 39 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(76)956 1281 y +SDict begin H.S end + 956 1281 a Fk(9.2.7.)137 b(Upgrade)1596 +1281 y +SDict begin 12 H.L end + 1596 1281 a 1596 1281 a +SDict begin [/Subtype /Link/Dest (subsection.9.2.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1596 1281 a 33 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(77)956 1383 y +SDict begin H.S end + 956 1383 a Fk(9.2.8.)137 b(PureFTPd)1676 +1383 y +SDict begin 12 H.L end + 1676 1383 a 1676 1383 a +SDict begin [/Subtype /Link/Dest (subsection.9.2.8) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1676 1383 a 83 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(77)765 +1486 y +SDict begin H.S end + 765 1486 a Fk(9.3.)119 b(Apac)n(he)27 b(starten)1564 +1486 y +SDict begin 12 H.L end + 1564 1486 a 1564 1486 a +SDict begin [/Subtype /Link/Dest (section.9.3) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1564 1486 a 65 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(78)956 1588 y +SDict begin H.S end + 956 1588 a Fk(9.3.1.)137 b(Apac)n(he)27 +b(starten)1838 1588 y +SDict begin 12 H.L end + 1838 1588 a 1838 1588 a +SDict begin [/Subtype /Link/Dest (subsection.9.3.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1838 1588 +a 50 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(78)956 +1690 y +SDict begin H.S end + 956 1690 a Fk(9.3.2.)137 b(Wie)27 b(der)h(Apac)n(he)f(startet) +2140 1690 y +SDict begin 12 H.L end + 2140 1690 a 2140 1690 a +SDict begin [/Subtype /Link/Dest (subsection.9.3.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2140 1690 a 70 w +Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)69 b(78)956 1793 y +SDict begin H.S end + 956 1793 a +Fk(9.3.3.)137 b(F)-7 b(ehler)27 b(w)n(\344hrend)g(des)g(Ho)r(c)n +(hfahrens)2465 1793 y +SDict begin 12 H.L end + 2465 1793 a 2465 1793 a +SDict begin [/Subtype /Link/Dest (subsection.9.3.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2465 1793 +a 68 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)69 b(79)956 1895 y +SDict begin H.S end + 956 1895 a Fk(9.3.4.)137 b(Automatisc)n(h)27 +b(starten)g(und)h(b)r(eenden)2522 1895 y +SDict begin 12 H.L end + 2522 1895 a +2522 1895 a +SDict begin [/Subtype /Link/Dest (subsection.9.3.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2522 1895 a 76 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(79)956 1997 y +SDict begin H.S end + 956 1997 +a Fk(9.3.5.)137 b(W)-7 b(eitere)27 b(Informationen)2105 +1997 y +SDict begin 12 H.L end + 2105 1997 a 2105 1997 a +SDict begin [/Subtype /Link/Dest (subsection.9.3.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2105 1997 a 41 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)69 b(79)765 2100 y +SDict begin H.S end + 765 2100 a Fk(9.4.)119 +b(Beenden)27 b(und)h(Neustarten)1915 2100 y +SDict begin 12 H.L end + 1915 2100 +a 1915 2100 a +SDict begin [/Subtype /Link/Dest (section.9.4) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1915 2100 a 37 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(80)956 2202 y +SDict begin H.S end + 956 2202 a Fk(9.4.1.)137 b(Einleitung)1662 +2202 y +SDict begin 12 H.L end + 1662 2202 a 1662 2202 a +SDict begin [/Subtype /Link/Dest (subsection.9.4.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1662 2202 a 32 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(80)956 +2304 y +SDict begin H.S end + 956 2304 a Fk(9.4.2.)137 b(Beenden)1596 2304 y +SDict begin 12 H.L end + +1596 2304 a 1596 2304 a +SDict begin [/Subtype /Link/Dest (subsection.9.4.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1596 2304 a 33 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(80)956 2407 y +SDict begin H.S end + 956 2407 +a Fk(9.4.3.)137 b(Un)n(terbrec)n(h)n(ungsfreier)25 b(Neustart)2388 +2407 y +SDict begin 12 H.L end + 2388 2407 a 2388 2407 a +SDict begin [/Subtype /Link/Dest (subsection.9.4.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2388 2407 a 81 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(80)956 2509 y +SDict begin H.S end + 956 2509 a Fk(9.4.4.)137 b(Neustarten)1688 +2509 y +SDict begin 12 H.L end + 1688 2509 a 1688 2509 a +SDict begin [/Subtype /Link/Dest (subsection.9.4.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1688 2509 a 71 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(81)956 +2611 y +SDict begin H.S end + 956 2611 a Fk(9.4.5.)137 b(Anhang:)27 b(Syn)n(tax)g(\374b)r +(erpr\374fen)2298 2611 y +SDict begin 12 H.L end + 2298 2611 a 2298 2611 a +SDict begin [/Subtype /Link/Dest (subsection.9.4.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2298 +2611 a 42 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(81)765 2714 y +SDict begin H.S end + 765 2714 +a Fk(9.5.)119 b(Anhang)1298 2714 y +SDict begin 12 H.L end + 1298 2714 a 1298 2714 +a +SDict begin [/Subtype /Link/Dest (section.9.5) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1298 2714 a 73 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)69 b(82)956 2816 y +SDict begin H.S end + 956 2816 a +Fk(9.5.1.)137 b(Zu)27 b(den)h(Dateien)1849 2816 y +SDict begin 12 H.L end + 1849 +2816 a 1849 2816 a +SDict begin [/Subtype /Link/Dest (subsection.9.5.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1849 2816 a 39 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)69 b(82)765 2918 y +SDict begin H.S end + 765 2918 a Fk(9.6.)119 b(Ben)n(utzerhandbuc) +n(h)1692 2918 y +SDict begin 12 H.L end + 1692 2918 a 1692 2918 a +SDict begin [/Subtype /Link/Dest (section.9.6) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1692 2918 a 67 +w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(82)956 3021 y +SDict begin H.S end + 956 3021 a Fk(9.6.1.)137 b(h)n(ttp)r(d.conf)1663 +3021 y +SDict begin 12 H.L end + 1663 3021 a 1663 3021 a +SDict begin [/Subtype /Link/Dest (subsection.9.6.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1663 3021 a 31 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(82)956 +3123 y +SDict begin H.S end + 956 3123 a Fk(9.6.2.)137 b(A)n(ccess)26 b(Con)n(trol)h(List)g +(File)h(\(.h)n(taccess\))2568 3123 y +SDict begin 12 H.L end + 2568 3123 a 2568 +3123 a +SDict begin [/Subtype /Link/Dest (subsection.9.6.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2568 3123 a 30 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)69 b(85)956 3225 y +SDict begin H.S end + 956 3225 a +Fk(9.6.3.)137 b(Grupp)r(endatei)27 b(\(.h)n(tgroup\))2188 +3225 y +SDict begin 12 H.L end + 2188 3225 a 2188 3225 a +SDict begin [/Subtype /Link/Dest (subsection.9.6.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2188 3225 a 22 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)69 b(86)956 3328 y +SDict begin H.S end + 956 3328 a Fk(9.6.4.)137 +b(P)n(assw)n(ort-Datei)25 b(\(.h)n(tpasswd\))2288 3328 +y +SDict begin 12 H.L end + 2288 3328 a 2288 3328 a +SDict begin [/Subtype /Link/Dest (subsection.9.6.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2288 3328 a 52 w Fk(.)41 b(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(86)956 3430 y +SDict begin H.S end + 956 3430 a Fk(9.6.5.)137 b(Erstellen)27 +b(eines)h(SSL-Zerti\034k)-5 b(ats)2379 3430 y +SDict begin 12 H.L end + 2379 3430 +a 2379 3430 a +SDict begin [/Subtype /Link/Dest (subsection.9.6.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2379 3430 a 25 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(86)956 3532 +y +SDict begin H.S end + 956 3532 a Fk(9.6.6.)137 b(LinkIcon)27 b(\(fa)n(vicon.ico\))2081 +3532 y +SDict begin 12 H.L end + 2081 3532 a 2081 3532 a +SDict begin [/Subtype /Link/Dest (subsection.9.6.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2081 3532 a 65 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)69 b(86)640 3729 y +SDict begin H.S end + 640 3729 a Fj(10.)8 +b(MySQL)1053 3729 y +SDict begin 12 H.L end + 1053 3729 a 1053 3729 a +SDict begin [/Subtype /Link/Dest (chapter.10) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1053 3729 +a 2596 w Fj(89)765 3831 y +SDict begin H.S end + 765 3831 a Fk(10.1.)77 b(Einleitung)1388 +3831 y +SDict begin 12 H.L end + 1388 3831 a 1388 3831 a +SDict begin [/Subtype /Link/Dest (section.10.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1388 3831 a 48 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(89)765 3933 y +SDict begin H.S end + 765 3933 a Fk(10.2.)77 b(K)n(ompilieren)26 +b(und)i(Installieren)2053 3933 y +SDict begin 12 H.L end + 2053 3933 a 2053 3933 +a +SDict begin [/Subtype /Link/Dest (section.10.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2053 3933 a 28 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(89)956 +4036 y +SDict begin H.S end + 956 4036 a Fk(10.2.1.)95 b(Anforderungen)1829 +4036 y +SDict begin 12 H.L end + 1829 4036 a 1829 4036 a +SDict begin [/Subtype /Link/Dest (subsection.10.2.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1829 4036 a 59 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(89)956 4138 y +SDict begin H.S end + +956 4138 a Fk(10.2.2.)95 b(V)-7 b(orb)r(ereitungen)1845 +4138 y +SDict begin 12 H.L end + 1845 4138 a 1845 4138 a +SDict begin [/Subtype /Link/Dest (subsection.10.2.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1845 4138 a 43 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(89)956 4240 y +SDict begin H.S end + +956 4240 a Fk(10.2.3.)95 b(MySQL)1571 4240 y +SDict begin 12 H.L end + 1571 4240 +a 1571 4240 a +SDict begin [/Subtype /Link/Dest (subsection.10.2.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1571 4240 a 58 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)69 b(89)956 4343 y +SDict begin H.S end + 956 4343 a Fk(10.2.4.)95 +b(MySQL)27 b(T)-7 b(esten)1836 4343 y +SDict begin 12 H.L end + 1836 4343 a 1836 +4343 a +SDict begin [/Subtype /Link/Dest (subsection.10.2.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1836 4343 a 52 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 +b(90)956 4445 y +SDict begin H.S end + 956 4445 a Fk(10.2.5.)95 b(phpMyA)n(dmin)1790 +4445 y +SDict begin 12 H.L end + 1790 4445 a 1790 4445 a +SDict begin [/Subtype /Link/Dest (subsection.10.2.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1790 4445 a 33 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)69 b(91)640 4641 +y +SDict begin H.S end + 640 4641 a Fj(11.)8 b(PHP)947 4641 y +SDict begin 12 H.L end + 947 4641 a 947 +4641 a +SDict begin [/Subtype /Link/Dest (chapter.11) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 947 4641 a 2702 w Fj(93)765 4744 y +SDict begin H.S end + 765 4744 a +Fk(11.1.)77 b(Einleitung)1388 4744 y +SDict begin 12 H.L end + 1388 4744 a 1388 +4744 a +SDict begin [/Subtype /Link/Dest (section.11.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1388 4744 a 48 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)69 b(93)640 5092 y(8)p eop end +%%Page: 9 9 +TeXDict begin 9 8 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.9) cvn /DEST pdfmark end + 12 -5 a 2478 128 a Fh(Inhaltsv)n(erzeic)n(hnis)145 +360 y +SDict begin H.S end + 145 360 a Fk(11.2.)77 b(K)n(ompilieren)26 b(und)i(Installieren) +1433 360 y +SDict begin 12 H.L end + 1433 360 a 1433 360 a +SDict begin [/Subtype /Link/Dest (section.11.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1433 360 a 28 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)68 b(93)335 460 y +SDict begin H.S end + 335 460 a Fk(11.2.1.)95 +b(Anforderungen)1208 460 y +SDict begin 12 H.L end + 1208 460 a 1208 460 a +SDict begin [/Subtype /Link/Dest (subsection.11.2.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1208 +460 a 60 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(93)335 561 y +SDict begin H.S end + 335 561 a Fk(11.2.2.)95 b(V)-7 b(orb)r(ereitungen)1224 +561 y +SDict begin 12 H.L end + 1224 561 a 1224 561 a +SDict begin [/Subtype /Link/Dest (subsection.11.2.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1224 561 a 44 w Fk(.)41 b(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)68 b(93)335 661 y +SDict begin H.S end + 335 661 a Fk(11.2.3.)95 +b(Libraries)26 b(f\374r)i(Zusatzfunktionen)1775 661 y +SDict begin 12 H.L end + +1775 661 a 1775 661 a +SDict begin [/Subtype /Link/Dest (subsection.11.2.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1775 661 a 74 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(94)335 +762 y +SDict begin H.S end + 335 762 a Fk(11.2.4.)95 b(PHP)841 762 y +SDict begin 12 H.L end + 841 762 +a 841 762 a +SDict begin [/Subtype /Link/Dest (subsection.11.2.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 841 762 a 39 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)68 b(95)145 862 y +SDict begin H.S end + 145 862 a Fk(11.3.)77 +b(Referenz)707 862 y +SDict begin 12 H.L end + 707 862 a 707 862 a +SDict begin [/Subtype /Link/Dest (section.11.3) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 707 862 a 44 +w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)68 b(96)335 963 y +SDict begin H.S end + 335 963 a Fk(11.3.1.)95 b(Grundlagen)1093 +963 y +SDict begin 12 H.L end + 1093 963 a 1093 963 a +SDict begin [/Subtype /Link/Dest (subsection.11.3.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1093 963 a 45 w Fk(.)42 b(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)68 b(96)335 1063 y +SDict begin H.S end + 335 1063 a +Fk(11.3.2.)95 b(F)-7 b(unktionen)1076 1063 y +SDict begin 12 H.L end + 1076 1063 +a 1076 1063 a +SDict begin [/Subtype /Link/Dest (subsection.11.3.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1076 1063 a 62 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)68 b(96)20 1250 y +SDict begin H.S end + 20 1250 a Fj(12.)8 b(Squid)358 +1250 y +SDict begin 12 H.L end + 358 1250 a 358 1250 a +SDict begin [/Subtype /Link/Dest (chapter.12) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 358 1250 a 2671 w Fj(97)145 +1350 y +SDict begin H.S end + 145 1350 a Fk(12.1.)77 b(Pro)n(xy)611 1350 y +SDict begin 12 H.L end + 611 +1350 a 611 1350 a +SDict begin [/Subtype /Link/Dest (section.12.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 611 1350 a 75 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(97)145 1451 +y +SDict begin H.S end + 145 1451 a Fk(12.2.)77 b(Einfac)n(her)27 b(Cac)n(he)984 +1451 y +SDict begin 12 H.L end + 984 1451 a 984 1451 a +SDict begin [/Subtype /Link/Dest (section.12.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 984 1451 a 25 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(97)145 1551 y +SDict begin H.S end + 145 1551 a Fk(12.3.)77 b(Pro)n(xy)26 +b(Cac)n(he)857 1551 y +SDict begin 12 H.L end + 857 1551 a 857 1551 a +SDict begin [/Subtype /Link/Dest (section.12.3) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 857 1551 +a 23 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)68 b(97)145 1652 y +SDict begin H.S end + 145 1652 a Fk(12.4.)77 b(Aufgab)r(en)742 +1652 y +SDict begin 12 H.L end + 742 1652 a 742 1652 a +SDict begin [/Subtype /Link/Dest (section.12.4) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 742 1652 a 74 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(97)145 1752 y +SDict begin H.S end + 145 1752 a Fk(12.5.)77 b(Eigensc)n(haften)894 +1752 y +SDict begin 12 H.L end + 894 1752 a 894 1752 a +SDict begin [/Subtype /Link/Dest (section.12.5) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 894 1752 a 51 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(98)145 1853 y +SDict begin H.S end + 145 1853 a Fk(12.6.)77 b(Protok)n(olle)766 +1853 y +SDict begin 12 H.L end + 766 1853 a 766 1853 a +SDict begin [/Subtype /Link/Dest (section.12.6) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 766 1853 a 50 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(98)335 1953 y +SDict begin H.S end + 335 1953 a Fk(12.6.1.)95 b(Clien)n(t-K)n(omm)n(unik)-5 +b(ation)1494 1953 y +SDict begin 12 H.L end + 1494 1953 a 1494 1953 a +SDict begin [/Subtype /Link/Dest (subsection.12.6.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1494 1953 +a 32 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(98)335 2054 y +SDict begin H.S end + 335 +2054 a Fk(12.6.2.)95 b(K)n(omm)n(unik)-5 b(ation)27 b(zwisc)n(hen)g +(Pro)n(xy-Cac)n(he-Serv)n(ern)2385 2054 y +SDict begin 12 H.L end + 2385 2054 a +2385 2054 a +SDict begin [/Subtype /Link/Dest (subsection.12.6.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2385 2054 a 45 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(98)145 2154 y +SDict begin H.S end + 145 2154 a Fk(12.7.)77 b(System)n(v)n(oraussetzungen) +1247 2154 y +SDict begin 12 H.L end + 1247 2154 a 1247 2154 a +SDict begin [/Subtype /Link/Dest (section.12.7) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1247 2154 a 21 w +Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(99)145 +2255 y +SDict begin H.S end + 145 2255 a Fk(12.8.)77 b(SuSE)28 b(Lin)n(ux)825 +2255 y +SDict begin 12 H.L end + 825 2255 a 825 2255 a +SDict begin [/Subtype /Link/Dest (section.12.8) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 825 2255 a 55 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 +b(99)145 2355 y +SDict begin H.S end + 145 2355 a Fk(12.9.)77 b(Automatisc)n(he)27 +b(Starten)g(v)n(on)g(Squit)1563 2355 y +SDict begin 12 H.L end + 1563 2355 a 1563 +2355 a +SDict begin [/Subtype /Link/Dest (section.12.9) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1563 2355 a 27 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(99)145 +2455 y +SDict begin H.S end + 145 2455 a Fk(12.10.)35 b(Squiddateien)862 2455 +y +SDict begin 12 H.L end + 862 2455 a 862 2455 a +SDict begin [/Subtype /Link/Dest (section.12.10) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 862 2455 a 83 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(99)145 2556 y +SDict begin H.S end + 145 +2556 a Fk(12.11.)35 b(squid.conf)759 2556 y +SDict begin 12 H.L end + 759 2556 +a 759 2556 a +SDict begin [/Subtype /Link/Dest (section.12.11) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 759 2556 a 57 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)68 b(99)20 2863 y +SDict begin H.S end + 20 2863 +a Fi(IV.)31 b(Programmieren)902 2863 y +SDict begin 14 H.L end + 902 2863 a 902 +2863 a +SDict begin [/Subtype /Link/Dest (part.4) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 902 2863 a 2090 w Fi(103)20 3050 y +SDict begin H.S end + 20 3050 a Fj(13.)8 +b(Bash)332 3050 y +SDict begin 12 H.L end + 332 3050 a 332 3050 a +SDict begin [/Subtype /Link/Dest (chapter.13) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 332 3050 a 2660 +w Fj(105)145 3150 y +SDict begin H.S end + 145 3150 a Fk(13.1.)77 b(Einleitung)768 +3150 y +SDict begin 12 H.L end + 768 3150 a 768 3150 a +SDict begin [/Subtype /Link/Dest (section.13.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 768 3150 a 48 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(105)145 3251 y +SDict begin H.S end + 145 3251 a Fk(13.2.)77 b(Referenz)707 +3251 y +SDict begin 12 H.L end + 707 3251 a 707 3251 a +SDict begin [/Subtype /Link/Dest (section.13.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 707 3251 a 44 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(105)145 3351 y +SDict begin H.S end + 145 3351 a Fk(13.3.)77 b(Steuer)27 b(und)h(Sonderzeic) +n(hen)e(der)i(Bash)1679 3351 y +SDict begin 12 H.L end + 1679 3351 a 1679 3351 +a +SDict begin [/Subtype /Link/Dest (section.13.3) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1679 3351 a 41 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(106)20 3538 y +SDict begin H.S end + 20 +3538 a Fj(14.)8 b(git)246 3538 y +SDict begin 12 H.L end + 246 3538 a 246 3538 +a +SDict begin [/Subtype /Link/Dest (chapter.14) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 246 3538 a 2746 w Fj(107)145 3639 y +SDict begin H.S end + 145 3639 a Fk(14.1.)77 +b(Dokumen)n(tation)956 3639 y +SDict begin 12 H.L end + 956 3639 a 956 3639 a +SDict begin [/Subtype /Link/Dest (section.14.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 956 +3639 a 53 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +27 b(107)145 3739 y +SDict begin H.S end + 145 3739 a Fk(14.2.)77 b(K)n(on\034guration)897 +3739 y +SDict begin 12 H.L end + 897 3739 a 897 3739 a +SDict begin [/Subtype /Link/Dest (section.14.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 897 3739 a 48 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(107)145 3839 y +SDict begin H.S end + 145 3839 a Fk(14.3.)77 b(K)n(on\034gurationen)25 +b(\374b)r(er)i(Umgebungsv)-5 b(ariablen)1950 3839 y +SDict begin 12 H.L end + 1950 +3839 a 1950 3839 a +SDict begin [/Subtype /Link/Dest (section.14.3) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1950 3839 a 28 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(108)145 3940 +y +SDict begin H.S end + 145 3940 a Fk(14.4.)77 b(Der)27 b(Index)757 3940 y +SDict begin 12 H.L end + +757 3940 a 757 3940 a +SDict begin [/Subtype /Link/Dest (section.14.4) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 757 3940 a 59 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(108)145 4040 +y +SDict begin H.S end + 145 4040 a Fk(14.5.)77 b(Rep)r(ository)789 4040 y +SDict begin 12 H.L end + 789 +4040 a 789 4040 a +SDict begin [/Subtype /Link/Dest (section.14.5) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 789 4040 a 27 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(109)145 4141 y +SDict begin H.S end + 145 +4141 a Fk(14.6.)77 b(Commit)689 4141 y +SDict begin 12 H.L end + 689 4141 a 689 +4141 a +SDict begin [/Subtype /Link/Dest (section.14.6) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 689 4141 a 62 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(109)145 4241 y +SDict begin H.S end + 145 4241 +a Fk(14.7.)77 b(Dateien)27 b(en)n(tfernen)1038 4241 y +SDict begin 12 H.L end + +1038 4241 a 1038 4241 a +SDict begin [/Subtype /Link/Dest (section.14.7) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1038 4241 a 36 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)27 b(109)145 4342 y +SDict begin H.S end + 145 4342 +a Fk(14.8.)77 b(Dateien)27 b(v)n(ersc)n(hieb)r(en)1118 +4342 y +SDict begin 12 H.L end + 1118 4342 a 1118 4342 a +SDict begin [/Subtype /Link/Dest (section.14.8) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1118 4342 a 20 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(109)145 +4442 y +SDict begin H.S end + 145 4442 a Fk(14.9.)77 b(\304nderung)27 b(an)g(einer)g(Datei)h +(r\374c)n(kg\344ngig)d(mac)n(hen)2017 4442 y +SDict begin 12 H.L end + 2017 4442 +a 2017 4442 a +SDict begin [/Subtype /Link/Dest (section.14.9) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2017 4442 a 25 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)27 b(109)145 4543 y +SDict begin H.S end + 145 4543 +a Fk(14.10.)35 b(Dateien)27 b(ignorieren)1063 4543 y +SDict begin 12 H.L end + +1063 4543 a 1063 4543 a +SDict begin [/Subtype /Link/Dest (section.14.10) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1063 4543 a 75 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)27 b(110)145 4643 y +SDict begin H.S end + 145 4643 a Fk(14.11.)35 +b(Mit)28 b(externen)f(Rep)r(ositorys)f(arb)r(eiten)1644 +4643 y +SDict begin 12 H.L end + 1644 4643 a 1644 4643 a +SDict begin [/Subtype /Link/Dest (section.14.11) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1644 4643 a 76 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)27 b(110)145 4744 y +SDict begin H.S end + 145 4744 a Fk(14.12.)35 b(T)-7 +b(ags)564 4744 y +SDict begin 12 H.L end + 564 4744 a 564 4744 a +SDict begin [/Subtype /Link/Dest (section.14.12) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 564 4744 a 58 +w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)27 b(111)3079 5092 y(9)p eop end +%%Page: 10 10 +TeXDict begin 10 9 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.10) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(Inhaltsv)n(erzeic)n +(hnis)765 360 y +SDict begin H.S end + 765 360 a Fk(14.13.)35 b(Branc)n(h)1275 +360 y +SDict begin 12 H.L end + 1275 360 a 1275 360 a +SDict begin [/Subtype /Link/Dest (section.14.13) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1275 360 a 32 w Fk(.)41 b(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(111)765 461 y +SDict begin H.S end + 765 461 a Fk(14.14.)35 b(Git)28 b(Aliase)1382 +461 y +SDict begin 12 H.L end + 1382 461 a 1382 461 a +SDict begin [/Subtype /Link/Dest (section.14.14) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1382 461 a 54 w Fk(.)41 b(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(111)765 +562 y +SDict begin H.S end + 765 562 a Fk(14.15.)35 b(Git)28 b(auf)f(einen)h(Serv)n(er)e(b)r +(ek)n(ommen)2163 562 y +SDict begin 12 H.L end + 2163 562 a 2163 562 a +SDict begin [/Subtype /Link/Dest (section.14.15) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2163 562 +a 47 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(112)765 662 y +SDict begin H.S end + 765 662 +a Fk(14.16.)35 b(Git)28 b(auf)f(dem)h(SSH-Serv)n(er)e(einric)n(h)n(ten) +2274 662 y +SDict begin 12 H.L end + 2274 662 a 2274 662 a +SDict begin [/Subtype /Link/Dest (section.14.16) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2274 662 a 66 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)27 b(112)765 763 y +SDict begin H.S end + 765 763 a Fk(14.17.)35 b(\326\033en)n(tlic)n +(her)26 b(W)-7 b(ebserv)n(er-Zugang)2136 763 y +SDict begin 12 H.L end + 2136 763 +a 2136 763 a +SDict begin [/Subtype /Link/Dest (section.14.17) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2136 763 a 74 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(113)765 864 y +SDict begin H.S end + 765 864 a Fk(14.18.)35 b(Grundb)r(egri\033e)1518 +864 y +SDict begin 12 H.L end + 1518 864 a 1518 864 a +SDict begin [/Subtype /Link/Dest (section.14.18) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1518 864 a 47 w Fk(.)41 b(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(114)640 1053 +y +SDict begin H.S end + 640 1053 a Fj(15.)8 b(C/C++)1069 1053 y +SDict begin 12 H.L end + 1069 1053 a +1069 1053 a +SDict begin [/Subtype /Link/Dest (chapter.15) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1069 1053 a 2543 w Fj(117)765 1153 y +SDict begin H.S end + 765 +1153 a Fk(15.1.)77 b(Befehle)27 b(und)h(Grundelemen)n(te)2023 +1153 y +SDict begin 12 H.L end + 2023 1153 a 2023 1153 a +SDict begin [/Subtype /Link/Dest (section.15.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2023 1153 a 58 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)27 b(117)765 1254 y +SDict begin H.S end + 765 1254 a +Fk(15.2.)77 b(Steuersequenzen)27 b(f\374r)g(ANSI-Bildsc)n(hirme)g(-)h +(Innerhalb)f(v)n(on)f(T)-7 b(exten)3285 1254 y +SDict begin 12 H.L end + 3285 1254 +a 3285 1254 a +SDict begin [/Subtype /Link/Dest (section.15.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 3285 1254 a 23 w Fk(.)42 b(.)f(.)h(.)f(.)27 +b(117)765 1355 y +SDict begin H.S end + 765 1355 a Fk(15.3.)77 b(stdio.h)27 +b(->)g(Standard)g(Ein-)h(und)g(Ausgab)r(e)2423 1355 y +SDict begin 12 H.L end + +2423 1355 a 2423 1355 a +SDict begin [/Subtype /Link/Dest (section.15.3) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2423 1355 a 46 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(118)765 +1456 y +SDict begin H.S end + 765 1456 a Fk(15.4.)77 b(ct)n(yp)r(e.h)1279 1456 +y +SDict begin 12 H.L end + 1279 1456 a 1279 1456 a +SDict begin [/Subtype /Link/Dest (section.15.4) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1279 1456 a 28 w Fk(.)41 b(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(119)765 1557 y +SDict begin H.S end + 765 1557 a Fk(15.5.)77 b(string.h)1292 +1557 y +SDict begin 12 H.L end + 1292 1557 a 1292 1557 a +SDict begin [/Subtype /Link/Dest (section.15.5) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1292 1557 a 79 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(119)765 1658 y +SDict begin H.S end + 765 1658 a Fk(15.6.)77 b(K)n(on)n(trollstrukturen)1698 +1658 y +SDict begin 12 H.L end + 1698 1658 a 1698 1658 a +SDict begin [/Subtype /Link/Dest (section.15.6) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1698 1658 a 61 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(120)765 +1758 y +SDict begin H.S end + 765 1758 a Fk(15.7.)77 b(ASCI)r(I\(American)28 +b(Standart)f(Co)r(de)g(for)g(Information)g(In)n(terc)n(hange\)-T)-7 +b(ab)r(elle)3544 1758 y +SDict begin 12 H.L end + 3544 1758 a 3544 1758 a +SDict begin [/Subtype /Link/Dest (section.15.7) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 3544 +1758 a 22 w Fk(.)27 b(121)956 1859 y +SDict begin H.S end + 956 1859 a Fk(15.7.1.)95 +b(Un)n(terteilung)27 b(der)g(Steuerzeic)n(hen:)2430 1859 +y +SDict begin 12 H.L end + 2430 1859 a 2430 1859 a +SDict begin [/Subtype /Link/Dest (subsection.15.7.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2430 1859 a 39 w Fk(.)41 b(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(122)956 +1960 y +SDict begin H.S end + 956 1960 a Fk(15.7.2.)95 b(Bedeutung)27 b(der)g(Steuerzeic)n +(hen:)2364 1960 y +SDict begin 12 H.L end + 2364 1960 a 2364 1960 a +SDict begin [/Subtype /Link/Dest (subsection.15.7.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2364 1960 a +40 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)27 b(122)765 2061 y +SDict begin H.S end + 765 2061 a Fk(15.8.)77 +b(Op)r(eratoren)25 b(und)k(Ausdr\374c)n(k)n(e)2001 2061 +y +SDict begin 12 H.L end + 2001 2061 a 2001 2061 a +SDict begin [/Subtype /Link/Dest (section.15.8) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2001 2061 a 80 w Fk(.)42 b(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)27 b(123)956 2162 y +SDict begin H.S end + 956 2162 a Fk(15.8.1.)95 b(Arithmetisc)n(he)27 +b(Op)r(eratoren:)2261 2162 y +SDict begin 12 H.L end + 2261 2162 a 2261 2162 a +SDict begin [/Subtype /Link/Dest (subsection.15.8.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + +2261 2162 a 79 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(123)956 2262 y +SDict begin H.S end + 956 +2262 a Fk(15.8.2.)95 b(V)-7 b(ergleic)n(hsop)r(eratoren:)2067 +2262 y +SDict begin 12 H.L end + 2067 2262 a 2067 2262 a +SDict begin [/Subtype /Link/Dest (subsection.15.8.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2067 2262 a 79 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)27 b(123)956 2363 y +SDict begin H.S end + 956 2363 a Fk(15.8.3.)95 +b(Logisc)n(he)25 b(Op)r(eratoren:)2061 2363 y +SDict begin 12 H.L end + 2061 2363 +a 2061 2363 a +SDict begin [/Subtype /Link/Dest (subsection.15.8.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2061 2363 a 20 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(123)956 2464 y +SDict begin H.S end + 956 2464 a Fk(15.8.4.)95 b(Zu)n(w)n(eisungsop)r +(eratoren:)2116 2464 y +SDict begin 12 H.L end + 2116 2464 a 2116 2464 a +SDict begin [/Subtype /Link/Dest (subsection.15.8.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2116 2464 +a 30 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(124)956 2565 y +SDict begin H.S end + 956 +2565 a Fk(15.8.5.)95 b(P)n(ost-)27 b(und)h(Pre\034x-)f(Op)r(eratoren:) +2379 2565 y +SDict begin 12 H.L end + 2379 2565 a 2379 2565 a +SDict begin [/Subtype /Link/Dest (subsection.15.8.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2379 2565 a 25 w +Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)27 b(124)956 2666 y +SDict begin H.S end + 956 2666 a Fk(15.8.6.)95 +b(Zeigerop)r(eratoren:)1926 2666 y +SDict begin 12 H.L end + 1926 2666 a 1926 2666 +a +SDict begin [/Subtype /Link/Dest (subsection.15.8.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1926 2666 a 26 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(124)956 2766 y +SDict begin H.S end + 956 2766 a Fk(15.8.7.)95 b(Div)n(erse)26 +b(Kategorien:)2004 2766 y +SDict begin 12 H.L end + 2004 2766 a 2004 2766 a +SDict begin [/Subtype /Link/Dest (subsection.15.8.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2004 +2766 a 77 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(124)765 +2867 y +SDict begin H.S end + 765 2867 a Fk(15.9.)77 b(Inkremen)n(tieren)26 +b(und)i(Dekremen)n(tieren)2326 2867 y +SDict begin 12 H.L end + 2326 2867 a 2326 +2867 a +SDict begin [/Subtype /Link/Dest (section.15.9) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2326 2867 a 78 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(125)765 2968 +y +SDict begin H.S end + 765 2968 a Fk(15.10.)35 b(W)-7 b(erteb)r(ereic)n(h)27 +b(und)h(Genauigk)n(eit)e(elemen)n(tarer)h(Daten)n(t)n(yp)r(en)3018 +2968 y +SDict begin 12 H.L end + 3018 2968 a 3018 2968 a +SDict begin [/Subtype /Link/Dest (section.15.10) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 3018 2968 a 32 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(125)765 3069 y +SDict begin H.S end + 765 +3069 a Fk(15.11.)35 b(V)-7 b(ariableninitialisierung)1856 +3069 y +SDict begin 12 H.L end + 1856 3069 a 1856 3069 a +SDict begin [/Subtype /Link/Dest (section.15.11) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1856 3069 a 32 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(125)765 3170 +y +SDict begin H.S end + 765 3170 a Fk(15.12.)35 b(K)n(onstan)n(ten)1431 3170 +y +SDict begin 12 H.L end + 1431 3170 a 1431 3170 a +SDict begin [/Subtype /Link/Dest (section.15.12) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1431 3170 a 69 w Fk(.)42 b(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(126)956 3271 +y +SDict begin H.S end + 956 3271 a Fk(15.12.1.)53 b(Ganzzahlk)n(onstan)n(ten)2022 +3271 y +SDict begin 12 H.L end + 2022 3271 a 2022 3271 a +SDict begin [/Subtype /Link/Dest (subsection.15.12.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2022 3271 a 59 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)27 b(126)956 3371 y +SDict begin H.S end + 956 3371 a +Fk(15.12.2.)53 b(Gleitk)n(ommak)n(onstan)n(ten)2128 3371 +y +SDict begin 12 H.L end + 2128 3371 a 2128 3371 a +SDict begin [/Subtype /Link/Dest (subsection.15.12.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2128 3371 a 82 w Fk(.)42 b(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(126)956 3472 y +SDict begin H.S end + 956 3472 a Fk(15.12.3.)53 b(Zeic)n(hen-)26 +b(und)i(Zeic)n(henk)n(ettenk)n(onstan)n(ten)2680 3472 +y +SDict begin 12 H.L end + 2680 3472 a 2680 3472 a +SDict begin [/Subtype /Link/Dest (subsection.15.12.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2680 3472 a 47 w Fk(.)42 b(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(126)640 3661 y +SDict begin H.S end + 640 +3661 a Fj(16.)8 b(T)-8 b(cl/Tk)1031 3661 y +SDict begin 12 H.L end + 1031 3661 +a 1031 3661 a +SDict begin [/Subtype /Link/Dest (chapter.16) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1031 3661 a 2581 w Fj(127)640 3849 y +SDict begin H.S end + 640 +3849 a Fj(17.)8 b(P)m(erl)914 3849 y +SDict begin 12 H.L end + 914 3849 a 914 3849 +a +SDict begin [/Subtype /Link/Dest (chapter.17) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 914 3849 a 2698 w Fj(129)640 4038 y +SDict begin H.S end + 640 4038 a Fj(18.)g(CGI+P)m(erl) +1131 4038 y +SDict begin 12 H.L end + 1131 4038 a 1131 4038 a +SDict begin [/Subtype /Link/Dest (chapter.18) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1131 4038 a 2481 +w Fj(131)765 4139 y +SDict begin H.S end + 765 4139 a Fk(18.1.)77 b(Einleitung)1388 +4139 y +SDict begin 12 H.L end + 1388 4139 a 1388 4139 a +SDict begin [/Subtype /Link/Dest (section.18.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1388 4139 a 48 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(131)765 4239 y +SDict begin H.S end + 765 4239 a Fk(18.2.)77 b(P)n(erl)1161 +4239 y +SDict begin 12 H.L end + 1161 4239 a 1161 4239 a +SDict begin [/Subtype /Link/Dest (section.18.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1161 4239 a 81 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)27 b(131)956 4340 y +SDict begin H.S end + 956 4340 a Fk(18.2.1.)95 b(T)-7 +b(exte)27 b(und)h(Strings)1939 4340 y +SDict begin 12 H.L end + 1939 4340 a 1939 +4340 a +SDict begin [/Subtype /Link/Dest (subsection.18.2.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1939 4340 a 78 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(131)956 4441 y +SDict begin H.S end + 956 4441 a Fk(18.2.2.)95 b(Rec)n(henop)r(erationen) +1978 4441 y +SDict begin 12 H.L end + 1978 4441 a 1978 4441 a +SDict begin [/Subtype /Link/Dest (subsection.18.2.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1978 4441 a 39 w +Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(131)956 4542 +y +SDict begin H.S end + 956 4542 a Fk(18.2.3.)95 b(Arra)n(ys)25 b(\(Listen\))1845 +4542 y +SDict begin 12 H.L end + 1845 4542 a 1845 4542 a +SDict begin [/Subtype /Link/Dest (subsection.18.2.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1845 4542 a 43 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(132)956 4643 +y +SDict begin H.S end + 956 4643 a Fk(18.2.4.)95 b(String-)26 b(und)i(Zahlen)n(v)n(ergleic)n +(hsop)r(erratoren)2749 4643 y +SDict begin 12 H.L end + 2749 4643 a 2749 4643 a +SDict begin [/Subtype /Link/Dest (subsection.18.2.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + +2749 4643 a 43 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)27 b(132)956 4744 y +SDict begin H.S end + 956 4744 a Fk(18.2.5.)95 b(if-Bedingung)1751 +4744 y +SDict begin 12 H.L end + 1751 4744 a 1751 4744 a +SDict begin [/Subtype /Link/Dest (subsection.18.2.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1751 4744 a 72 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(132)640 5092 +y(10)p eop end +%%Page: 11 11 +TeXDict begin 11 10 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.11) cvn /DEST pdfmark end + 12 -5 a 2478 128 a Fh(Inhaltsv)n(erzeic)n(hnis)335 +360 y +SDict begin H.S end + 335 360 a Fk(18.2.6.)95 b(if-else-Bedingung)1288 +360 y +SDict begin 12 H.L end + 1288 360 a 1288 360 a +SDict begin [/Subtype /Link/Dest (subsection.18.2.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1288 360 a 44 w Fk(.)42 b(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)27 b(132)335 460 y +SDict begin H.S end + 335 460 a Fk(18.2.7.)95 +b(if-elseif-Bedingung)1336 460 y +SDict begin 12 H.L end + 1336 460 a 1336 460 +a +SDict begin [/Subtype /Link/Dest (subsection.18.2.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1336 460 a 61 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(133)145 560 y +SDict begin H.S end + 145 560 a Fk(18.3.)77 b(F)-7 b(unktionen)803 +560 y +SDict begin 12 H.L end + 803 560 a 803 560 a +SDict begin [/Subtype /Link/Dest (section.18.3) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 803 560 a 77 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(133)335 660 +y +SDict begin H.S end + 335 660 a Fk(18.3.1.)95 b(String)28 b(F)-7 b(unktionen)1326 +660 y +SDict begin 12 H.L end + 1326 660 a 1326 660 a +SDict begin [/Subtype /Link/Dest (subsection.18.3.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1326 660 a 71 w Fk(.)41 b(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)27 b(133)335 760 y +SDict begin H.S end + 335 760 a Fk(18.3.2.)95 b(Rec)n(hen)28 +b(F)-7 b(unktionen)1366 760 y +SDict begin 12 H.L end + 1366 760 a 1366 760 a +SDict begin [/Subtype /Link/Dest (subsection.18.3.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1366 +760 a 31 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(133)335 +860 y +SDict begin H.S end + 335 860 a Fk(18.3.3.)95 b(Arra)n(y)26 b(F)-7 b(unktionen)1314 +860 y +SDict begin 12 H.L end + 1314 860 a 1314 860 a +SDict begin [/Subtype /Link/Dest (subsection.18.3.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1314 860 a 83 w Fk(.)41 b(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)27 b(133)20 1044 y +SDict begin H.S end + 20 1044 a Fj(19.)8 b(Java)318 +1044 y +SDict begin 12 H.L end + 318 1044 a 318 1044 a +SDict begin [/Subtype /Link/Dest (chapter.19) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 318 1044 a 2674 w Fj(135)145 +1144 y +SDict begin H.S end + 145 1144 a Fk(19.1.)77 b(F)-7 b(unktion)27 b(v)n(on)g(Ja)n(v)-5 +b(a)1068 1144 y +SDict begin 12 H.L end + 1068 1144 a 1068 1144 a +SDict begin [/Subtype /Link/Dest (section.19.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1068 1144 a 70 +w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(135)145 1244 y +SDict begin H.S end + 145 1244 a Fk(19.2.)77 b(Sprac)n(he)26 +b(und)i(Syn)n(tax)f(v)n(on)g(Ja)n(v)-5 b(a)1471 1244 +y +SDict begin 12 H.L end + 1471 1244 a 1471 1244 a +SDict begin [/Subtype /Link/Dest (section.19.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1471 1244 a 55 w Fk(.)41 b(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(135)335 1344 y +SDict begin H.S end + 335 1344 a Fk(19.2.1.)95 b(K)n(ommen)n(trare)1168 +1344 y +SDict begin 12 H.L end + 1168 1344 a 1168 1344 a +SDict begin [/Subtype /Link/Dest (subsection.19.2.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1168 1344 a 35 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(135)335 1444 +y +SDict begin H.S end + 335 1444 a Fk(19.2.2.)95 b(Daten)n(t)n(yp)r(en)1090 +1444 y +SDict begin 12 H.L end + 1090 1444 a 1090 1444 a +SDict begin [/Subtype /Link/Dest (subsection.19.2.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1090 1444 a 48 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(135)335 +1544 y +SDict begin H.S end + 335 1544 a Fk(19.2.3.)95 b(V)-7 b(ariablen)1014 +1544 y +SDict begin 12 H.L end + 1014 1544 a 1014 1544 a +SDict begin [/Subtype /Link/Dest (subsection.19.2.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1014 1544 a 60 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(136)145 +1644 y +SDict begin H.S end + 145 1644 a Fk(19.3.)77 b(P)n(ak)n(ete)26 b(und)i(V)-7 +b(erzeic)n(hnisstrukturen)1617 1644 y +SDict begin 12 H.L end + 1617 1644 a 1617 +1644 a +SDict begin [/Subtype /Link/Dest (section.19.3) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1617 1644 a 38 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(136)335 +1744 y +SDict begin H.S end + 335 1744 a Fk(19.3.1.)95 b(Sic)n(h)n(tbark)n(eit)27 +b(und)h(Zugri\033srec)n(h)n(te)e(v)n(on)g(Klassen)h(und)h(Metho)r(den) +2807 1744 y +SDict begin 12 H.L end + 2807 1744 a 2807 1744 a +SDict begin [/Subtype /Link/Dest (subsection.19.3.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2807 1744 a 75 w +Fk(.)41 b(.)27 b(136)335 1844 y +SDict begin H.S end + 335 1844 a Fk(19.3.2.)95 +b(Klassen)946 1844 y +SDict begin 12 H.L end + 946 1844 a 946 1844 a +SDict begin [/Subtype /Link/Dest (subsection.19.3.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 946 1844 a +63 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(136)335 1944 y +SDict begin H.S end + 335 1944 a Fk(19.3.3.)95 b(K)n(onstruktoren)26 +b(und)i(Destruktoren)1866 1944 y +SDict begin 12 H.L end + 1866 1944 a 1866 1944 +a +SDict begin [/Subtype /Link/Dest (subsection.19.3.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1866 1944 a 47 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)27 b(137)335 2044 y +SDict begin H.S end + 335 2044 a Fk(19.3.4.)95 +b(Metho)r(den)28 b(\374b)r(erladen)1417 2044 y +SDict begin 12 H.L end + 1417 2044 +a 1417 2044 a +SDict begin [/Subtype /Link/Dest (subsection.19.3.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1417 2044 a 44 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(137)335 2144 y +SDict begin H.S end + 335 2144 a Fk(19.3.5.)95 b(Ob)5 b(jekte)958 +2144 y +SDict begin 12 H.L end + 958 2144 a 958 2144 a +SDict begin [/Subtype /Link/Dest (subsection.19.3.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 958 2144 a 51 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(137)335 2244 y +SDict begin H.S end + 335 2244 a Fk(19.3.6.)95 b(V)-7 b(ererbung)1042 +2244 y +SDict begin 12 H.L end + 1042 2244 a 1042 2244 a +SDict begin [/Subtype /Link/Dest (subsection.19.3.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1042 2244 a 32 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(138)335 +2344 y +SDict begin H.S end + 335 2344 a Fk(19.3.7.)95 b(Sc)n(hnittstellen)1158 +2344 y +SDict begin 12 H.L end + 1158 2344 a 1158 2344 a +SDict begin [/Subtype /Link/Dest (subsection.19.3.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1158 2344 a 45 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(138)145 2444 +y +SDict begin H.S end + 145 2444 a Fk(19.4.)77 b(Elemen)n(tare)27 b(Syn)n(tax)g(v)n(on)f(Ja)n +(v)-5 b(a)1430 2444 y +SDict begin 12 H.L end + 1430 2444 a 1430 2444 a +SDict begin [/Subtype /Link/Dest (section.19.4) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1430 2444 +a 31 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(138)335 2544 +y +SDict begin H.S end + 335 2544 a Fk(19.4.1.)95 b(Op)r(erratoren)1115 2544 +y +SDict begin 12 H.L end + 1115 2544 a 1115 2544 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1115 2544 a 23 w Fk(.)42 b(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)27 b(138)335 2644 y +SDict begin H.S end + 335 2644 a +Fk(19.4.2.)95 b(V)-7 b(erkn)n(\374pfungsop)r(eratoren)1556 +2644 y +SDict begin 12 H.L end + 1556 2644 a 1556 2644 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1556 2644 a 34 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)27 b(138)335 2744 y +SDict begin H.S end + 335 2744 a Fk(19.4.3.)95 +b(Inkremen)n(t-Op)r(erator)1399 2744 y +SDict begin 12 H.L end + 1399 2744 a 1399 +2744 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1399 2744 a 62 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(138)335 2844 y +SDict begin H.S end + 335 2844 a Fk(19.4.4.)95 b(Dekremen)n(t-Op)r(erator) +1423 2844 y +SDict begin 12 H.L end + 1423 2844 a 1423 2844 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1423 2844 a 38 w +Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(139)335 2944 y +SDict begin H.S end + 335 +2944 a Fk(19.4.5.)95 b(Arithmetisc)n(he)28 b(Zu)n(w)n(eisungsop)r +(eratoren)2008 2944 y +SDict begin 12 H.L end + 2008 2944 a 2008 2944 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2008 2944 +a 34 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +27 b(139)335 3044 y +SDict begin H.S end + 335 3044 a Fk(19.4.6.)95 b(Bedingungen)27 +b(und)h(En)n(tsc)n(heidungen)1899 3044 y +SDict begin 12 H.L end + 1899 3044 a +1899 3044 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1899 3044 a 79 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(139)335 3144 y +SDict begin H.S end + 335 3144 +a Fk(19.4.7.)95 b(if)29 b(-)e(else)g(-)g(Bedingungen)1481 +3144 y +SDict begin 12 H.L end + 1481 3144 a 1481 3144 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1481 3144 a 45 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)27 b(139)335 3244 y +SDict begin H.S end + 335 3244 a Fk(19.4.8.)95 +b(V)-7 b(ersc)n(hac)n(h)n(telte)27 b(Bedingungen)1685 +3244 y +SDict begin 12 H.L end + 1685 3244 a 1685 3244 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.8) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1685 3244 a 35 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)27 b(139)335 3344 y +SDict begin H.S end + 335 3344 a Fk(19.4.9.)95 b(F)-7 +b(allun)n(tersc)n(heidung)27 b(mit)h(switc)n(h)f(-)h(case)1988 +3344 y +SDict begin 12 H.L end + 1988 3344 a 1988 3344 a +SDict begin [/Subtype /Link/Dest (subsection.19.4.9) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1988 3344 a 54 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(140)145 3444 y +SDict begin H.S end + 145 3444 a Fk(19.5.)77 b(Sc)n(hleifen)712 +3444 y +SDict begin 12 H.L end + 712 3444 a 712 3444 a +SDict begin [/Subtype /Link/Dest (section.19.5) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 712 3444 a 39 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(140)335 3544 y +SDict begin H.S end + 335 3544 a Fk(19.5.1.)95 b(Die)29 b(while)e(-)h(Sc)n +(hleife)1363 3544 y +SDict begin 12 H.L end + 1363 3544 a 1363 3544 a +SDict begin [/Subtype /Link/Dest (subsection.19.5.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1363 3544 +a 34 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(140)335 +3644 y +SDict begin H.S end + 335 3644 a Fk(19.5.2.)95 b(Die)29 b(do)e(-)g(while)h(-)f(Sc)n +(hleife)1533 3644 y +SDict begin 12 H.L end + 1533 3644 a 1533 3644 a +SDict begin [/Subtype /Link/Dest (subsection.19.5.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1533 3644 +a 57 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(140)335 3744 y +SDict begin H.S end + 335 3744 +a Fk(19.5.3.)95 b(Die)29 b(for)e(-)g(Sc)n(hleife)1273 +3744 y +SDict begin 12 H.L end + 1273 3744 a 1273 3744 a +SDict begin [/Subtype /Link/Dest (subsection.19.5.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1273 3744 a 59 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(140)335 3844 y +SDict begin H.S end + 335 +3844 a Fk(19.5.4.)95 b(Sc)n(hleifen)28 b(mit)h(break)d(v)n(erlassen) +1720 3844 y +SDict begin 12 H.L end + 1720 3844 a 1720 3844 a +SDict begin [/Subtype /Link/Dest (subsection.19.5.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1720 3844 a 64 w +Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)27 b(140)335 3944 y +SDict begin H.S end + 335 3944 a Fk(19.5.5.)95 +b(Sc)n(hleife)28 b(mit)g(con)n(tin)n(ue)f(wiederholen)1881 +3944 y +SDict begin 12 H.L end + 1881 3944 a 1881 3944 a +SDict begin [/Subtype /Link/Dest (subsection.19.5.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1881 3944 a 32 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(140)145 4044 y +SDict begin H.S end + 145 4044 a Fk(19.6.)77 b(K)n(omplexe)26 +b(Daten)n(t)n(yp)r(en)1204 4044 y +SDict begin 12 H.L end + 1204 4044 a 1204 4044 +a +SDict begin [/Subtype /Link/Dest (section.19.6) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1204 4044 a 64 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(141)335 4144 y +SDict begin H.S end + 335 4144 a Fk(19.6.1.)95 b(Arra)n(ys)912 +4144 y +SDict begin 12 H.L end + 912 4144 a 912 4144 a +SDict begin [/Subtype /Link/Dest (subsection.19.6.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 912 4144 a 33 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(141)145 4244 y +SDict begin H.S end + 145 4244 a Fk(19.7.)77 b(Die)28 b(An)n(w)n(eisung)e +(imp)r(ort)1209 4244 y +SDict begin 12 H.L end + 1209 4244 a 1209 4244 a +SDict begin [/Subtype /Link/Dest (section.19.7) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1209 4244 +a 59 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(141)145 +4344 y +SDict begin H.S end + 145 4344 a Fk(19.8.)77 b(Ja)n(v)-5 b(a)26 b(eigene)h(Klassen) +1112 4344 y +SDict begin 12 H.L end + 1112 4344 a 1112 4344 a +SDict begin [/Subtype /Link/Dest (section.19.8) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1112 4344 a 26 w +Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 +b(141)335 4444 y +SDict begin H.S end + 335 4444 a Fk(19.8.1.)95 b(Die)29 b(Klasse)d(Math)1274 +4444 y +SDict begin 12 H.L end + 1274 4444 a 1274 4444 a +SDict begin [/Subtype /Link/Dest (subsection.19.8.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1274 4444 a 58 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(141)145 4544 y +SDict begin H.S end + 145 +4544 a Fk(19.9.)77 b(Die)28 b(Klasse)e(Ob)5 b(ject)1051 +4544 y +SDict begin 12 H.L end + 1051 4544 a 1051 4544 a +SDict begin [/Subtype /Link/Dest (section.19.9) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1051 4544 a 23 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(141)335 +4644 y +SDict begin H.S end + 335 4644 a Fk(19.9.1.)95 b(Die)29 b(Klasse)d(Ob)5 +b(ject)1325 4644 y +SDict begin 12 H.L end + 1325 4644 a 1325 4644 a +SDict begin [/Subtype /Link/Dest (subsection.19.9.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1325 4644 +a 72 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(141)145 +4744 y +SDict begin H.S end + 145 4744 a Fk(19.10.)35 b(Die)28 b(Klasse)e(Run)n(time)1116 +4744 y +SDict begin 12 H.L end + 1116 4744 a 1116 4744 a +SDict begin [/Subtype /Link/Dest (section.19.10) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1116 4744 a 22 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)27 b(142)3037 +5092 y(11)p eop end +%%Page: 12 12 +TeXDict begin 12 11 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.12) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(Inhaltsv)n(erzeic)n +(hnis)765 360 y +SDict begin H.S end + 765 360 a Fk(19.11.)35 b(Die)28 b(Klasse)e(String)1646 +360 y +SDict begin 12 H.L end + 1646 360 a 1646 360 a +SDict begin [/Subtype /Link/Dest (section.19.11) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1646 360 a 48 w Fk(.)42 b(.)f(.)h(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(142)765 460 y +SDict begin H.S end + 765 460 +a Fk(19.12.)35 b(Die)28 b(Klasse)e(Stringbu\033er)1856 +460 y +SDict begin 12 H.L end + 1856 460 a 1856 460 a +SDict begin [/Subtype /Link/Dest (section.19.12) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1856 460 a 32 w Fk(.)41 b(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)27 b(142)956 560 y +SDict begin H.S end + 956 560 a Fk(19.12.1.)53 +b(Die)28 b(Klasse)e(Stringbu\033er)2130 560 y +SDict begin 12 H.L end + 2130 560 +a 2130 560 a +SDict begin [/Subtype /Link/Dest (subsection.19.12.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2130 560 a 80 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(142)765 660 y +SDict begin H.S end + 765 660 a Fk(19.13.)35 b(Die)28 b(Klasse)e(System)1685 +660 y +SDict begin 12 H.L end + 1685 660 a 1685 660 a +SDict begin [/Subtype /Link/Dest (section.19.13) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1685 660 a 74 w Fk(.)41 b(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)27 b(142)765 760 y +SDict begin H.S end + 765 760 a +Fk(19.14.)35 b(Das)27 b(P)n(ak)n(et)g(ja)n(v)-5 b(a.util)1706 +760 y +SDict begin 12 H.L end + 1706 760 a 1706 760 a +SDict begin [/Subtype /Link/Dest (section.19.14) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1706 760 a 53 w Fk(.)41 b(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)27 b(142)956 860 y +SDict begin H.S end + 956 860 a +Fk(19.14.1.)53 b(Die)28 b(Klasse)e(Date)1872 860 y +SDict begin 12 H.L end + 1872 +860 a 1872 860 a +SDict begin [/Subtype /Link/Dest (subsection.19.14.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1872 860 a 80 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +27 b(143)956 960 y +SDict begin H.S end + 956 960 a Fk(19.14.2.)53 b(Die)28 +b(Klasse)e(Random)2004 960 y +SDict begin 12 H.L end + 2004 960 a 2004 960 a +SDict begin [/Subtype /Link/Dest (subsection.19.14.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2004 +960 a 77 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(143)956 +1060 y +SDict begin H.S end + 956 1060 a Fk(19.14.3.)53 b(Die)28 b(Klasse)e(Stac)n(k)1897 +1060 y +SDict begin 12 H.L end + 1897 1060 a 1897 1060 a +SDict begin [/Subtype /Link/Dest (subsection.19.14.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1897 1060 a 55 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(143)765 1160 y +SDict begin H.S end + 765 +1160 a Fk(19.15.)35 b(Ausnahmen)27 b(\(Exceptions\))1928 +1160 y +SDict begin 12 H.L end + 1928 1160 a 1928 1160 a +SDict begin [/Subtype /Link/Dest (section.19.15) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1928 1160 a 24 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(143)956 1260 y +SDict begin H.S end + 956 +1260 a Fk(19.15.1.)53 b(Eigene)27 b(Ausnahme)h(erzeugen)e(\(thro)n(w\)) +2581 1260 y +SDict begin 12 H.L end + 2581 1260 a 2581 1260 a +SDict begin [/Subtype /Link/Dest (subsection.19.15.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2581 1260 a 81 w +Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(144)765 1360 y +SDict begin H.S end + 765 1360 a Fk(19.16.)35 b(Multitasking)27 +b(mit)h(Threads)1952 1360 y +SDict begin 12 H.L end + 1952 1360 a 1952 1360 a +SDict begin [/Subtype /Link/Dest (section.19.16) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1952 +1360 a 65 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(144)956 +1460 y +SDict begin H.S end + 956 1460 a Fk(19.16.1.)53 b(Arb)r(eiten)28 b(mit)g(Threads)2083 +1460 y +SDict begin 12 H.L end + 2083 1460 a 2083 1460 a +SDict begin [/Subtype /Link/Dest (subsection.19.16.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2083 1460 a 63 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)27 b(144)765 1560 y +SDict begin H.S end + 765 1560 a Fk(19.17.)35 +b(Applets)1293 1560 y +SDict begin 12 H.L end + 1293 1560 a 1293 1560 a +SDict begin [/Subtype /Link/Dest (section.19.17) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1293 1560 +a 78 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)27 b(145)956 1660 y +SDict begin H.S end + 956 1660 a Fk(19.17.1.)53 +b(Applets)28 b(in)g(eine)f(W)-7 b(ebseite)28 b(ein)n(binden)2561 +1660 y +SDict begin 12 H.L end + 2561 1660 a 2561 1660 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2561 1660 a 37 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(145)956 1760 y +SDict begin H.S end + 956 1760 a Fk(19.17.2.)53 b(Das)27 b(erste)g(Ja)n(v)-5 +b(a)26 b(Applet)2088 1760 y +SDict begin 12 H.L end + 2088 1760 a 2088 1760 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2088 +1760 a 58 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(145)956 1860 +y +SDict begin H.S end + 956 1860 a Fk(19.17.3.)53 b(Die)28 b(Metho)r(den)g(eines)f(Applets) +2313 1860 y +SDict begin 12 H.L end + 2313 1860 a 2313 1860 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2313 1860 a 27 w +Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)27 b(145)956 1960 y +SDict begin H.S end + 956 1960 a Fk(19.17.4.)53 +b(Ein)28 b(Applet)g(im)g(\334b)r(erblic)n(k)2186 1960 +y +SDict begin 12 H.L end + 2186 1960 a 2186 1960 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2186 1960 a 24 w Fk(.)42 b(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(145)956 2060 y +SDict begin H.S end + 956 2060 a Fk(19.17.5.)53 b(P)n(ak)n(ete)1532 +2060 y +SDict begin 12 H.L end + 1532 2060 a 1532 2060 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.5) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1532 2060 a 33 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(146)956 2160 y +SDict begin H.S end + 956 2160 a Fk(19.17.6.)53 b(Die)28 b(Klasse)e +(Graphics)2023 2160 y +SDict begin 12 H.L end + 2023 2160 a 2023 2160 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.6) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2023 2160 +a 58 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(146)956 2260 +y +SDict begin H.S end + 956 2260 a Fk(19.17.7.)53 b(Die)28 b(Klasse)e(Color)1898 +2260 y +SDict begin 12 H.L end + 1898 2260 a 1898 2260 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.7) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1898 2260 a 54 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(146)956 2360 y +SDict begin H.S end + 956 +2360 a Fk(19.17.8.)53 b(Die)28 b(Klasse)e(F)-7 b(on)n(t)1863 +2360 y +SDict begin 12 H.L end + 1863 2360 a 1863 2360 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.8) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1863 2360 a 25 w Fk(.)41 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(147)956 2460 +y +SDict begin H.S end + 956 2460 a Fk(19.17.9.)53 b(Die)28 b(Klasse)e(Image)1918 +2460 y +SDict begin 12 H.L end + 1918 2460 a 1918 2460 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.9) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1918 2460 a 34 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(147)956 2560 y +SDict begin H.S end + 956 +2560 a Fk(19.17.10.)11 b(Die)28 b(Klasse)e(Button)1955 +2560 y +SDict begin 12 H.L end + 1955 2560 a 1955 2560 a +SDict begin [/Subtype /Link/Dest (subsection.19.17.10) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1955 2560 a 62 w Fk(.)41 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(147)765 2660 y +SDict begin H.S end + 765 2660 +a Fk(19.18.)35 b(Ev)n(en)n(thandling)1539 2660 y +SDict begin 12 H.L end + 1539 +2660 a 1539 2660 a +SDict begin [/Subtype /Link/Dest (section.19.18) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1539 2660 a 26 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(148)956 2760 y +SDict begin H.S end + 956 2760 +a Fk(19.18.1.)53 b(Mouse)27 b(Ev)n(en)n(ts)1793 2760 +y +SDict begin 12 H.L end + 1793 2760 a 1793 2760 a +SDict begin [/Subtype /Link/Dest (subsection.19.18.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1793 2760 a 30 w Fk(.)42 b(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)27 b(148)956 2859 y +SDict begin H.S end + 956 2859 a Fk(19.18.2.)53 +b(A)n(ction)27 b(Ev)n(en)n(ts)1799 2859 y +SDict begin 12 H.L end + 1799 2859 a +1799 2859 a +SDict begin [/Subtype /Link/Dest (subsection.19.18.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1799 2859 a 24 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)27 b(148)956 2959 y +SDict begin H.S end + 956 2959 a Fk(19.18.3.)53 b(P)n(arameter)26 +b(an)h(ein)h(Applet)2188 2959 y +SDict begin 12 H.L end + 2188 2959 a 2188 2959 +a +SDict begin [/Subtype /Link/Dest (subsection.19.18.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2188 2959 a 22 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(148)956 +3059 y +SDict begin H.S end + 956 3059 a Fk(19.18.4.)53 b(W)-7 b(eitere)27 b(wic)n(h)n(tige)g +(P)n(ak)n(ete)2159 3059 y +SDict begin 12 H.L end + 2159 3059 a 2159 3059 a +SDict begin [/Subtype /Link/Dest (subsection.19.18.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2159 +3059 a 51 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(149)640 3244 +y +SDict begin H.S end + 640 3244 a Fj(20.)8 b(JavaScript)1163 3244 y +SDict begin 12 H.L end + 1163 3244 +a 1163 3244 a +SDict begin [/Subtype /Link/Dest (chapter.20) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 1163 3244 a 2449 w Fj(151)765 3344 y +SDict begin H.S end + 765 +3344 a Fk(20.1.)77 b(Ein)n(bindung)28 b(v)n(on)f(Ja)n(v)-5 +b(aScript)1998 3344 y +SDict begin 12 H.L end + 1998 3344 a 1998 3344 a +SDict begin [/Subtype /Link/Dest (section.20.1) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1998 3344 +a 83 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(151)956 3444 +y +SDict begin H.S end + 956 3444 a Fk(20.1.1.)95 b(Ein)n(bindung)28 b(in)g(den)f(Head)2174 +3444 y +SDict begin 12 H.L end + 2174 3444 a 2174 3444 a +SDict begin [/Subtype /Link/Dest (subsection.20.1.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2174 3444 a 36 w Fk(.)42 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)27 b(151)956 3544 y +SDict begin H.S end + 956 3544 a Fk(20.1.2.)95 +b(Ein)n(bindung)28 b(in)g(den)f(Bo)r(dy)2180 3544 y +SDict begin 12 H.L end + 2180 +3544 a 2180 3544 a +SDict begin [/Subtype /Link/Dest (subsection.20.1.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2180 3544 a 30 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(151)956 3644 y +SDict begin H.S end + 956 3644 a Fk(20.1.3.)95 b(Ausf\374hren)27 +b(b)r(ei)h(b)r(estimm)n(ten)h(Aktionen)2610 3644 y +SDict begin 12 H.L end + 2610 +3644 a 2610 3644 a +SDict begin [/Subtype /Link/Dest (subsection.20.1.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 2610 3644 a 52 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(151)765 3744 y +SDict begin H.S end + 765 +3744 a Fk(20.2.)77 b(V)-7 b(ariablen)1361 3744 y +SDict begin 12 H.L end + 1361 +3744 a 1361 3744 a +SDict begin [/Subtype /Link/Dest (section.20.2) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1361 3744 a 75 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(152)765 3844 +y +SDict begin H.S end + 765 3844 a Fk(20.3.)77 b(Ob)5 b(jekte)1305 3844 y +SDict begin 12 H.L end + 1305 +3844 a 1305 3844 a +SDict begin [/Subtype /Link/Dest (section.20.3) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1305 3844 a 66 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(152)956 +3944 y +SDict begin H.S end + 956 3944 a Fk(20.3.1.)95 b(Standardob)5 b(jekte)1889 +3944 y +SDict begin 12 H.L end + 1889 3944 a 1889 3944 a +SDict begin [/Subtype /Link/Dest (subsection.20.3.1) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1889 3944 a 63 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(152)956 4044 y +SDict begin H.S end + 956 +4044 a Fk(20.3.2.)95 b(String-Ob)5 b(jekt)1792 4044 y +SDict begin 12 H.L end + +1792 4044 a 1792 4044 a +SDict begin [/Subtype /Link/Dest (subsection.20.3.2) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1792 4044 a 31 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)27 b(153)956 4144 y +SDict begin H.S end + 956 4144 a Fk(20.3.3.)95 +b(Eigene)27 b(Ob)5 b(jekte)1847 4144 y +SDict begin 12 H.L end + 1847 4144 a 1847 +4144 a +SDict begin [/Subtype /Link/Dest (subsection.20.3.3) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1847 4144 a 41 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(154)956 4244 y +SDict begin H.S end + 956 4244 a Fk(20.3.4.)95 b(Arra)n(ys)1533 +4244 y +SDict begin 12 H.L end + 1533 4244 a 1533 4244 a +SDict begin [/Subtype /Link/Dest (subsection.20.3.4) cvn/H /I/Border +[0 0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1533 4244 a 32 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(154)765 4344 y +SDict begin H.S end + 765 4344 a Fk(20.4.)77 b(Mathematisc)n(he)27 +b(Op)r(erationen)2042 4344 y +SDict begin 12 H.L end + 2042 4344 a 2042 4344 a +SDict begin [/Subtype /Link/Dest (section.20.4) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + +2042 4344 a 39 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(154)765 +4444 y +SDict begin H.S end + 765 4444 a Fk(20.5.)77 b(Bedingte)27 b(Ausf\374hrung)1788 +4444 y +SDict begin 12 H.L end + 1788 4444 a 1788 4444 a +SDict begin [/Subtype /Link/Dest (section.20.5) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1788 4444 a 35 w Fk(.)42 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(154)765 4544 +y +SDict begin H.S end + 765 4544 a Fk(20.6.)77 b(Sc)n(hleifen)1332 4544 y +SDict begin 12 H.L end + 1332 +4544 a 1332 4544 a +SDict begin [/Subtype /Link/Dest (section.20.6) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1332 4544 a 39 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 b(154)765 +4644 y +SDict begin H.S end + 765 4644 a Fk(20.7.)77 b(Ev)n(en)n(t-Handler)1542 +4644 y +SDict begin 12 H.L end + 1542 4644 a 1542 4644 a +SDict begin [/Subtype /Link/Dest (section.20.7) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1542 4644 a 23 w Fk(.)41 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(155)765 4744 y +SDict begin H.S end + 765 4744 a Fk(20.8.)77 b(F)-7 b(unktionen)1423 +4744 y +SDict begin 12 H.L end + 1423 4744 a 1423 4744 a +SDict begin [/Subtype /Link/Dest (section.20.8) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1423 4744 a 77 w Fk(.)42 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)27 +b(155)640 5092 y(12)p eop end +%%Page: 13 13 +TeXDict begin 13 12 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.13) cvn /DEST pdfmark end + 12 -5 a 2478 128 a Fh(Inhaltsv)n(erzeic)n(hnis)145 +360 y +SDict begin H.S end + 145 360 a Fk(20.9.)77 b(Reservierte)26 b(W\366rter)1089 +360 y +SDict begin 12 H.L end + 1089 360 a 1089 360 a +SDict begin [/Subtype /Link/Dest (section.20.9) cvn/H /I/Border [0 +0 1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark +end + 1089 360 a 49 w Fk(.)42 b(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)27 b(156)20 663 y +SDict begin H.S end + 20 663 a Fi(V.)61 +b(Anhang)544 663 y +SDict begin 14 H.L end + 544 663 a 544 663 a +SDict begin [/Subtype /Link/Dest (part.5) cvn/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Color [1 0 0] H.B /ANN pdfmark end + 544 663 a 2448 +w Fi(159)20 846 y +SDict begin H.S end + 20 846 a Fj(21.)8 b(Glossa)m(r)415 +846 y +SDict begin 12 H.L end + 415 846 a 415 846 a +SDict begin [/Subtype /Link/Dest (chapter.21) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 415 846 a 2577 w Fj(161)20 +1149 y +SDict begin H.S end + 20 1149 a Fi(Stichw)m(o)m(rtverzeichnis)964 1149 +y +SDict begin 14 H.L end + 964 1149 a 964 1149 a +SDict begin [/Subtype /Link/Dest (chapter*.34) cvn/H /I/Border [0 0 +1]BorderArrayPatch/BS <>/Color [1 0 0] H.B /ANN pdfmark end + 964 1149 a 2028 w Fi(164)3037 +5092 y Fk(13)p eop end +%%Page: 14 14 +TeXDict begin 14 13 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.14) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 15 15 +TeXDict begin 15 14 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.15) cvn /DEST pdfmark end + 12 -5 a 20 1610 a +SDict begin H.S end + 20 1610 a 20 1610 +a +SDict begin 12 H.A end + 20 1610 a 20 1610 a +SDict begin [/View [/XYZ H.V]/Dest (part.1) cvn /DEST pdfmark end + 20 1610 a 1327 1788 a Fm(T)-17 +b(eil)68 b(I.)1291 2203 y Ff(Linux)3037 5092 y Fk(15)p +eop end +%%Page: 16 16 +TeXDict begin 16 15 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.16) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 17 17 +TeXDict begin 17 16 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.17) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.2) cvn /DEST pdfmark end + 20 277 a 521 x Fm(2.)100 b(Linux)20 +971 y +SDict begin H.S end + 20 971 a 20 971 a +SDict begin 12 H.A end + 20 971 a 20 971 a +SDict begin [/View [/XYZ H.V]/Dest (section.2.1) cvn /DEST pdfmark +end + 20 971 a 150 +x Fe(2.1.)68 b(W)l(as)46 b(ist)f(Linux?)20 1305 y Fk(Der)28 +b(Kernel,)e(eine)i(Sc)n(hnittstelle)g(f\374r)g(die)f(Soft)n(w)n(are)g +(zur)g(Hardw)n(are.)20 1450 y +SDict begin H.S end + 20 1450 a 20 1450 a +SDict begin 12 H.A end + 20 +1450 a 20 1450 a +SDict begin [/View [/XYZ H.V]/Dest (section.2.2) cvn /DEST pdfmark +end + 20 1450 a 134 x Fe(2.2.)68 b(Kernel)45 +b(und)g(Mo)t(dule)20 1767 y Fd(http://www.kerne)o(l.)o(org)o(/)430 +b(http-Adresse)38 b(f\374r)k(den)h(Kernel)e(und)h(Kernel-Patches)20 +1867 y(http://www.de.ke)o(rn)o(el.)o(or)o(g/)o(pub)o(/l)o(inu)o(x/)o +(ke)o(rne)o(l/)255 b(Spiegel)40 b(f\374r)j(den)f(Kernel)20 +2006 y +SDict begin H.S end + 20 2006 a 20 2006 a +SDict begin 12 H.A end + 20 2006 a 20 2006 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.2.2.1) cvn /DEST pdfmark +end + 20 2006 +a 98 x Fi(2.2.1.)57 b(Kernel)36 b(2.4)20 2259 y Fd(tar)42 +b(xvfj)g(kernel.tar.bz2)1084 b(entpackt)40 b(den)i(Kernel)20 +2359 y(tar)g(xvfz)g(kernel.tar.gz)1128 b(entpackt)40 +b(den)i(Kernel)20 2459 y(cd)h(kernel)1697 b(Verzeichnis)39 +b(wechseln)20 2558 y(bzip2)j(-dc)g(../patch-2.x.xx)o(.bz)o(2)37 +b(|)44 b(patch)d(-p1)304 b(Kernel)41 b(patchen)20 2658 +y(gzip)h(-dc)g(../patch-2.x.xx.)o(gz)37 b(|)43 b(patch)f(-p1)391 +b(Kernel)41 b(patchen)20 2757 y(zcat)h(/proc/config.gz)37 +b(>)43 b(/usr/src/linux/.c)o(on)o(fi)o(g)125 b(die)42 +b(aktuelle)e(Konfiguration)e(des)2112 2857 y(laufenden)h(Kernels)i +(auslesen)20 2957 y(make)h(menuconfig)737 b(Kernelkonfigura)o(ti)o(on) +37 b(im)43 b(Textmodus)20 3056 y(make)f(dep)1045 b(aktualisiert)38 +b(die)k(Abh\344ngigkeiten)20 3156 y(make)g(clean)957 +b(l\366scht)41 b(die)h(tempor\344ren)d(Dateien)i(und)h(Ausgabedateien) +20 3256 y(make)g(zImage)913 b(\374bersetzt)39 b(und)k(komprimiert)38 +b(den)43 b(Kernel)20 3355 y(make)f(bzImage)869 b(\374bersetzt)39 +b(und)k(komprimiert)38 b(den)43 b(gossen)e(Kernel)20 +3455 y(make)h(dep)g(clean)g(zImage)477 b(aktualisiert,l\366)o(sc)o(ht) +37 b(und)42 b(\374bersetzt)20 3554 y(make)g(modules)869 +b(\374bersetzt)39 b(Module)20 3654 y(make)j(modules_install)517 +b(installiert)38 b(Module)20 3754 y(make)k(zlilo)957 +b(installiert)38 b(den)43 b(Kernel)e(und)h(den)g(Boot-Loader)d(LILO)20 +3853 y(make)j(bzlilo)913 b(installiert)38 b(den)43 b(gossen)e(Kernel)g +(und)1415 3953 y(den)h(Boot-Loader)d(LILO)20 4053 y(make)j(zdisk)957 +b(erzeugt)40 b(eine)i(Bootdiskette)c(mit)43 b(dem)f(neuen)g(Kernel)20 +4152 y(make)g(mrproper)825 b(l\366scht)41 b(alle)g(erzeugten)f +(Dateien,)1415 4252 y(auch)h(die)i(Konfiguration)20 4390 +y +SDict begin H.S end + 20 4390 a 20 4390 a +SDict begin 12 H.A end + 20 4390 a 20 4390 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.2.2.2) cvn /DEST pdfmark +end + 20 4390 a 99 +x Fi(2.2.2.)57 b(Kernel)36 b(2.6)i(\(Debian)d(4.0)i(etch\))20 +4644 y Fd(sudo)42 b(apt-get)f(update)564 b(Paket-Datenbank)37 +b(aktualisieren)20 4744 y(sudo)42 b(apt-get)f(install)f(kernel-package) +e(libncurses5-dev)f(fakeroot)j(wget)i(bzip2)g(\\)3037 +5092 y Fk(17)p eop end +%%Page: 18 18 +TeXDict begin 18 17 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.18) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(2.)41 +b(Lin)n(ux)858 360 y Fd(build-essential)517 b(ben\366tigte)39 +b(Pakete)i(installieren)640 460 y(cd)i(/usr/src)912 b(in)42 +b(das)h(Verzeichnis)c(zu)j(den)h(Quell-Paketen)38 b(wechseln)640 +559 y(wget)k(-c)h(http://www.kern)o(el.)o(or)o(g/)o(pub)o(/l)o(in)o +(ux/)o(ke)o(rn)o(el/)o(v2)o(.6/)o(li)o(nu)o(x-2)o(.6)o(.2)o(2.1)o(.t)o +(ar)o(.bz)o(2)2035 659 y(den)f(aktuellen)e(Kernel)h(downloaden)640 +758 y(wget)h(-c)h(http://www.kern)o(el.)o(or)o(g/)o(pub)o(/l)o(in)o +(ux/)o(ke)o(rn)o(el/)o(v2)o(.6/)o(li)o(nu)o(x-2)o(.6)o(.2)o(2.1)o(.t)o +(ar)o(.bz)o(2.)o(sig)o(n)2035 858 y(die)f(dazugeh\366rige)c(Signatur)j +(downloaden)640 958 y(gpg)h(--keyserver)d(wwwkeys.de.pgp.ne)o(t)e +(--recv-keys)i(0x517D0F0E)2035 1057 y(Public-Key)g(vom)j(Key-Server)e +(holen)640 1157 y(gpg)i(--verify)f(linux-2.6.22.1.)o(ta)o(r.b)o(z2)o +(.s)o(ign)2035 1257 y(Kernel-Signatur)c(\374berpr\374fen)640 +1356 y(tar)42 b(xvfj)g(linux-2.6.22.1.ta)o(r.)o(bz)o(2)c(Kernel)j +(entpacken)640 1456 y(ln)i(-s)g(linux-2.6.22.1)37 b(linux)260 +b(Soft-Link)39 b(zu)k(den)f(Kernel-Quellen)c(anlegen)640 +1556 y(cd)43 b(/usr/src/linux)648 b(zu)42 b(den)h(aktuellen)c +(Kernel-Quellen)f(wechseln)640 1655 y(bzip2)k(-dc)g(/usr/src/patch.b)o +(z2)37 b(|)43 b(patch)e(-p1)i(--dry-run)2035 1755 y(Aktualisieren)38 +b(pr\374fen)640 1854 y(bzip2)k(-dc)g(/usr/src/patch.b)o(z2)37 +b(|)43 b(patch)e(-p1)2035 1954 y(Kernel-Quellen)c(aktualisieren)h(wenn) +k(n\366tig)640 2054 y(make)g(clean)f(&&)i(make)f(mrproper)215 +b(Kernel)41 b(s\344ubern)f(und)j(korigieren)640 2153 +y(cp)g(/boot/config-`un)o(am)o(e)37 b(-r`)43 b(./.config)2035 +2253 y(laufende)d(Konfiguration)e(holen)640 2353 y(make)k(menuconfig) +737 b(Konfigurations-)o(Pr)o(ogr)o(am)o(m)37 b(starten)2035 +2452 y(Load)k(an)i(Alternate)d(Configuration)e(File)2035 +2552 y(laufende)i(Konfiguration)e(laden)j(und)i(Kernel)2035 +2651 y(konfigurieren)640 2751 y(make-kpkg)d(clean)640 +2851 y(fakeroot)g(make-kpkg)g(--initrd)g(--append-to-vers)o(ion)o(=-)o +(cus)o(to)o(m)d(kernel_image)i(\\)1032 2950 y(kernel_headers)387 +b(Kernel-Pakete)38 b(und)k(Kernel-Headers)c(herstellen)640 +3050 y(sudo)k(dpkg)g(-i)h(linux-image-2.6)o(.2)o(2.1)o(-c)o(us)o(tom)o +(_2)o(.6)o(.22)o(.1)o(-cu)o(st)o(om)o(-10)o(.0)o(0.)o(Cus)o(to)o(m_)o +(i38)o(6.)o(deb)2035 3150 y(den)f(neuen)f(Kernel)g(installieren)640 +3249 y(sudo)h(dpkg)g(-i)h(linux-headers-2)o(.6)o(.22)o(.1)o(-c)o(ust)o +(om)o(_2)o(.6.)o(22)o(.1-)o(cu)o(st)o(om-)o(10)o(.0)o(0.C)o(us)o(to)o +(m_i)o(38)o(6.d)o(eb)2035 3349 y(die)f(neuen)f(Header)g(installieren) +640 3448 y(sudo)h(shutdown)e(-r)j(now)522 b(Neustart)40 +b(um)i(den)h(Kernel)e(zu)i(testen)640 3747 y(uname)f(-a)1045 +b(feststellen)38 b(welcher)j(Kernel)g(gestartet)f(ist)640 +3947 y(dmesg)1175 b(Kernelmeldungen)37 b(vom)42 b(letzten)f(Start)g +(anzeigen)640 4146 y(insmod)g(Modul)870 b(Modul)41 b(laden)640 +4245 y(modprobe)f(Modul)783 b(Modul)41 b(eigenst\344ndig)e(laden)640 +4345 y(lsmod)1175 b(geladene)40 b(Module)h(anzeigen)f(lassen)640 +4445 y(rmmod)i(Modul)913 b(Modul)41 b(entfernen)640 5092 +y Fk(18)p eop end +%%Page: 19 19 +TeXDict begin 19 18 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.19) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.3) cvn /DEST pdfmark end + 20 277 a 520 x Fm(3.)100 b(Befehle)20 +962 y +SDict begin H.S end + 20 962 a 20 962 a +SDict begin 12 H.A end + 20 962 a 20 962 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.1) cvn /DEST pdfmark +end + 20 962 a 150 +x Fe(3.1.)68 b(Standa)l(rtein-aus-gab)t(e)20 1294 y Fk(Jedes)27 +b(UNIX)h(k)n(enn)n(t)g(3)f(sp)r(ezielle)g(Files:)20 1449 +y Fd(stdin)477 b(Standardeingabe,)37 b(normalerweise)h(die)k(Tastatur) +20 1549 y(stdout)433 b(Standardausgabe,)37 b(normalerweise)h(der)k +(Bildschirm)20 1648 y(stderr)433 b(Standardausgabe)38 +b(f\374r)k(Fehlermeldungen)o(,)717 1748 y(normalerweise)c(der)43 +b(Bildschirm)20 1903 y Fk(All)28 b(diese)f(Files)h(k)n(\366nnen)f +(umgelenkt)g(w)n(erden)20 2072 y Fd(setterm)41 b(-blank)g(0)304 +b(Bildschirmschoner)37 b(ausschalten)20 2195 y +SDict begin H.S end + 20 2195 +a 20 2195 a +SDict begin 12 H.A end + 20 2195 a 20 2195 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.2) cvn /DEST pdfmark +end + 20 2195 a 149 x Fe(3.2.)68 +b(Anmelden)44 b(und)h(Abmelden)20 2526 y Fd(login:)c(Benutzername)562 +b(1.)42 b(zum)h(Anmelden)d(den)i(Benutzernamen)c(eingeben)20 +2626 y(Passwort:)i(Benutzerpasswor)o(t)256 b(2.)42 b(zum)h(Anmelden)d +(das)i(Benutzerpasswort)37 b(eingeben)20 2825 y(logout)1131 +b(zum)42 b(Abmelden)e(eingeben)20 2925 y(exit)1219 b(zum)42 +b(Abmelden)e(eingeben)20 3024 y([Strg]+[d])955 b(beendet)40 +b(die)i(Shell)g(\(alle)f(Shells\))20 3166 y +SDict begin H.S end + 20 3166 a +20 3166 a +SDict begin 12 H.A end + 20 3166 a 20 3166 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.3) cvn /DEST pdfmark +end + 20 3166 a 131 x Fe(3.3.)68 +b(Anhalten)44 b(des)h(Systems)f(und)h(Bo)t(oten)20 3478 +y Fk(Un)n(ter)34 b(k)n(einen)g(Umst\344nden)h(darf)f(w)n(\344hrend)g +(des)g(Betriebs)g(einfac)n(h)g(der)g(Strom)g(abgesc)n(haltet)20 +3578 y(o)r(der)26 b(der)h(Resetknopf)g(b)r(et\344tigt)g(w)n(erden.)f +(Da)h(es)g(sonst)g(zu)g(einer)f(Besc)n(h\344digung)f(des)i(Dateisy-)20 +3678 y(stems)h(mit)g(Daten)n(v)n(erlust)e(k)n(ommen)h(k)-5 +b(ann.)20 3847 y Fd(root:)42 b(shutdown)e(-h)i(now)479 +b(h\344lt)41 b(das)i(System)e(an)20 3947 y(root:)h(halt)957 +b(h\344lt)41 b(das)i(System)e(an)20 4046 y(root:)h(init)f(0)872 +b(h\344lt)41 b(das)i(System)e(an)20 4146 y(root:)h(systemctl)d +(poweroff)346 b(h\344lt)41 b(das)i(System)e(an)20 4245 +y(root:)h(shutdown)e(-r)i(now)479 b(startet)40 b(den)i(Computer)f(nach) +g(dem)i(Herunterfahren)37 b(neu)20 4345 y(root:)42 b(reboot)869 +b(startet)40 b(den)i(Computer)f(nach)g(dem)i(Herunterfahren)37 +b(neu)20 4445 y(root:)42 b(init)f(6)872 b(startet)40 +b(den)i(Computer)f(nach)g(dem)i(Herunterfahren)37 b(neu)20 +4544 y(root:)42 b(systemctl)d(reboot)434 b(startet)40 +b(den)i(Computer)f(nach)g(dem)i(Herunterfahren)37 b(neu)20 +4644 y(root:)42 b(systemctl)d(suspend)390 b(Bereitschaft)20 +4744 y(root:)42 b(systemctl)d(hibernate)302 b(Ruhezustand)3037 +5092 y Fk(19)p eop end +%%Page: 20 20 +TeXDict begin 20 19 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.20) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 +277 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.4) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(3.4.)68 b(Die)47 b(Runlevel)640 +544 y Fd(root:)42 b(init)f(0)174 b(Systemhalt)640 643 +y(root:)42 b(init)f(S)174 b(Einzelbenutzerbet)o(ri)o(eb)37 +b(\(Single)k(User)h(Mode\))640 743 y(root:)g(init)f(1)174 +b(Einzelbenutzerbet)o(ri)o(eb)37 b(\(Single)k(User)h(Mode\))640 +842 y(root:)g(init)f(2)174 b(Lokaler)41 b(Mehrbenutzerbetr)o(ie)o(b)c +(ohne)42 b(entferntes)e(Netzwerk)1337 942 y(\(Local)h(multiuser)f +(without)h(remote)g(network\))640 1042 y(root:)h(init)f(3)174 +b(Voller)41 b(Mehrbenutzerbetri)o(eb)c(mit)42 b(Netzwerk)1337 +1141 y(\(Full)g(multiuser)e(with)h(network\))640 1241 +y(root:)h(init)f(4)174 b(Frei)42 b(\(Not)g(used\))640 +1341 y(root:)g(init)f(5)174 b(Voller)41 b(Mehrbenutzerbetri)o(eb)c(mit) +42 b(Netzwerk)e(und)j(KDM,)f(GDM)g(oder)g(XDM)1337 1440 +y(\(Full)g(multiuser)e(with)h(network)g(and)h(xdm\))640 +1540 y(root:)g(init)f(6)174 b(Systemneustart)38 b(\(System)j(reboot\)) +640 1639 y(root:)h(init)f(q)174 b(Quit)42 b(zum)h(Neueinlesen)38 +b(der)43 b(inittab)640 1772 y +SDict begin H.S end + 640 1772 a 640 1772 a +SDict begin 12 H.A end + 640 +1772 a 640 1772 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.4.1) cvn /DEST pdfmark +end + 640 1772 a 98 x Fi(3.4.1.)57 b(Upsta)m(rt)640 +2023 y Fk(Upstart)18 b(sorgt)f(daf\374r)h(das)g(Dienste)h +(ereignisbasiert)d(parallel)h(gestartet)h(w)n(erden)f(k)n(\366nnen)h +(/etc/inittab)640 2123 y(en)n(tf\344llt)28 b(neu)g(/etc/init/)f(\(bzw.) +h(/etc/ev)n(en)n(t.d/\))640 2295 y Fd(initctl)41 b(list)870 +b(Liste)41 b(aller)g(Init-Jobs)640 2395 y(sudo)h(initctl)f(start/stop) +388 b(Init-Jobs)39 b(\(zB.)j(ssh\))723 2567 y Fk(Im)28 +b(Header)f(der)g(Datei)h(k)-5 b(ann)27 b(dann)h(zum)g(Starten)f(und)h +(Beenden)g(\035ogendes)e(stehen:)640 2739 y Fd(start)42 +b(on)g(runlevel)f([2345])640 2838 y(stop)h(on)h(runlevel)d([!2345])640 +3038 y(sudo)i(initctl)f(reload-configur)o(at)o(ion)298 +b(lie\377t)42 b(die)g(Konfiguration)c(neu)k(ein)h(und)2383 +3137 y(startet/beendet)37 b(die)43 b(Dienste)640 3267 +y +SDict begin H.S end + 640 3267 a 640 3267 a +SDict begin 12 H.A end + 640 3267 a 640 3267 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.5) cvn /DEST pdfmark +end + 640 3267 +a 143 x Fe(3.5.)68 b(SuSE-Linux)640 3592 y Fd(hilfe)1175 +b(Hilfesystem)38 b(starten)640 3691 y(yast)1219 b(Yet)42 +b(another)e(Setup)i(Tool)g(-)2035 3791 y(SuSE)f(Administrationsto)o(ol) +640 3891 y(yast2)1175 b(Yet)42 b(another)e(Setup)i(Tool)g(2)h(-)2035 +3990 y(SuSE)e(Administrationsto)o(ol)640 4090 y(SuSEconfig)955 +b(das)42 b(Skript)f(muss)h(aufgerufen)d(werden)2035 4189 +y(nachdem)h(die)i(/etc/rc.config)c(und)k(/etc/sysconfig/)2035 +4289 y(von)g(Hand)g(ver\344ndert)e(wurden)640 4412 y +SDict begin H.S end + +640 4412 a 640 4412 a +SDict begin 12 H.A end + 640 4412 a 640 4412 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.6) cvn /DEST pdfmark +end + 640 4412 +a 150 x Fe(3.6.)68 b(Zur)46 b(Orientierung)e(auf)h(einem)g +(UNIX-Rechner)640 4744 y Fd(date)521 b(zeigt)42 b(Datum)f(und)i +(Uhrzeit)d(an)640 5092 y Fk(20)p eop end +%%Page: 21 21 +TeXDict begin 21 20 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.21) cvn /DEST pdfmark end + 12 -5 a 2234 128 a Fh(3.7.)40 b(Datum)28 +b(und)g(Uhrzeit)20 360 y Fd(df)43 b(-k)478 b(zeigt)42 +b(den)g(feien)g(Platten-Platz)c(in)k(kB)h(an)20 460 y(df)g(-m)478 +b(zeigt)42 b(den)g(feien)g(Platten-Platz)c(in)k(MB)h(an)20 +559 y(df)g(-h)478 b(Ausgabe)41 b(von)h(Gr\366\377en)f(in)i +(Menschen-lesbare)o(m)37 b(Format)20 659 y(du)43 b(-h)478 +b(zeigt)42 b(wie)g(viel)g(Platten-Platz)c(in)43 b(kB)f(bestimmte)e +(Dateien)h(einnehmen)20 758 y(echo)h(Text)303 b(schreibt)40 +b(den)j(Text)f(auf)g(stdout)f(\(Bildschirm\))20 858 y(finger)433 +b(zeigt)42 b(Infos)f(\374ber)h(eingeloggte)d(Benutzer)h(an)20 +958 y(finger)85 b(-l)260 b(zeigt)42 b(ausf\374hrliche)c(Infos)k +(\374ber)g(eingeloggte)c(Benutzer)j(an)20 1057 y(free)h(-t)391 +b(zeigt)42 b(den)g(feien)g(Arbeitsspeicher)37 b(in)42 +b(kB)h(an)20 1157 y(last)521 b(zeigt)42 b(wer)g(sich)g(zuletzt)f(von)h +(wo)h(aus)f(auf)g(dem)g(Rechner)f(eingeloggt)e(hat)20 +1257 y(info)j(Begriff)171 b(Hilfe)42 b(zu)g(dem)h(Begriff)d(im)j +(Infoformat)20 1356 y(man)f(Begriff)215 b(Hilfe)42 b(zu)g(dem)h +(Begriff)20 1456 y(man)f(-a)h(Begriff)84 b(alle)42 b(Kapitel)f(zu)i +(dem)f(Begriff)20 1556 y(man)g(-f)h(Begriff)84 b(listet)41 +b(die)i(gefundenen)c(Seiten)i(zu)i(dem)f(Begriff)f(auf)20 +1655 y(man)h(-k)h(Begriff)84 b(listet)41 b(die)i(Seiten)e(in)h(dem)h +(der)f(Begriff)f(vorkommt)f(auf)20 1755 y(man)i(n)i(Begriff)127 +b(Hilfe)42 b(zum)g(Begriff)f(mit)h(der)g(Sektion)f(n)717 +1854 y(Die)i(Manual-Pages)38 b(sind)k(auf)g(verschiedene)d(Sektionen)h +(aufgeteilt:)717 1954 y(1)j(Shell-Kommandos)717 2054 +y(2)g(System-Aufrufe)717 2153 y(3)g(Funktionen)d(-)j(C-Bibliotheksfun)o +(kt)o(io)o(nen)o(.)717 2253 y(4)g(Die)g(Beschreibung)38 +b(von)43 b(Konfigurationsd)o(at)o(ei)o(en.)717 2353 y(5)g(Die)g(Syntax) +e(wichtiger)f(Dateien.)717 2452 y(6)j(Beschreibung)c(von)j(Spielen.)717 +2552 y(7)h(Alles)f(was)g(mit)h(Text,)e(Textformatierung)c(und)42 +b(anderen)f(Formaten)f(zu)804 2651 y(tun)j(hat.)717 2751 +y(8)g(Die)g(Befehle)d(des)j(Systemverwalter)o(s.)717 +2851 y(9)g(Die)g(Beschreibung)38 b(der)43 b(Linux-Kernelrou)o(ti)o(ne)o +(n.)717 2950 y(n)g(n)h(kommt)d(angeblich)f(von)i(neu,)g(hier)g(sind)g +(sonstige)e(Manual-Pages)804 3050 y(aufgef\374hrt,)f(die)k(in)f(eine)g +(der)h(oberen)e(Sektionen)e(geh\366ren,)i(aber)804 3150 +y(traditionell)e(hier)j(stehen)f(oder)h(zu)g(keiner)f(Sektion)g(genau)h +(passen.)20 3249 y(pwd)565 b(Ausgabe)41 b(des)h(aktuellen)e +(Verzeichnisses)20 3349 y(w)653 b(wer)43 b(ist)f(da)h(und)f(was)g(ist)h +(los)20 3448 y(whatis)e(Befehl)128 b(zeigt)42 b(Kurzerkl\344rung)c +(eines)j(Befehls)20 3548 y(which)h(Befehl)171 b(zeigt,)41 +b(wo)i(Executable)c(liegt,)i(und)i(eventual)d(alias)20 +3648 y(who)565 b(zeigt)42 b(Liste)f(aller)h(eingeloggten)c(Benutzer)20 +3747 y(whoami)433 b(zeigt,)41 b(wem)i(die)f(Shell)f(geh\366rt)20 +3916 y +SDict begin H.S end + 20 3916 a 20 3916 a +SDict begin 12 H.A end + 20 3916 a 20 3916 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.7) cvn /DEST pdfmark +end + 20 3916 +a 137 x Fe(3.7.)68 b(Datum)45 b(und)g(Uhrzeit)20 4245 +y Fd(date)1916 b(Datum)41 b(und)h(Uhrzeit)f(abfragen)20 +4345 y(date)h(-s)h('2000-01-29)c(20:00:00')g(+'\045Y-\045m-\045d)h +(\045T')173 b(Datum)41 b(und)h(Uhrzeit)f(einstellen)20 +4445 y(netdate)g(Rechnername)1259 b(Datum)41 b(und)h(Uhrzeit)f(vom)h +(Rechner-)2112 4544 y(name)g(holen)20 4644 y(clock)g(-u)g(-w)1612 +b(Datum)41 b(und)h(Uhrzeit)f(in)2112 4744 y(das)h(BIOS)g(schreiben)3037 +5092 y Fk(21)p eop end +%%Page: 22 22 +TeXDict begin 22 21 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.22) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 360 y Fd(timedatectl)e(set-local-rtc)f(1)915 +b(locale)41 b(Zeit)h(einstellen)640 460 y(timedatectl)d(set-local-rtc)f +(0)915 b(UTC)42 b(Zeit)g(einstellen)640 624 y +SDict begin H.S end + 640 624 +a 640 624 a +SDict begin 12 H.A end + 640 624 a 640 624 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.8) cvn /DEST pdfmark +end + 640 624 a 159 x Fe(3.8.)68 +b(Au\035isten)640 982 y Fd(ls)958 b(Auflisten)40 b(der)i(Dateien)f(im)h +(aktuellen)e(Verzeichnis)640 1081 y(ls)j(Verzeichnis)431 +b(Inhalt)41 b(des)h(Verzeichnisses)c(ausgeben)640 1181 +y(ls)43 b(-la)783 b(alles)41 b(Auflisten)f(im)j(aktuellen)d +(Verzeichnis)640 1281 y(ls)j(-laFi)695 b(alles)41 b(ausf\374hrlicher)d +(Auflisten)640 1380 y(ls)43 b(|)g(paste)e(-)j(-)f(-)g(-)261 +b(Dateien)41 b(vierspaltig)d(ausgeben)640 1480 y(ls)43 +b(-1)827 b(untereinander)38 b(ausgeben)640 1580 y(ls)43 +b(-F)827 b(Verzeichnisse)38 b(mit)k(angeh\344ngtem)d(/)k(markieren)640 +1679 y(ls)g(-i)827 b(inode-Nummer)38 b(mit)43 b(ausgeben)640 +1779 y(ls)g(-R)827 b(alle)42 b(Unterverzeichni)o(sse)37 +b(mit)42 b(ausgeben)640 1878 y(ls)h(-r)827 b(Auflisten)40 +b(der)i(Dateien)f(umkehren)640 2043 y +SDict begin H.S end + 640 2043 a 640 +2043 a +SDict begin 12 H.A end + 640 2043 a 640 2043 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.9) cvn /DEST pdfmark +end + 640 2043 a 159 x Fe(3.9.)68 +b(Dateinamen)640 2401 y Fk(UNIX)31 b(un)n(tersc)n(heidet)e(Gro\377-)g +(und)h(Kleinsc)n(hreibung!)f(liesmic)n(h,)h(Liesmic)n(h,)g(LIESMICH)h +(sind)640 2500 y(v)n(ersc)n(hiedene)e(Dateinamen!)h(max.)g(256)f(Zeic)n +(hen,)h(alle)g(Zeic)n(hen)g(sind)h(erlaubt)f(.)g(am)g(Namens-)640 +2600 y(anfang)d(v)n(erstec)n(kt)f(Datei)i(v)n(or)e(ls,)i(cp,)f(rm,)h(m) +n(v)640 2803 y Fd(alias)1175 b(gibt)41 b(alle)h(definierten)d +(Kurznamen)h(aus)640 2902 y(alias)i(la='ls)f(-la')652 +b(definiert)39 b(Kurznamen)h(f\374r)i(ein)h(Kommando)2035 +3002 y(aus)f(ls)h(-la)f(wird)g(ein)g(la)640 3166 y +SDict begin H.S end + 640 +3166 a 640 3166 a +SDict begin 12 H.A end + 640 3166 a 640 3166 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.10) cvn /DEST pdfmark +end + 640 3166 a 159 +x Fe(3.10.)68 b(Dateiendungen)640 3524 y Fd(.a)609 b(Objektbibliotheke) +o(n)640 3624 y(.c)g(C-Quelltextdatei)640 3723 y(.cpp)521 +b(C++-Quellen)640 3823 y(.o)609 b(Objektdatei)640 3923 +y(.p)g(Pascal-Quellen)640 4022 y(.s)g(Assembler)640 4187 +y +SDict begin H.S end + 640 4187 a 640 4187 a +SDict begin 12 H.A end + 640 4187 a 640 4187 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.11) cvn /DEST pdfmark +end + 640 4187 +a 158 x Fe(3.11.)68 b(Infos)45 b(\374b)t(er)f(Files)640 +4544 y Fd(file)e(Datei)608 b(Anzeige)41 b(des)h(Dateitypes)640 +4644 y(wc)h(-lwc)f(Datei)477 b(Ausgabe)41 b(der)h(Zeilen,)e(Worte)i +(und)g(Buchstaben)e(der)i(Datei)640 4744 y(ls)h(-a)g(|)g(wc)f(-l)479 +b(alle)42 b(Dateien)e(im)j(aktuellen)d(Verzeichnis)f(z\344hlen)640 +5092 y Fk(22)p eop end +%%Page: 23 23 +TeXDict begin 23 22 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.23) cvn /DEST pdfmark end + 12 -5 a 1176 128 a Fh(3.12.)40 b(Arb)r(eiten\(V)-7 +b(erw\374stungen\))28 b(im)g(und)g(am)g(Filesystem)20 +277 y +SDict begin H.S end + 20 277 a 20 277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.12) cvn /DEST pdfmark +end + 20 277 a 90 +x Fe(3.12.)68 b(Arb)t(eiten\(V)l(erw\374stungen\))40 +b(im)46 b(und)f(am)h(Filesystem)20 551 y Fd(cd)d(Pfad)739 +b(Verzeichnis)39 b(wechseln)20 651 y(mkdir)j(Name)608 +b(Verzeichnis)39 b(erzeugen)20 751 y(mkdir)j(-p)g(Name)478 +b(Verzeichnis)39 b(erzeugen,)h(fehlende)g(Verzeichnisse)e(mit)k +(anlegen)20 901 y +SDict begin H.S end + 20 901 a 20 901 a +SDict begin 12 H.A end + 20 901 a 20 901 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.13) cvn /DEST pdfmark +end + +20 901 a 132 x Fe(3.13.)68 b(K)l(opieren)44 b(und)h(V)l(erschieb)t(en) +20 1218 y Fd(cp)e(Dateien)d(Ziel)391 b(Dateien)41 b(kopieren)20 +1318 y(cp)i(-i)g(Dateien)d(Ziel)260 b(Dateien)41 b(kopieren,)e(vor)k +(dem)f(\334berschreiben)1066 1417 y(einer)f(Datei)h(nachfragen)20 +1517 y(cp)h(-R)g(Quelle*)d(Ziel)260 b(gesamten)40 b(Inhalt)h(eines)h +(Verzeichnises)c(kopieren)20 1617 y(mv)43 b(Quelle)e(Ziel)434 +b(Datei)41 b(verschieben)e(oder)j(umbenennen)20 1716 +y(mv)h(-f)g(Quelle)e(Ziel)303 b(Schreibgesch\374tzt)o(e)37 +b(Datei)42 b(verschieben)d(oder)j(umbenennen)20 1816 +y(mv)h(-i)g(Quelle)e(Ziel)303 b(Datei)41 b(verschieben)e(oder)j +(umbenennen,)1066 1915 y(vor)g(dem)h(\334berschreiben)38 +b(nachfragen)20 2015 y(ln)43 b(Quelle)e(Ziel)434 b(Verkn\374pfung)39 +b(erzeugen)h(\(Hardlink\),)1066 2115 y(beide)h(Dateien)g(haben)g(die)i +(gleiche)d(inode)20 2214 y(ln)j(-s)g(Quelle)e(Ziel)303 +b(Verkn\374pfung)39 b(erzeugen)h(\(Softlink\))20 2314 +y(ln)j(-sf)f(Quelle)f(Ziel)260 b(Verkn\374pfung)39 b(erzeugen)h +(\(Softlink\))1066 2414 y(ohne)i(R\374ckfrage)e(\374berschreiben)20 +2564 y +SDict begin H.S end + 20 2564 a 20 2564 a +SDict begin 12 H.A end + 20 2564 a 20 2564 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.14) cvn /DEST pdfmark +end + 20 2564 +a 132 x Fe(3.14.)68 b(L\366schen)20 2881 y Fd(rm)43 b(Datei)695 +b(l\366schen)41 b(von)h(Daten)20 2981 y(rm)h(-r)g(Dateien)476 +b(l\366schen)41 b(von)h(Dateien)e(mit)j(Verzeichnissen)20 +3080 y(rmdir)f(Verzeichnis)300 b(l\366scht)41 b(Verzeichnis)e(wenn)j +(es)g(leer)g(ist,)1066 3180 y(\374berfl\374ssig)d(rm)k(-r)f(geht)g +(auch)20 3330 y +SDict begin H.S end + 20 3330 a 20 3330 a +SDict begin 12 H.A end + 20 3330 a 20 3330 +a +SDict begin [/View [/XYZ H.V]/Dest (section.3.15) cvn /DEST pdfmark +end + 20 3330 a 133 x Fe(3.15.)68 b(Ausgeb)t(en)20 3648 y +Fd(cat)42 b(Datei)1001 b(Inhalt)41 b(der)h(Datei)f(auf)i(dem)f +(Bildschirm)d(ausgeben)20 3747 y(cat)j(Datei1)f(Datei2)g(>)j(Datei3)259 +b(Dateien1+2)39 b(zusammenf\374gen)f(in)43 b(die)f(Datei3)f(schreiben) +20 3847 y(strings)g(Datei)826 b(Druckbare)39 b(Zeichen)i(der)h(Datei)g +(ausgeben)20 3947 y(more)g(Datei)957 b(Datei)41 b(seitenweise)e +(ausgeben)20 4046 y(less)j(Datei)957 b(Datei)41 b(ausgeben)f(und)i(mit) +h(den)f(Curser)f(scrollen)1415 4146 y(j)i(eine)f(Zeile)f(weiter)1415 +4245 y(k)i(eine)f(Zeile)f(zur\374ck)1415 4345 y(u)i(halbe)e(Seite)h +(zur\374ck)1415 4445 y(/Text)f(sucht)g(den)i(Text)1415 +4544 y(q)g(less)f(verlassen)20 4644 y(nl)h(Datei)1044 +b(Datei)41 b(mit)h(Zeilennummern)c(ausgeben)20 4744 y(tail)k(Datei)957 +b(zeigt)41 b(die)h(letzten)f(10)i(Zeilen)e(einer)g(Datei)h(an)3037 +5092 y Fk(23)p eop end +%%Page: 24 24 +TeXDict begin 24 23 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.24) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 360 y Fd(tail)h(-n)h(Datei)826 b(zeigt)41 +b(die)h(letzten)f(n)i(Zeilen)e(einer)h(Datei)f(an)640 +460 y(tail)h(-f)h(Datei)826 b(zeigt)41 b(st\344ndig)g(die)h(letzten)f +(10)h(Zeilen)f(der)i(Datei)e(an)640 559 y(tail)h(-f)h(/var/log/messag)o +(es)299 b(Systemmeldungen)37 b(mitverfolgen)640 659 y(head)42 +b(Datei)957 b(zeigt)41 b(die)h(ersten)f(10)i(Zeilen)e(einer)h(Datei)f +(an)640 758 y(head)h(-n)h(Datei)826 b(zeigt)41 b(die)h(ersten)f(n)j +(Zeilen)d(einer)g(Datei)g(an)640 858 y(od)i(-b)g(Datei)913 +b(Datei)41 b(oktal)g(ausgeben)640 958 y(od)i(-c)g(Datei)913 +b(Datei)41 b(als)h(ASCII)g(ausgeben)640 1057 y(od)h(-x)g(Datei)913 +b(Datei)41 b(hexadezimal)e(ausgeben)640 1157 y(ls)k(|)g(paste)e(-)j(-)f +(-)g(-)610 b(Dateien)40 b(vierspaltig)f(ausgeben)640 +1257 y(recode)i(ibmpc:lat1)f(Datei)390 b(Konvertierung)38 +b(der)k(Datei)2035 1356 y(7)h(Bit)f(DOS)g(in)h(das)f(UNICODE/8)e(Bit)i +(Format)640 1493 y +SDict begin H.S end + 640 1493 a 640 1493 a +SDict begin 12 H.A end + 640 1493 a 640 +1493 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.16) cvn /DEST pdfmark +end + 640 1493 a 144 x Fe(3.16.)68 b(Der)46 b(T)-11 +b(extedito)l(r)43 b(vi/vim)640 1821 y Fd(vi)609 b(Editor)41 +b(vi)i(aufrufen)640 1921 y(vi)g(Datei)346 b(Editor)41 +b(vi)i(aufrufen)d(und)j(Datei)e(\366ffnen)640 2020 y(vi)i(-r)478 +b(swap-Dateien)39 b(anzeigen)640 2120 y(vi)k(-r)g(Datei)215 +b(Datei)42 b(nach)g(einem)f(Stromausfall)e(\(oder)i(Absturz\))f(wieder) +h(herstellen)640 2220 y(vi)i(-R)g(Datei)215 b(Datei)42 +b(schreibgesch\374tz)o(t)c(\366ffnen)640 2368 y +SDict begin H.S end + 640 2368 +a 640 2368 a +SDict begin 12 H.A end + 640 2368 a 640 2368 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.17) cvn /DEST pdfmark +end + 640 2368 a 133 x Fe(3.17.)68 +b(Suchen)45 b(nach)g(Dateien)640 2685 y Fd(find)d(Pfad)g(Bedingung)563 +b(nach)41 b(Dateien)g(suchen)640 2784 y(find)h(Pfad)g(|)h(grep)f(name) +478 b(nach)41 b(Dateien)g(suchen,)g(hat)h(sich)g(bew\344hrt)640 +2884 y(find)g(Pfad)g(-name)f(.profile)346 b(nach)41 b(dem)i(Dateinamen) +c(.profile)h(suchen)640 2983 y(find)i(Pfad)g(-user)f(higi)522 +b(nach)41 b(Dateien)g(die)h(dem)h(Benutzer)2035 3083 +y(higi)e(geh\366ren)g(suchen)640 3183 y(find)h(Pfad)g(-size)f(+1024c) +434 b(nach)41 b(Dateien)g(die)h(gr\366\377er)f(als)i(1024)f(Bytes)2035 +3282 y(sind)f(suchen)640 3382 y(find)h(Pfad)g(-atime)f(+7)566 +b(nach)41 b(Dateien)g(suchen)g(die)h(\344lter)g(als)g(7)h(Tage)f(sind) +640 3482 y(find)g(Pfad)g(-print)695 b(alle)41 b(Dateien)g(im)i(Pfad)f +(ausgeben)640 3581 y(find)g(-name)f(*.txt)696 b(alle)41 +b(Dateien)g(im)i(aktuellen)d(Pfad)2035 3681 y(mit)i(der)g(Endung)f +(.txt)h(ausgeben)640 3780 y(find)g(/)h(-size)f(+16000000c)388 +b(alle)41 b(Dateien)g(die)h(mehr)g(als)h(16MB)e(haben)h(ausgeben)640 +3880 y(find)g(/)h(-fstype)e(msdos)g(-name)h(*.zip)346 +b(sucht)42 b(auf)g(MS-DOS-Partition)37 b(nach)42 b(*.zip)640 +3980 y(find)g(/)h(-fstype)e(vfat)h(-name)f(*.txt)390 +b(sucht)42 b(auf)g(Windows-Partitio)o(n)37 b(nach)42 +b(*.txt)640 4128 y +SDict begin H.S end + 640 4128 a 640 4128 a +SDict begin 12 H.A end + 640 4128 a 640 +4128 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.18) cvn /DEST pdfmark +end + 640 4128 a 133 x Fe(3.18.)68 b(Suchen)45 b(in)h(Dateien)640 +4445 y Fd(grep)c(Ausdruck)e(Datei)565 b(sucht)41 b(nach)h(dem)g +(Ausdruck)e(in)j(der)f(Datei)640 4544 y(grep)g(-c)h(Ausdruck)d(Datei) +434 b(Anzahl)41 b(der)h(Zeilen,)f(die)h(den)g(Begriff)2035 +4644 y(enthalten)d(ausgeben)640 4744 y(grep)j(-i)h(Ausdruck)d(Datei)434 +b(gro\377e)41 b(und)h(kleine)f(Buchstaben)f(nicht)h(unterscheiden)640 +5092 y Fk(24)p eop end +%%Page: 25 25 +TeXDict begin 25 24 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.25) cvn /DEST pdfmark end + 12 -5 a 2031 128 a Fh(3.19.)40 b(V)-7 +b(ergleic)n(hen)27 b(v)n(on)f(Dateien)20 360 y Fd(grep)42 +b(-l)h(Ausdruck)d(Datei)434 b(meldet)41 b(die)h(Dateien)e(die)j(den)f +(Ausdruck)e(enthalten)20 460 y(grep)i(-n)h(Ausdruck)d(Datei)434 +b(sucht)41 b(nach)h(dem)g(Ausdruck)e(und)1415 559 y(gibt)h(die)i +(Zeilennummer)38 b(mit)k(aus)20 659 y(grep)g(-v)h(Ausdruck)d(Datei)434 +b(Ausgabe)40 b(der)i(Zeilen)f(die)i(den)f(Ausdruck)1415 +758 y(nicht)f(enthalten)20 858 y(egrep)h(Ausdruck)e(Datei)521 +b(sucht)41 b(nach)h(dem)g(Ausdruck)e(in)j(der)f(Datei)20 +958 y(fgrep)g(String)f(Datei)608 b(sucht)41 b(nach)h(dem)g(String)f(in) +i(der)f(Datei)20 1057 y(fgrep)g(-x)g(String)f(Datei)478 +b(sucht)41 b(nach)h(dem)g(String)f(in)i(der)f(Zeile)g(einer)f(Datei)20 +1211 y +SDict begin H.S end + 20 1211 a 20 1211 a +SDict begin 12 H.A end + 20 1211 a 20 1211 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.19) cvn /DEST pdfmark +end + 20 1211 +a 133 x Fe(3.19.)68 b(V)l(ergleichen)44 b(von)h(Dateien)20 +1531 y Fd(diff)d(Datei1)f(Datei2)608 b(zeigt)41 b(die)h(Unterschiede)d +(zwischen)h(zwei)i(Dateien)20 1630 y(comm)g([-123])f(Datei1)g(Datei2) +303 b(zwei)41 b(sortierte)f(Textdateien)f(vergleichen)20 +1730 y(cmp)j(-l)h(Datei1)e(Datei2)521 b(Bin\344r-/Dateien)37 +b(vergleichen)20 1884 y +SDict begin H.S end + 20 1884 a 20 1884 a +SDict begin 12 H.A end + 20 1884 a +20 1884 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.20) cvn /DEST pdfmark +end + 20 1884 a 133 x Fe(3.20.)68 b(Druck)l(en)20 +2203 y Fd(lpr)42 b(Datei)652 b(Datei)41 b(auf)i(dem)f(Drucker)f +(ausgeben)20 2303 y(lpr)h(-#n)h(Datei)477 b(Datei)41 +b(n)j(mal)e(auf)g(dem)g(Drucker)f(ausgeben)20 2402 y(lpr)h(-m)h(Datei) +521 b(Datei)41 b(auf)i(dem)f(Drucker)f(ausgeben,)e(nach)j(dem)h +(Drucken)1066 2502 y(bekommt)e(man)h(eine)g(mail)20 2602 +y(lpq)914 b(Warteschlange)38 b(anschauen)20 2701 y(lprm)k(Jobnummer)432 +b(Druckauftrag/Job)37 b(aus)42 b(der)g(Warteschlange)c(l\366schen)20 +2801 y(pr)958 b(Dateien)41 b(f\374r)h(das)g(Drucken)f(aufbereiten)20 +2955 y +SDict begin H.S end + 20 2955 a 20 2955 a +SDict begin 12 H.A end + 20 2955 a 20 2955 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.21) cvn /DEST pdfmark +end + 20 2955 +a 133 x Fe(3.21.)68 b(File-Inhalt)45 b(b)t(ea)l(rb)t(eiten)20 +3274 y Fd(compress)40 b(Datei)1131 b(Datei)42 b(komprimieren)c(nach)k +(Datei.Z)20 3374 y(uncompress)d(Datei.Z)956 b(Datei.Z)41 +b(dekomprimieren)20 3473 y(expand)g(Datei1)g(>)i(Datei2)782 +b(Tabs)42 b(aus)g(der)h(Datei1)e(entfernen)e(und)1763 +3573 y(zur)j(Datei2)f(schreiben)20 3673 y(unpack)g(Datei.z)1130 +b(Datei.z)41 b(dekomprimieren)20 3772 y(sort)h(Datei1)f(>)i(Datei2)869 +b(die)42 b(Zeilen)f(der)i(Datei1)e(in)1763 3872 y(die)h(Datei2)f +(sortieren)20 3971 y(tr)i([A-Z])e([a-z])h(<)h(Datei1)e(>)i(Datei2)346 +b(Klein)42 b(durch)f(Gro\377buchstaben)d(ersetzen)20 +4071 y(uniq)k(Datei)1305 b(Datei)42 b(ausgeben)e(bis)i(auf)g(doppelte)f +(Zeilen)20 4225 y +SDict begin H.S end + 20 4225 a 20 4225 a +SDict begin 12 H.A end + 20 4225 a 20 4225 +a +SDict begin [/View [/XYZ H.V]/Dest (section.3.22) cvn /DEST pdfmark +end + 20 4225 a 133 x Fe(3.22.)68 b(T)-11 b(AR)45 b(\(tap)t(e)g(a)l +(rchiver\))h(verw)l(altet)e(Dateia)l(rchive)20 4544 y +Fk(Syn)n(tax:)20 4644 y(tar)23 b([-A)n(cdrtux])g([\025delete])h([-b)f +(n])h([-BgGhijklmMoOpPPsSvwW)-7 b(z])24 b([-C)f(V)-7 +b(erzeic)n(hnis])23 b([-f)h(Datei])20 4744 y([-F)g(Datei])g([-K)f +(Datei])h([-L)f(L\344nge])g([-N)h(Datum])g([-T)f(Datei])h([-V)g(Name])g +([-X)f(Datei])h([0-7])f([lmh])3037 5092 y(25)p eop end +%%Page: 26 26 +TeXDict begin 26 25 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.26) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 360 y Fd(Optionen:)640 460 y(-A)609 b(Archiv)41 +b(an)i(ein)f(Archiv)f(anh\344ngen)640 559 y(-c)609 b(erzeugt)41 +b(ein)h(neues)g(Archiv)640 659 y(-d)609 b(vergleicht)40 +b(das)i(Archiv)f(mit)h(dem)h(Dateisystem)640 758 y(--delete)d(Datei)85 +b(l\366scht)41 b(die)i(Datei)e(aus)h(dem)h(Archiv)e(\(nicht)g(f\374r)h +(Magnetb\344nder\))640 858 y(-r)609 b(h\344ngt)42 b(Dateien)e(an)j(das) +f(Archiv)f(an)i(\(nicht)e(f\374r)i(Magnetb\344nder\))640 +958 y(-t)609 b(zeigt)42 b(den)g(Inhalt)f(des)h(Archivs)640 +1057 y(-u)609 b(ersetzt)41 b(neue)h(Dateien)e(oder)i(f\374gt)g(sie)h +(ein)f(\(nicht)f(f\374r)h(Magnetb\344nder\))640 1157 +y(-x)609 b(kopiert/entpackt)37 b(Datei-en)j(aus)j(dem)f(Archiv)640 +1257 y(--atime-preserve)342 b(Zugriffszeit)38 b(nach)k(der)h +(Archivierung)38 b(zur\374ck)j(setzen)640 1356 y(-b)i(n)522 +b(setzt)42 b(die)g(Blockgr\366\377e)d(n*512Bytes)h(\(Voreinstellung)d +(n=20\))640 1456 y(-B)609 b(unterdr\374ckt)39 b(den)k(Abbruch)d(beim)i +(Lesen)g(unvollst\344ndiger)37 b(Bl\366cke)1337 1556 +y(zum)43 b(Lesen)e(von)h(4.2BSD)f(Pipes)640 1655 y(-C)i(Verzeichnis)82 +b(wechselt)41 b(in)h(das)h(Verzeichnis,)38 b(um)43 b(dort)f(weitere)e +(Dateien)h(zu)1337 1755 y(archivieren)640 1854 y(-f)i(Datei)346 +b(benutzt)41 b(Datei)g(oder)h(das)h(Ger\344t)e(als)h(Archiv)640 +1954 y(-F)h(Datei)346 b(bei)43 b(-M)f(f\374hrt)g(das)g(Shellscript)d +(Datei)j(aus,)f(wenn)h(das)h(Medium)e(voll)h(ist)640 +2054 y(-G)609 b(erzeugt)41 b(am)i(Anfang)e(des)h(Bandarchives)d(einen)i +(speziellen)e(Eintrag)i(f\374r)1337 2153 y(jedes)h(archivierte)d +(Verzeichnis;)f(spezielles)i(GNU)i(Format)640 2253 y(-g)h(Datei)346 +b(erzeugt)41 b(eine)h(Datei)f(mit)i(einer)e(Liste)h(der)g(archivierten) +1337 2353 y(Verzeichnisse)c(als)43 b(Zeitmarke)c(der)k(Archivierung;)38 +b(wenn)k(die)g(Datei)1337 2452 y(bereits)f(existiert,)e(werden)i(nur)i +(die)f(Dateien)f(archiviert,)d(die)43 b(nach)1337 2552 +y(dieser)e(Zeitmarke)f(erzeugt)h(oder)h(ver\344ndert)d(wurden)i +(\(spezielles)e(GNU)1337 2651 y(Format:)i(1.Zeile=Zeitmark)o(e,)c +(1.Feld=Nr.)i(der)k(Partition,)1337 2751 y(2.Feld=Inode)c(des)j +(Verzeichnisses,)37 b(3.Feld=Name)i(des)k(Verzeichisses\))640 +2851 y(-h)609 b(archiviert)40 b(die)i(referenzierten)c(Dateien)i +(anstelle)g(der)j(Links)640 2950 y(-i)609 b(ignoriert)40 +b(Bl\366cke)h(mit)h(Nullbytes)e(im)j(Archiv)640 3050 +y(-j)609 b(erzeugt)41 b(ein)h(mit)h(bzip2)e(komprimiertes)d(Archiv)640 +3150 y(-k)609 b(existierende)39 b(Dateien)h(werden)h(beim)h(Auspacken)e +(von)i(Archiven)f(nicht)1337 3249 y(\374berschrieben)640 +3349 y(-K)i(Datei)346 b(beginnt)41 b(eine)h(Aktion)f(bei)h(Datei)g(im)g +(Archiv)640 3448 y(-l)609 b(verhindert)40 b(Archivierung)e(von)k +(Dateien)f(aus)h(anderen)f(Dateisystemen)640 3548 y(-L)i(L\344nge)346 +b(wartet)41 b(auf)i(Medienwechsel)38 b(nach)k(L\344nge)f(Bytes)640 +3648 y(-m)609 b(das)43 b(Datum)e(der)h(letzten)f(\304nderung)f(wird)i +(nicht)g(mit)g(archiviert)640 3747 y(-M)609 b(das)43 +b(Archiv)e(ist)h(auf)g(mehrere)f(Medien)g(verteilt)f(\(Multi-Volume\)) +640 3847 y(-N)j(Datum)346 b(archiviert)40 b(nur)i(Dateien,)e(die)i +(neuer)g(sind)g(als)g(Datum)640 3947 y(-o)609 b(benutzt)41 +b(das)h(alte)g(V7)h(tar-Format)c(anstelle)h(des)j(ANSI)f(Formates)640 +4046 y(-O)609 b(schreibt)41 b(die)h(Dateien)e(in)j(die)f +(Standardausgabe)640 4146 y(-p)609 b(erh\344lt)41 b(die)i +(Zugriffsrechte)37 b(der)43 b(Dateien)640 4245 y(-P)609 +b(archiviert)40 b(mit)i(absoluten)e(Dateinamen)640 4345 +y(-R)609 b(gibt)42 b(zu)h(jeder)e(Meldung)g(die)h(Blocknummer)d(des)k +(Archivblocks)38 b(aus,)k(von)1337 4445 y(dem)h(die)f(Meldung)f +(verursacht)e(wurde)640 4544 y(-s)609 b(zeigt)42 b(an,)g(dass)g(die)g +(Liste)g(von)g(Dateien)f(im)h(Argument)f(die)h(gleiche)1337 +4644 y(Reihenfolge)d(hat)k(wie)f(die)g(Dateien)f(im)i(Archiv)640 +4744 y(-T)g(Datei)346 b(holt)42 b(die)h(Namen)e(der)h(zu)h +(archivierenden)38 b(Dateien)i(aus)j(Datei)640 5092 y +Fk(26)p eop end +%%Page: 27 27 +TeXDict begin 27 26 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.27) cvn /DEST pdfmark end + 12 -5 a 2114 128 a Fh(3.23.)40 b(Disk)n(etten/F)-7 +b(estplatten)20 360 y Fd(-v)609 b(meldet)41 b(jede)h(Aktion)20 +460 y(-V)h(Name)390 b(erzeugt)41 b(ein)h(Archiv)f(mit)i(dem)f +(\(internen\))d(Label)j(Name)20 559 y(-w)609 b(erwartet)40 +b(interaktiv)g(Best\344tigung)f(jeder)i(Aktion)20 659 +y(-W)609 b(verifiziert)39 b(die)k(geschriebenen)38 b(Daten)j(im)i +(Archiv)20 758 y(-X)g(Datei)346 b(liest)42 b(aus)g(der)g(Datei)g(Namen) +f(oder)h(regul\344re)e(Ausdr\374cke)g(von)i(bzw.)g(f\374r)717 +858 y(Dateien,)e(die)j(nicht)e(archiviert)f(werden)h(soll)20 +958 y(-z)609 b(erzeugt)41 b(ein)h(mit)h(gzip)e(komprimiertes)d(Archiv) +20 1057 y(-Z)609 b(erzeugt)41 b(ein)h(mit)h(compress)d(komprimiertes)e +(Archiv)20 1157 y(-{0...7}{lmh})125 b(spezifiziert)39 +b(das)j(Ger\344t)g(und)g(die)g(Dichte)f(des)h(Speichermediums)c +(\(f\374r)717 1257 y(Diskettenarchive)f(ohne)42 b(Bedeutung\);)d(0)k +(ist)f(der)h(erste)e(Streamer,)f(1)717 1356 y(1)j(der)g(zweite)e(und)h +(so)h(weiter;)d(die)j(Dichte)e(bestimmt)f(den)i(Bandtyp)20 +1504 y +SDict begin H.S end + 20 1504 a 20 1504 a +SDict begin 12 H.A end + 20 1504 a 20 1504 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.22.1) cvn /DEST pdfmark +end + 20 1504 +a 101 x Fi(3.22.1.)57 b(P)m(ack)m(en)20 1764 y Fd(tar)42 +b(rPvf)g(name.tar)e(/etc/)391 b(Verzeichnis)38 b(zum)43 +b(tar)f(zuf\374gen)20 1864 y(tar)g(rPvf)g(name.tar)e(/etc/inittab*)f +(Datei-en)h(zum)i(tar)g(zuf\374gen)20 1964 y(tar)g(cPvzf)g(name.tgz)e +(name.tar)215 b(tar)42 b(->)h(tgz)20 2063 y(tar)f(cPvMf)g(/dev/fd0)e +(name.tgz)215 b(tgz)42 b(auf)g(Diskette)e(sichern)20 +2263 y(tar)i(cvzf)g(Datei.tgz)e(Verzeichnis)83 b(Packt)41 +b(Verzeichnis)e(in)k(Datei.tgz)20 2411 y +SDict begin H.S end + 20 2411 a 20 +2411 a +SDict begin 12 H.A end + 20 2411 a 20 2411 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.22.2) cvn /DEST pdfmark +end + 20 2411 a 101 x Fi(3.22.2.)57 +b(Entpack)m(en)20 2671 y Fd(tar)42 b(xvfpM)g(/dev/fd0)607 +b(tgz)42 b(von)g(Diskette)e(holen)20 2770 y(tar)i(xvfpz)g(name.tgz)607 +b(tgz)42 b(->)h(tar)20 2870 y(tar)f(tvfp)g(name.tar)651 +b(Inhalt)41 b(des)h(Tars)g(anzeigen)20 2970 y(tar)g(xvfp)g(name.tar)651 +b(Tar)42 b(entpacken)20 3127 y +SDict begin H.S end + 20 3127 a 20 3127 a +SDict begin 12 H.A end + 20 +3127 a 20 3127 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.23) cvn /DEST pdfmark +end + 20 3127 a 134 x Fe(3.23.)68 b(Disk)l(etten/F)l +(estplatten)20 3448 y Fd(dd)43 b(if=/dev/zero)38 b(of=/dev/sda)h +(bs=512)i(count=1)259 b(\374berschreibt)38 b(den)43 b(MBR)f(der)g +(ersten)2112 3548 y(SCSI-Platte)d(mit)j(Nullen)20 3747 +y(fdisk)g(Ger\344tedatei)997 b(Partitionstabell)o(en)o(edi)o(to)o(r)20 +3847 y(fdisk)42 b(-l)g(/dev/hda)999 b(zeigt)42 b(die)g +(Partitionstabell)o(e)37 b(der)43 b(ersten)1763 3947 +y(Festplatte)c(an)20 4046 y(fdisk)j(-C)g(12416)g(-H)g(15)h(-S)g(63)g +(/dev/hdb)214 b(Partitionstabell)o(e)37 b(mit)43 b(vorgegebenen)1763 +4146 y(C-Zylinder)c(H-K\366pfe)i(S-Sektoren)e(pro)k(Spur)1763 +4245 y(bearbeiten)20 4345 y(cfdisk)e(Ger\344tedatei)954 +b(Curses-Partition)o(st)o(abe)o(ll)o(ene)o(di)o(to)o(r)20 +4544 y(fdformat)40 b(/dev/fd0u1440)779 b(Diskette)40 +b(Low-Level-Formati)o(er)o(en)20 4644 y(mformat)h(a:)1306 +b(Dateisystem)39 b(DOS-FAT)i(anlegen)20 4744 y(mkdosfs)g(-I)h(/dev/sda) +912 b(Superfloppy-Form)o(at)37 b(mit)42 b(FAT16-Dateisystem)3037 +5092 y Fk(27)p eop end +%%Page: 28 28 +TeXDict begin 28 27 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.28) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)2383 360 y Fd(f\374r)h(z.B.)g(USB-Sticks)e(anlegen)640 +460 y(mkdosfs)h(-n)h(Name)g(/dev/sda1)650 b(FAT16-Dateisyste)o(m)38 +b(mit)k(Name)g(anlegen)640 659 y(mkfs)g(-t)h(minix)e(/dev/fd0u1440)d +(1440)347 b(Dateisystem)39 b(minix)j(anlegen)640 758 +y(mke2fs)f(/dev/fd0u1440)866 b(Dateisystem)39 b(ext2)j(anlegen)640 +858 y(mkfs)g(-V)h(-t)f(ext2)g(/dev/sda7)650 b(Dateisystem)39 +b(ext2)j(anlegen)640 1057 y(fsck)g(-V)h(-t)f(ext2)g(/dev/sda7)650 +b(Dateisystem)39 b(Pr\374fung)i(und)h(Reparatur)640 1257 +y(tune2fs)f(Optionen)f(Ger\344t)782 b(Einstellungen)38 +b(zum)43 b(ext2)e(Dateisystem)640 1456 y(mount)h(Ger\344t)f +(Verzeichnis)736 b(Ger\344t)42 b(im)g(Verzeichnis)d(anmelden)640 +1556 y(mount)j(-t)g(minix)g(/dev/fd0)e(/mnt)521 b(Diskette)40 +b(im)j(minix-Format)c(anmelden)640 1655 y(mount)j(-t)g(ext2)g(/dev/fd0) +e(/mnt)565 b(Diskette)40 b(im)j(ext2-Format)c(anmelden)640 +1755 y(mount)j(-t)g(msdos)g(/dev/fd0)e(/mnt)521 b(Diskette)40 +b(im)j(msdos-Format)c(anmelden)640 1854 y(mount)j(-o)g(loop)g(disk.img) +e(/mnt)565 b(Datei)42 b(als)g(Diskette)e(anmelden)640 +2054 y(umount)h(Verzeichnis)954 b(Verzeichnis)39 b(abmelden)640 +2153 y(umount)i(/mnt)1262 b(Diskette)40 b(abmelden)640 +2293 y +SDict begin H.S end + 640 2293 a 640 2293 a +SDict begin 12 H.A end + 640 2293 a 640 2293 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.23.1) cvn /DEST pdfmark +end + 640 +2293 a 113 x Fi(3.23.1.)57 b(Dateisystem)37 b(verschl\374sseln)640 +2566 y Fd(modprobe)j(loop_fish2)911 b(Modul)42 b(f\374r)g(die)g +(Verschl\374ssellung)37 b(laden)640 2666 y(dd)43 b(if=/dev/urandom)37 +b(of=datei)j(bs=1024)h(count=10000)387 b(10MB)42 b(Datei)g(anlegen)640 +2765 y(losetup)f(-e)h(twofish)f(/dev/loop0)e(datei)216 +b(Datei)42 b(anmelden)e(\(Passwort)g(anlegen\))640 2865 +y(mkfs)i(-t)h(ext2)f(/dev/loop0)736 b(Dateisystem)39 +b(anlegen)640 2965 y(mount)j(-t)g(ext2)g(/dev/loop0)e(/mnt)477 +b(Dateisystem)39 b(anmelden)640 3064 y(umount)i(/mnt/)1218 +b(Dateisystem)39 b(abmelden)640 3164 y(losetup)i(-d)h(/dev/loop0)824 +b(Datei)42 b(abmelden)640 3264 y(/dev/loop0)d(/datei)j(/mnt)f(ext2)h +(twofish)f(defaults)519 b(/etc/cryptotab)640 3363 y(/datei)41 +b(/mnt)h(ext2)g(loop,encryption=)o(tw)o(of)o(ish)o(,n)o(oa)o(uto)o(,u)o +(ser)167 b(/etc/fstab)640 3523 y +SDict begin H.S end + 640 3523 a 640 3523 +a +SDict begin 12 H.A end + 640 3523 a 640 3523 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.24) cvn /DEST pdfmark +end + 640 3523 a 135 x Fe(3.24.)68 +b(Zugri\033srechte/Eigent\374mer/Grupp)s(e)640 3847 y +Fd(ls)43 b(-l)g(/dev/fd0)640 3947 y(brw-rw-rw-)127 b(1)43 +b(root)216 b(disk)303 b(2,)130 b(0)43 b(Feb)g(16)f(16:30)g(/dev/fd0)640 +4046 y(|)1481 b(|)174 b(|)828 b(+-----)41 b(Ger\344t)640 +4146 y(|)1481 b(|)174 b(+------)41 b(Minor-Device-Nu)o(mme)o(r\()o(Ne)o +(ben)o(nu)o(mme)o(r\))640 4245 y(|)1481 b(+-----------)39 +b(Major-Device-Nu)o(mme)o(r\()o(Ha)o(upt)o(nu)o(mme)o(r\))640 +4345 y(+---------------)o(---)o(--)e(b-blockorientie)o(rte)g(Ger\344te) +k(c-zeichenorient)o(ier)o(te)c(Ger\344te)640 4544 y(ls)43 +b(-laFi)e(linux.txt)640 4644 y(1561)h(-rw-r-----)83 b(1)43 +b(higi)86 b(users)f(26419)41 b(Mar)h(13)h(19:19)f(linux.txt)640 +4744 y(|)174 b(||||||||||)83 b(|)43 b(|)218 b(|)261 b(|)217 +b(|)130 b(|)87 b(|)218 b(+-----)41 b(Datei/Verzeichn)o(is)o(nam)o(e)640 +5092 y Fk(28)p eop end +%%Page: 29 29 +TeXDict begin 29 28 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.29) cvn /DEST pdfmark end + 12 -5 a 1639 128 a Fh(3.24.)41 b(Zugri\033srec)n +(h)n(te/Eigen)n(t\374mer/Grupp)r(e)20 360 y Fd(|)174 +b(||||||||||)83 b(|)43 b(|)217 b(|)262 b(|)217 b(|)130 +b(|)87 b(+-----------)38 b(Uhrzeit)20 460 y(|)174 b(||||||||||)83 +b(|)43 b(|)217 b(|)262 b(|)217 b(|)130 b(+--------------)37 +b(Tag)20 559 y(|)174 b(||||||||||)83 b(|)43 b(|)217 b(|)262 +b(|)217 b(+---------------)o(--)o(-)37 b(Monat)20 659 +y(|)174 b(||||||||||)83 b(|)43 b(|)217 b(|)262 b(+--------------)o(--)o +(--)o(---)o(--)o(-)37 b(Gr\366\377e)20 758 y(|)174 b(||||||||||)83 +b(|)43 b(|)217 b(+-----------)39 b(Gruppe)20 858 y(|)174 +b(||||||||||)83 b(|)43 b(+---------------)o(--)37 b(Eigent\374mer)20 +958 y(|)174 b(||||||||||)83 b(+---------------)o(--)o(--)37 +b(Links)20 1057 y(|)174 b(|||||||||+----)38 b(alle)j(Anderen)128 +b(x-ausf\374hren)39 b(oder)j(t-text)f(mit)h(x-bit)20 +1157 y(|)174 b(|||||||||)1696 b(T-text)41 b(ohne)h(x-bit)20 +1257 y(|)174 b(||||||||+-----)38 b(alle)j(Anderen)128 +b(w-schreiben)20 1356 y(|)174 b(|||||||+------)38 b(alle)j(Anderen)128 +b(r-lesen)20 1456 y(|)174 b(||||||+-------)38 b(Gruppe)389 +b(x-ausf\374hren)39 b(oder)j(s-Gruppenkennung)37 b(mit)42 +b(x-bit)20 1556 y(|)174 b(||||||)1828 b(S-Gruppenkennun)o(g)37 +b(ohne)42 b(x-bit)20 1655 y(|)174 b(|||||+--------)38 +b(Gruppe)389 b(w-schreiben)20 1755 y(|)174 b(||||+---------)38 +b(Gruppe)389 b(r-lesen)20 1854 y(|)174 b(|||+----------)38 +b(Eigent\374mer)170 b(x-ausf\374hren)39 b(oder)i(s-Benutzerkennung)c +(mit)42 b(x-bit)20 1954 y(|)174 b(|||)1960 b(S-Benutzerkennu)o(ng)37 +b(ohne)42 b(x-bit)20 2054 y(|)174 b(||+-----------)38 +b(Eigent\374mer)170 b(w-schreiben)20 2153 y(|)k(|+------------)38 +b(Eigent\374mer)170 b(r-lesen)20 2253 y(|)k(+-------------)38 +b(d-Verzeichnis)81 b(l-Verkn\374pfung)20 2353 y(+-------)40 +b(inode)20 2552 y(chmod)i(werwiewas)d(Datei)478 b(Zugriffsrechte)37 +b(einer)42 b(Datei/Verzeichn)o(is)37 b(\344ndern)1415 +2651 y(wer:)k(u-Eigent\374mer)126 b(g-Gruppe)1632 2751 +y(o-alle)41 b(Anderen)g(a-alle)g(3)i(Benutzergruppen)1415 +2851 y(wie:)e(+-hinzuf\374gen)e(--wegnehmen)1632 2950 +y(=-nachfolgendes)f(Muster)j(setzen)1415 3050 y(was:)g(r-lesen)g +(w-schreiben)e(x-ausf\374hren)1545 3150 y(\()k(s-Benutzerkennung)37 +b(oder)42 b(Gruppenkennung)1632 3249 y(t-text)f(\))20 +3349 y(chmod)h(zahl)f(Datei)696 b(Zugriffsrechte)37 b(einer)42 +b(Datei/Verzeichn)o(is)37 b(\344ndern)1415 3448 y(zahl->)k(rwx)h(rwx)g +(rwx)g(->)h(4+2)f(4)i(0)f(->)g(640)1720 3548 y(421)f(421)g(421)1415 +3648 y(640)g(->)h(Eigent\374mer)c(lesen)i(schreiben)1720 +3747 y(Gruppe)215 b(lesen)20 3847 y(chmod)42 b(nzahl)f(Datei)652 +b(Zugriffsrechte)37 b(und)42 b(Kennung)f(einer)h(Datei/)1415 +3947 y(Verzeichnis)c(\344ndern)1415 4046 y(bit)k(4)h(von)f(n,)h(mit)f +(Benutzerkennung/)1415 4146 y(Benutzerrechten)37 b(ausf\374hren)1415 +4245 y(bit)42 b(2)h(von)f(n,)h(mit)f(Gruppenkennung/)1415 +4345 y(Gruppenrechten)37 b(ausf\374hren)1415 4445 y(bit)42 +b(1)h(von)f(n,)h(mit)f(text)g(werden)f(die)i(Dateien)d(vor)1415 +4544 y(dem)i(L\366schen)e(durch)i(fremde)f(Benutzer)f(gesch\374tzt,) +1415 4644 y(macht)h(nur)h(bei)h(Verzeichnissen)37 b(sinn)20 +4744 y(chown)42 b(NeuerEigent\374mer)37 b(Datei)172 b(Eigent\374mer)39 +b(der)k(Datei)e(\344ndern)3037 5092 y Fk(29)p eop end +%%Page: 30 30 +TeXDict begin 30 29 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.30) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 360 y Fd(chgrp)h(NeueGruppe)d(Datei)434 +b(Gruppenzugeh\366ri)o(gk)o(eit)37 b(der)42 b(Datei)f(\344ndern)640 +559 y(passwd)g(Benutzer)738 b(Benutzerpasswor)o(t)37 +b(\344ndern)640 659 y(useradd)k(Optionen)f(Benutzer)302 +b(Benutzer)40 b(anlegen)2035 758 y(-u)i(Benutzer-ID)d(\(-u)k(500\))2035 +858 y(-g)f(Prim\344re)f(Gruppenzugeh\366rig)o(ke)o(it)c(\(-g)42 +b(users\))2035 958 y(-G)g(weitere)f(Gruppenzugeh\366rig)o(ke)o(it)2035 +1057 y(-d)h(Homeverzeichnis)c(\(-d)k(/home/user500\))2035 +1157 y(-s)g(Shell)g(\(-s)g(/bin/bash\))2035 1257 y(-m)g(legt)g(das)g +(Homeverzeichnis)c(an)k(und)h(kopiert)d(die)2165 1356 +y(Dateien)h(aus)h(/etc/skel)e(in)j(das)f(Homeverzeichnis)2035 +1456 y(-c)g(Kommentar)2035 1556 y(-p)g(Passwort)e(im)j(Klartext!)2035 +1655 y(-e)f(Auslaufdatum)d(\(-e)j(2002.12.24\))2035 1755 +y(-f)g(Pufferzeit)640 1854 y(usermod)f(Optionen)f(Benutzer)302 +b(Benutzerdaten)38 b(ver\344ndern)640 1954 y(userdel)j(Benutzername)518 +b(Benutzer)40 b(l\366schen)640 2054 y(userdel)h(-r)h(Benutzername)388 +b(Benutzer)40 b(und)i(Benutzerverzeich)o(ni)o(s)c(l\366schen)640 +2153 y(vipw)1219 b(Benutzerdatenba)o(nk)37 b(\344ndern)640 +2353 y(su)1307 b(Shell)41 b(mit)h(root-Zugriffsrech)o(te)o(n)37 +b(starten)640 2452 y(su)43 b(-)1220 b(Shell)41 b(im)i(root-Homeverzei)o +(chn)o(is)2035 2552 y(mit)f(root-Zugriffsrec)o(ht)o(en)37 +b(starten)640 2651 y(sux)42 b(-)1177 b(Shell)41 b(im)i(root-Homeverzei) +o(chn)o(is)2035 2751 y(mit)f(root-Zugriffsrec)o(ht)o(en)37 +b(starten)k(und)h(X-Variabeln)640 2851 y(su)h(-l)g(Benutzername)605 +b(Shell)41 b(im)i(Benutzer-Homeve)o(rze)o(ic)o(hn)o(is)2035 +2950 y(mit)f(Benutzer-Rechten)37 b(starten)640 3071 y +SDict begin H.S end + +640 3071 a 640 3071 a +SDict begin 12 H.A end + 640 3071 a 640 3071 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.25) cvn /DEST pdfmark +end + 640 3071 +a 149 x Fe(3.25.)68 b(Prozessb)t(efehle)640 3402 y Fk(S=sc)n(hlafend)27 +b(R=running\(laufend\))h(T=terminiert)e(Z=Zom)n(bie)640 +3548 y Fd([Strg]+[z])257 b(im)43 b(Vordergrund)c(laufendes)h(Programm)g +(anhalten)640 3648 y([1]+)86 b(Stopped)684 3747 y(|)304 +b(+-----)41 b(schlafend)684 3847 y(+-------------)c(Jobnummer)640 +3947 y(bg)43 b(\045JOB)390 b(Job)43 b(im)f(Hintergrund)d(fortsetzen)640 +4046 y(fg)k(\045JOB)390 b(Job)43 b(im)f(Vordergrund)d(fortsetzen)640 +4146 y(Programm)h(&)261 b(Programm)41 b(im)h(eigenem)f(Prozess)f +(starten)640 4245 y([1])i(819)684 4345 y(|)130 b(+---------)39 +b(Prozessnummer)684 4445 y(+-------------)e(Jobnummer)640 +4544 y(ps)609 b(\334berblick)40 b(\374ber)i(die)g(aktuell)f(laufenden)f +(Prozesse)640 4644 y(ps)j(aux)434 b(gibt)42 b(in)h(den)f(meisten)f +(F\344llen)g(eine)h(ausreichende)c(Auskunft)640 4744 +y(pstree)433 b(zeigt)42 b(den)g(kompletten)d(Prozessbaum)g(an)640 +5092 y Fk(30)p eop end +%%Page: 31 31 +TeXDict begin 31 30 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.31) cvn /DEST pdfmark end + 12 -5 a 1822 128 a Fh(3.26.)40 b(Re-install)28 +b(Grub)f(with)h(Liv)n(e)f(CD)20 360 y Fd(jobs)521 b(das)43 +b(Schellkommando)37 b(gibt)42 b(eine)g(Liste)f(der)i(aktuellen)d(Jobs)h +(aus)20 460 y(top)565 b(Programm,)40 b(das)i(die)h(aktuellen)c +(Prozesse)i(anzeigt)20 559 y(htop)521 b(Programm,)40 +b(das)i(die)h(aktuellen)c(Prozesse)i(anzeigt)20 659 y(kill)h(PID)347 +b(Prozess)41 b(killen)20 758 y(kill)h(\045JOB)303 b(Job)43 +b(killen)20 858 y(kill)f(-1)h(PID)216 b(Prozess)41 b(initialisieren)20 +958 y(kill)h(-1)h(\045JOB)172 b(Job)43 b(initialisieren)20 +1057 y(kill)f(-9)h(PID)216 b(Prozess)41 b(killen)20 1157 +y(kill)h(-9)h(\045JOB)172 b(Job)43 b(killen)20 1257 y(kill)f(-15)g(PID) +173 b(Prozess)41 b(beenden)20 1356 y(kill)h(-15)g(\045JOB)129 +b(Job)43 b(beenden)20 1456 y(kill)f(-HUP)g(PID)129 b(veranlasst)40 +b(die)i(meisten)f(D\344monen)f(ihre)i(Konfigurationsda)o(te)o(ien)717 +1556 y(erneut)f(zu)i(lesen)20 1690 y +SDict begin H.S end + 20 1690 a 20 1690 +a +SDict begin 12 H.A end + 20 1690 a 20 1690 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.26) cvn /DEST pdfmark +end + 20 1690 a 152 x Fe(3.26.)68 b(Re-install)46 +b(Grub)e(with)h(Live)h(CD)20 1926 y +SDict begin H.S end + 20 1926 a 20 1926 +a +SDict begin 12 H.A end + 20 1926 a 20 1926 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.26.1) cvn /DEST pdfmark +end + 20 1926 a 118 x Fi(3.26.1.)57 b(Chro)s(ot)20 +2202 y Fd(sudo)42 b(fdisk)f(-l)1525 b(Patition)40 b(f\374r)i(das)h +(chroot)e(festellen)20 2301 y(sudo)h(mount)f(/dev/sdb3)f(/mnt/gentoo) +693 b(chroot)41 b(z.B.)h(/dev/sdb3)d(auf)k(z.B.)f(/mnt/gentoo)c +(mounten)20 2401 y(sudo)k(mount)f(-t)i(proc)f(none)g(/mnt/gentoo/proc) +342 b(Mounten)40 b(der)j(/proc)e(und)h(/dev)g(Dateisysteme)20 +2500 y(sudo)g(mount)f(--rbind)g(/dev)h(/mnt/gentoo/dev)20 +2600 y(sudo)g(chroot)f(/mnt/gentoo)e(/bin/bash)650 b(Betreten)40 +b(der)i(neuen)g(Umgebung)20 2700 y(env-update)1652 b(Umgebungsvariab)o +(len)37 b(aktualisieren)20 2799 y(source)k(/etc/profile)1259 +b(Profil)41 b(laden)20 2899 y(export)g(PS1="\(chroot\))d($PS1")957 +b(Promt)41 b(anpassen)20 3043 y +SDict begin H.S end + 20 3043 a 20 3043 a +SDict begin 12 H.A end + 20 +3043 a 20 3043 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.26.2) cvn /DEST pdfmark +end + 20 3043 a 100 x Fi(3.26.2.)57 b(Grub)20 +3300 y Fd(sudo)42 b(grub)20 3400 y(grub>)g(find)f(/boot/grub/stage1)20 +3500 y(grub>)h(root)f(\(hd0,1\))20 3599 y(grub>)h(setup)f(\(hd0\))20 +3699 y(grub>)h(quit)20 3799 y(reboot)20 3933 y +SDict begin H.S end + 20 3933 +a 20 3933 a +SDict begin 12 H.A end + 20 3933 a 20 3933 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.27) cvn /DEST pdfmark +end + 20 3933 a 152 x Fe(3.27.)68 +b(Soft)l(w)l(a)l(re)45 b(installieren)20 4169 y +SDict begin H.S end + 20 4169 +a 20 4169 a +SDict begin 12 H.A end + 20 4169 a 20 4169 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.27.1) cvn /DEST pdfmark +end + 20 4169 a 118 x Fi(3.27.1.)57 +b(rpm-F)m(o)m(rmat)20 4445 y Fd(http://www.rpm.o)o(rg)o(/)561 +b(weiterf\374hrende)37 b(Informationen)20 4544 y(http://www.rpmfi)o(nd) +o(.ne)o(t/)386 b(Hilfe)41 b(zu)i(fehlenden)c(rpms)j(oder)g(Merkmalen)20 +4744 y(/var/lib/rpm/Pac)o(ka)o(ges)473 b(rpm-Datenbank)3037 +5092 y Fk(31)p eop end +%%Page: 32 32 +TeXDict begin 32 31 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.32) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 360 y Fd(/var/lib/rpm/pac)o(kag)o(es)o(.r)o(pm)299 +b(->)42 b(/var/lib/rpm/Pack)o(ag)o(es)723 554 y Fk(Ge\344nderte)19 +b(K)n(on\034gurationsdateien)f(\374b)r(ersc)n(hreibt)h(rpm)g(b)r(eim)i +(Up)r(date)f(nic)n(h)n(t,)g(sondern)f(hebt)640 654 y(sie)28 +b(als)e(Datei.rpmsa)n(v)n(e)g(auf.)i(di\033)g(hilft)h(die)f(Un)n(tersc) +n(hiede)e(anzuzeigen.)640 851 y Fd(rpm)42 b(-i)h(Paketname.rpm)518 +b(Installiert)38 b(mit)43 b(Pr\374fung)d(auf)j(Abh\344ngigkeiten)640 +950 y(rpm)f(-i)h(--nodeps)d(Paketname.rpm)126 b(Installiert)38 +b(ohne)k(Pr\374fung)f(auf)h(Abh\344ngigkeiten)640 1050 +y(rpm)g(-i)h(--test)e(Paketname.rpm)213 b(Testet)41 b(die)h +(Installation)c(ohne)k(Daten)g(zu)g(ver\344ndern)640 +1149 y(rpm)g(-iv)h(Paketname.rpm)474 b(Installiert)38 +b(mit)43 b(Pr\374fung)d(auf)j(Abh\344ngigkeiten)2035 +1249 y(und)f(R\374ckmeldung)640 1349 y(rpm)g(-ivh)g(Paketname.rpm)431 +b(Installiert,)38 b(pr\374ft,)j(meldet)g(und)2035 1448 +y(zeigt)g(den)h(Vorgang)f(an)640 1648 y(rpm)h(-Uvh)g(Paketname.rpm)431 +b(Update)41 b(eines)g(rpm-Bin\344rpaketes)640 1847 y(rpm)h(-Fvh)g +(Paketname.rpm)431 b(Aktualisiert)38 b(rpm-Bin\344rpaket)640 +1946 y(rpm)k(-Fvh)g(*.rpm)783 b(Aktualisiert)38 b(alle)k +(rpm-Bin\344rpakete)37 b(im)43 b(.)640 2046 y(rpm)f(-e)h(Paket)870 +b(Deinstalliert)38 b(mit)k(Pr\374fung)f(auf)h(Abh\344ngigkeiten)640 +2245 y(rpm)g(-qa)1089 b(zeigt)41 b(die)h(installierten)c(rpm-Pakete)i +(an)640 2345 y(rpm)i(-qa)h(|)g(grep)f(-i)h(Paket)390 +b(zeigt)41 b(ob)i(das)f(Paket)g(installiert)c(ist)640 +2445 y(rpm)k(-qi)h(Paket)826 b(zeigt)41 b(Informationen)d(\374ber)k +(das)g(installierte)d(Paket)640 2544 y(rpm)j(-qip)g(Paketname.rpm)431 +b(zeigt)41 b(Informationen)d(\374ber)k(das)g(rpm-Bin\344rpaket)640 +2644 y(rpm)g(-ql)h(Paket)826 b(zeigt)41 b(die)h(enthaltenen)d(Dateien)i +(des)h(installierten)2035 2743 y(Paketes)e(an)640 2843 +y(rpm)i(-qlp)g(Paketname.rpm)431 b(zeigt)41 b(die)h(enthaltenen)d +(Dateien)i(des)2035 2943 y(rpm-Bin\344rpakete)o(s)640 +3042 y(rpm)h(-qf)h(/Pfad/Datei)562 b(zeigt)41 b(das)h(Paket)g(aus)g +(dem)g(die)h(Datei)e(stammt)640 3142 y(rpm)h(-q)h(--requires)d(Paket) +390 b(zeigt)41 b(die)h(geforderten)d(Merkmale)h(des)j(installierten) +2035 3242 y(Paketes)d(an)640 3341 y(rpm)i(-qp)h(--requires)c +(Paketname.rpm)343 b(zeigt)42 b(die)g(geforderten)d(Merkmale)h(des)2035 +3441 y(rpm-Bin\344rpakete)o(s)640 3588 y +SDict begin H.S end + 640 3588 a 640 +3588 a +SDict begin 12 H.A end + 640 3588 a 640 3588 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.27.2) cvn /DEST pdfmark +end + 640 3588 a 100 x Fi(3.27.2.)57 +b(deb-F)m(o)m(rmat)640 3847 y Fd(dpkg)42 b(-i)h(Paketname.deb)474 +b(Installation)38 b(eines)k(deb-Bin\344rpakete)o(s)640 +3947 y(dpkg)g(-P)h(Paket)826 b(Deinstalliert)38 b(mit)k(Pr\374fung)f +(auf)h(Abh\344ngigkeiten)640 4146 y(dpkg)g(-l)1089 b(zeigt)41 +b(die)h(installierten)c(deb-Pakete)i(an)640 4245 y(dpkg)i(-l)h +("*Paket*")650 b(zeigt)41 b(ob)i(das)f(Paket)g(installiert)c(ist)640 +4345 y(dpkg)k(-p)h(Paket)826 b(zeigt)41 b(Informationen)d(\374ber)k +(das)g(installierte)d(Paket)640 4445 y(dpkg)j(-I)h(Paketname.deb)474 +b(zeigt)41 b(Informationen)d(\374ber)k(das)g(deb-Bin\344rpaket)640 +4544 y(dpkg)g(-L)h(Paket)826 b(zeigt)41 b(die)h(enthaltenen)d(Dateien)i +(des)h(installierten)2035 4644 y(Paketes)e(an)640 4744 +y(dpkg)i(-c)h(Paketname.deb)474 b(zeigt)41 b(die)h(enthaltenen)d +(Dateien)i(des)640 5092 y Fk(32)p eop end +%%Page: 33 33 +TeXDict begin 33 32 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.33) cvn /DEST pdfmark end + 12 -5 a 2172 128 a Fh(3.27.)40 b(Soft)n(w)n(are)26 +b(installieren)1415 360 y Fd(deb-Bin\344rpakete)o(s)20 +460 y(dpkg)42 b(-S)h(/Pfad/Datei)562 b(zeigt)41 b(das)h(Paket)g(aus)g +(dem)g(die)h(Datei)e(stammt)20 659 y(apt)1263 b(neue)41 +b(Alternative)e(f\374r)k(apt-get)20 758 y(apt-get)e(autoclean)650 +b(Veraltete)39 b(Pakete)i(aus)i(dem)f(Cache)f(l\366schen)20 +858 y(apt-get)g(clean)826 b(alle)41 b(Pakete)g(aus)i(dem)f(Cache)f +(l\366schen)20 958 y(apt-get)g(install)f(Paket)478 b(Installiert)38 +b(mit)43 b(Pr\374fung)d(auf)j(Abh\344ngigkeiten)20 1057 +y(apt-get)e(remove)g(Paket)521 b(Deinstalliert)38 b(mit)k(Pr\374fung)e +(auf)j(Abh\344ngigkeiten)20 1157 y(apt-get)e(--purge)f(remove)h(Paket) +173 b(Deinstalliert)38 b(vollst\344ndig)20 1257 y(apt-get)j(autoremove) +606 b(Deinstalliert)38 b(nicht)j(ben\366tigte)f(Pakete)20 +1356 y(apt-get)h(dist-upgrade)518 b(aktualisiert)38 b(die)k(gesamte)f +(Distribution)20 1456 y(apt-cache)f(search)h(Name)478 +b(durchsucht)39 b(die)j(gesamte)f(Distribution)20 1556 +y(apt-get)g(update)782 b(APT-Datenbank)38 b(auf)k(den)g(aktuellen)e +(Stand)h(bringen)20 1755 y(dpkg)h(--get-selections)37 +b(>)43 b(Paketliste)606 b(Paketliste)39 b(exportieren)20 +1854 y(###sudo)i(dpkg)h(--set-selection)o(s)37 b(<)44 +b(Paketliste)387 b(Paketliste)40 b(importieren)f(geht)j(nicht)20 +1997 y +SDict begin H.S end + 20 1997 a 20 1997 a +SDict begin 12 H.A end + 20 1997 a 20 1997 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.27.3) cvn /DEST pdfmark +end + 20 1997 +a 99 x Fi(3.27.3.)57 b(P)m(o)m(rtage)37 b(Gento)s(o)20 +2253 y Fd(emerge)k(--sync)826 b(Aktualisieren)38 b(des)k(Portage-Tree)c +(mit)43 b(rsync)20 2353 y(emerge)e(--webrsync)650 b(Aktualisieren)38 +b(mit)k(dem)g(Portage-Snapshot)o(s)20 2552 y(emerge)f(--search)f +(Pragrammname)170 b(Nach)41 b(Software)g(suchen)20 2651 +y(emerge)g(--searchdesc)e(Name)347 b(Suche)41 b(nach)h(Paketen)e(im)j +(Zusammenhang)c(mit)j(dem)g(Namen)20 2851 y(emerge)f(Programmname)562 +b(Software)40 b(installieren)20 2950 y(emerge)h(-pv)h(Programmname)388 +b(Installation)38 b(von)k(Programmen)e(simulieren,)f(USE-Flags)g +(anzeigen)20 3050 y(emerge)i(--fetchonly)e(Programmname)g(Quellen)h +(herunterzuladen,)d(noch)42 b(nicht)f(kompilieren)20 +3249 y(emerge)g(--unmerge)f(Programmname)126 b(Entfernung)39 +b(von)j(Programm)e(aus)j(dem)f(System)20 3448 y(emerge)f(--update)f +(--ask)i(world)216 b(Aktualisierung)37 b(des)42 b(Systems)20 +3548 y(emerge)f(-f)i(-u)g(-a)f(world)478 b(Aktualisierung)37 +b(herunterzuladen,)g(aber)42 b(nicht)1415 3648 y(kompilieren)c(und)43 +b(installieren)20 3747 y(emerge)e(--update)f(--deep)h(world)173 +b(Aktualisierung)37 b(des)42 b(gesamten)f(Systems)20 +3847 y(emerge)g(--update)f(--newuse)g(world)86 b(Neuerstellung)38 +b(des)k(gesamten)e(System)20 4046 y(emerge)h(--depclean)e(verweiste)h +(Abh\344ngigkeiten)e(entfernen)20 4146 y(revdep-rebuild)779 +b(reverse)40 b(Abh\344ngigkeiten)e(neu)k(erstellen)20 +4245 y(etc-update)955 b(Konfigurationsd)o(at)o(ei)o(en)37 +b(zusammenzuf\374hren)20 4445 y(equery)k(belongs)g(/Pfad/Datei)257 +b(zeigt)41 b(das)h(Paket)g(aus)g(dem)g(die)h(Datei)e(stammt)20 +4544 y(equery)g(depends)g(Programmname)213 b(Abh\344ngigkeiten)37 +b(anzeigen)20 4644 y(equery)k(depgraph)f(Programmname)170 +b(Abh\344ngigkeiten)37 b(als)42 b(Baum)g(anzeigen)20 +4744 y(equery)f(files)h(Programmname)300 b(Dateien)40 +b(auflisten,)f(die)k(zu)f(einem)g(Ebuild)f(geh\366ren)3037 +5092 y Fk(33)p eop end +%%Page: 34 34 +TeXDict begin 34 33 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.34) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 360 y Fd(equery)g(hasuse)g(USE-Flag)433 +b(Pakete)41 b(suchen,)f(die)j(ein)f(spezifisches)c(USE-Flag)2035 +460 y(benutzen)640 559 y(equery)j(size)h(Programmname)344 +b(Paketgr\366\377e)39 b(anzeigen)640 659 y(equery)i(uses)h +(Programmname)344 b(Gesetzte)40 b(und)i(nicht)g(gesetzte)e(USE-Flags) +640 758 y(equery)h(which)h(Programmname)300 b(Anzeigen)40 +b(des)i(Ebuildpfads)640 858 y(euse)g(-a)1089 b(Alle)41 +b(aktiven)g(USE-Flags)f(anschauen)640 958 y(euse)i(-a)h(-l)958 +b(Aktive)41 b(lokale)g(USE-Flags)e(anschauen)640 1057 +y(euse)j(-E)h(USE-Flag)694 b(Setzen)41 b(von)h(USE-Flags)640 +1157 y(euse)g(-D)h(USE-Flag)694 b(Deaktivieren)38 b(von)k(USE-Flags)640 +1305 y +SDict begin H.S end + 640 1305 a 640 1305 a +SDict begin 12 H.A end + 640 1305 a 640 1305 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.27.4) cvn /DEST pdfmark +end + 640 +1305 a 101 x Fi(3.27.4.)57 b(Quelltexte)640 1565 y Fd(tar)42 +b(xvfz)g(Source.tgz)563 b(Quelltext)39 b(entpacken)640 +1665 y(./configure)911 b(Makefile)40 b(konfigurieren)640 +1764 y(make)1219 b(Programm)40 b(\374bersetzen,)2035 +1864 y(wenn)h(Makefile)g(vorhanden)640 1964 y(make)h(install)869 +b(Programm)40 b(installieren)640 2063 y(make)i(uninstall)781 +b(Programm)40 b(deinstallieren)640 2211 y +SDict begin H.S end + 640 2211 a +640 2211 a +SDict begin 12 H.A end + 640 2211 a 640 2211 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.27.5) cvn /DEST pdfmark +end + 640 2211 a 101 x Fi(3.27.5.)57 +b(Hilfe)640 2471 y Fd(ldd)42 b(Programm)869 b(zeigt)41 +b(die)h(zu)h(ladenen)e(Bibliotheken)d(des)k(Programms)640 +2571 y(strace)f(-eopen)g(Programm)433 b(zeigt)41 b(die)h(geladenen)e +(Bibliotheken)f(des)j(Programms)640 2728 y +SDict begin H.S end + 640 2728 a +640 2728 a +SDict begin 12 H.A end + 640 2728 a 640 2728 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.28) cvn /DEST pdfmark +end + 640 2728 a 134 x Fe(3.28.)68 +b(Im)46 b(Netz)640 3050 y Fd(#ifconfig)40 b(-a)696 b(->)43 +b(ip)g(link)640 3150 y(ip)g(link)913 b(alle)42 b(aktiven)f +(Netzwerkschnitt)o(ste)o(ll)o(en)c(ausgeben)640 3249 +y(ifconfig)j(|)j(grep)f(eth0)g(|)h(cut)g(-c)f(39-55)129 +b(Ethernet-Adresse)37 b(von)42 b(eth0)g(ausgeben)640 +3448 y(ftp)g(Rechner)913 b(Programm)40 b(zur)i(\334bertragung)d(von)j +(Files)2035 3548 y(via)g(Internet)e(starten)640 3747 +y(host)i(www.suse.de)693 b(befragt)40 b(den)i(DNS-Server)e(nach)2035 +3847 y(der)i(IP-Nummer)e(des)i(Rechners)640 3947 y(host)g(192.168.9.10) +649 b(fragt)41 b(nach)h(dem)g(Namen)g(des)g(Rechners)640 +4046 y(nslookup)e(www.debian.de)431 b(befragt)40 b(den)i(DNS-Server)e +(nach)2035 4146 y(der)i(IP-Nummer)e(des)i(Rechners)640 +4245 y(nslookup)e(192.168.11.12)431 b(fragt)41 b(nach)h(dem)g(Namen)g +(des)g(Rechners)640 4445 y(ping)g(Rechner)869 b(sendet)41 +b(Pakete)g(an)h(Rechner)f(mit)h(Echo)640 4644 y(rlogin)f(Rechner)782 +b(auf)42 b(anderen)e(Rechner)h(anmelden)640 5092 y Fk(34)p +eop end +%%Page: 35 35 +TeXDict begin 35 34 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.35) cvn /DEST pdfmark end + 12 -5 a 2754 128 a Fh(3.29.)40 b(SSH)20 +360 y Fd(scp)i(Rechner:Pfad)d(Rechner:Pfad)126 b(Programm)40 +b(zur)i(\334bertragung)d(von)j(Files)20 460 y(ssh)g(Rechner)913 +b(auf)42 b(anderen)e(Rechner)h(anmelden)20 559 y(ssh)h(Rechner)f(-l)i +(root)216 b(oder)173 b(auf)42 b(anderen)e(Rechner)h(als)h(root)g +(anmelden)20 659 y(ssh)g(root@Rechner)20 858 y(telnet)f(Rechner)782 +b(Kommunikation)38 b(ueber)j(das)h(TELNET-Protokoll)20 +1057 y(nmap)g(-sT)g(-PT)h(Rechner)520 b(Scannt)41 b(die)h(Ports)f(von)i +(Rechner)20 1157 y(nmap)f(-sT)g(-p)h(1-65535)e(-PT)h(Rechner)f(Scannt)g +(alle)g(Ports)h(von)g(Rechner)20 1257 y(netcat)f(ip)i(port)783 +b(zeigt)41 b(den)h(angegebenen)d(Port)j(an)20 1400 y +SDict begin H.S end + +20 1400 a 20 1400 a +SDict begin 12 H.A end + 20 1400 a 20 1400 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.29) cvn /DEST pdfmark +end + 20 1400 a 131 +x Fe(3.29.)68 b(SSH)20 1713 y Fk(SSH\(Secure)31 b(shell\))f(ist)h(ein)f +(v)n(ersc)n(hl\374sseltes)f(Netzw)n(erkprotok)n(oll)e(auf)k(TCP-P)n +(ort)f(22,)f(erm\366g-)20 1812 y(lic)n(h)n(t)j(eine)g(sic)n(here)f +(authen)n(ti\034zierte)g(und)h(v)n(ersc)n(hl\374sselte)f(V)-7 +b(erbindung)31 b(zwisc)n(hen)h(zw)n(ei)f(Rec)n(h-)20 +1912 y(nern)c(\374b)r(er)h(ein)g(unsic)n(heres)e(Netzw)n(erk.)20 +2093 y Fd(scp)42 b(Rechner:Pfad)d(Rechner:Pfad)126 b(Programm)40 +b(zur)i(\334bertragung)d(von)j(Files)20 2193 y(ssh)g(Rechner)913 +b(auf)42 b(anderen)e(Rechner)h(anmelden)20 2292 y(ssh)h(Rechner)f(-l)i +(root)216 b(oder)173 b(auf)42 b(anderen)e(Rechner)h(als)h(root)g +(anmelden)20 2392 y(ssh)g(root@Rechner)20 2508 y +SDict begin H.S end + 20 2508 +a 20 2508 a +SDict begin 12 H.A end + 20 2508 a 20 2508 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.29.1) cvn /DEST pdfmark +end + 20 2508 a 116 x Fi(3.29.1.)57 +b(Generierung)35 b(eines)h(DSA)i(Schl\374sselpaa)m(res)20 +2777 y Fd(ssh-keygen)h(-t)k(dsa)f(-b)h(2048)696 b(generiert)39 +b(DSA-Schl\374sselpaar)e(mit)1807 2877 y(einer)k(Bit-Tiefe)f(von)i +(2048)194 2977 y(~/.ssh/id_dsa)126 b(-)43 b(private-key)c(mit)j +()f(best\344tigen)194 3076 y(passphrase)258 b(-)43 +b(Passwort)d(f\374r)i(den)h(private-key)38 b(und)43 b(der)f(Anmeldung,) +979 3176 y(f\374r)g(passwortlose)d(SSH-Verbindunge)o(n)e(weg)43 +b(lassen)e(oder)979 3275 y(zu)h(Beginn)g(einer)f(Sitzung)g(mit)h +(ssh-add)e(~/.ssh/id_dsa)979 3375 y(abfragen)g(lassen)20 +3509 y +SDict begin H.S end + 20 3509 a 20 3509 a +SDict begin 12 H.A end + 20 3509 a 20 3509 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.29.2) cvn /DEST pdfmark +end + 20 3509 +a 98 x Fi(3.29.2.)57 b(Public-Key)36 b(auf)h(dem)g(Zielrechner)f +(hinzuf\374gen)20 3760 y Fd(cat)42 b(~/.ssh/id_dsa.pub)37 +b(|)43 b(ssh)f(zieluser@zielrec)o(hne)o(r)37 b(\\)194 +3860 y("mkdir)k(-p)i(.ssh;)f(cat)g(>>)h(.ssh/authorized)o(_k)o(eys)o(") +892 3960 y(-)g(public-key)c(auf)j(dem)h(Zielrechner)c(hinzuf\374gen)20 +4159 y(ssh)j(zieluser@zielrech)o(ne)o(r)37 b("chmod)42 +b(600)g(~/.ssh/authoriz)o(ed_)o(ke)o(ys)o(")892 4259 +y(-)h(public-key)c(auf)j(dem)h(Zielrechner)c(sch\374tzen)20 +4393 y +SDict begin H.S end + 20 4393 a 20 4393 a +SDict begin 12 H.A end + 20 4393 a 20 4393 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.29.3) cvn /DEST pdfmark +end + 20 4393 +a 98 x Fi(3.29.3.)57 b(Private-Key)38 b(auf)f(dem)g(Qellrechner)20 +4644 y Fd(~/.ssh/id_dsa)300 b(-)43 b(der)f(Private-Key)d(geh\366rt)i +(auf)h(dem)h(Qellrechner)c(in)j(das)979 4744 y(~/.ssh/)e(Verzeichnis) +3037 5092 y Fk(35)p eop end +%%Page: 36 36 +TeXDict begin 36 35 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.36) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 +277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.29.4) cvn /DEST pdfmark +end + 640 277 a 83 x Fi(3.29.4.)57 b(Login)36 b(nur)h(mit)g(SSH-Keys)i +(erlaub)s(en)640 515 y Fd(/etc/ssh/sshd_co)o(nfi)o(g)517 +b(-)43 b(folgendes)c(in)k(die)g(Datei)e(sshd_config)814 +615 y(PubkeyAuthenticat)o(io)o(n)d(yes)260 b(eingetragen)814 +714 y(UsePAM)41 b(no)814 814 y(PasswordAuthentic)o(at)o(ion)c(no)640 +1013 y(rcsshd)k(restart)782 b(-)43 b(SSH-D\344mon)c(neu)k(starten)640 +1143 y +SDict begin H.S end + 640 1143 a 640 1143 a +SDict begin 12 H.A end + 640 1143 a 640 1143 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.30) cvn /DEST pdfmark +end + 640 +1143 a 151 x Fe(3.30.)68 b(GnuPG)640 1477 y Fk(Mit)27 +b(Gn)n(uPG)h(k)-5 b(ann)27 b(man)g(Daten)g(signieren)e(und)j(v)n(ersc)n +(hl\374sseln.)d(Gn)n(uPG)i(un)n(terst\374zt)g(symme-)640 +1577 y(trisc)n(he)g(und)h(asymmetrisc)n(he)e(V)-7 b(ersc)n +(hl\374sselung.)640 1765 y Fd(http://www.gnupg)o(.or)o(g/)1126 +b(http-Adresse)39 b(f\374r)j(GnuPG)640 1865 y(http://www.gnupg)o(.or)o +(g/)o(re)o(lat)o(ed)o(_s)o(oft)o(wa)o(re)o(/gp)o(a/)211 +b(Grafische)40 b(Benutzereingabe)640 2064 y(http://www.heise)o(.de)o +(/s)o(ec)o(uri)o(ty)o(/d)o(ien)o(st)o(e/)o(pgp)o(/)255 +b(Krypto-Kampagne,)37 b(bei)42 b(der)2688 2164 y(ein)h(Abgleich)d +(zwischen)2688 2263 y(Person,)h(Personalausweis)2688 +2363 y(und)i(Schl\374ssel)c(erfolgt)640 2562 y(http://kmail.kde)o(.or)o +(g/)1126 b(Mailprogramme)38 b(mit)43 b(GnuPG)640 2662 +y(http://www.mutt.)o(org)o(/)1170 b(Unterst\374tzung)640 +2761 y(http://www.ximia)o(n.c)o(om)o(/p)o(rod)o(uc)o(ts)o(/ev)o(ol)o +(ut)o(ion)o(/)640 2901 y +SDict begin H.S end + 640 2901 a 640 2901 a +SDict begin 12 H.A end + 640 2901 +a 640 2901 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.1) cvn /DEST pdfmark +end + 640 2901 a 98 x Fi(3.30.1.)57 b(Erzeugen)640 +3155 y Fd(gpg)42 b(--gen-key)825 b(Schl\374ssel-Paar)37 +b(erzeugen)640 3254 y(gpg)42 b(--gen-revoke)d(0xKeyID)346 +b(Widerruf)40 b(Zertifikat)f(erzeugen)2078 3354 y(>)k +(gpg-rev-Will_no_l)o(on)o(ge)o(r_u)o(se)o(_i)o(t)2078 +3454 y(>)g(gpg-rev-Lost_priv)o(at)o(e_)o(key)2078 3553 +y(>)g(gpg-rev-Forgot_pa)o(ss)o(wo)o(rd)2078 3653 y(>)g +(gpg-rev-Key_compr)o(om)o(is)o(ed)640 3792 y +SDict begin H.S end + 640 3792 +a 640 3792 a +SDict begin 12 H.A end + 640 3792 a 640 3792 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.2) cvn /DEST pdfmark +end + 640 3792 a 99 x Fi(3.30.2.)57 +b(Ho)s(chladen)640 4046 y Fd(gpg)42 b(--keyserver)d(wwwkeys.de.pgp.ne)o +(t)e(--send-keys)i(0xKeyID)2035 4146 y(Public)i(Key)h(auf)g(den)h +(Keyserver)c(hochladen)640 4245 y(gpg)j(-a)h(--export)d(0xKeyID)h(|)i +(mail)f(-s)h("add")e(pgp-public-keys@)o(key)o(s.)o(de)o(.pg)o(p.)o(ne)o +(t)2035 4345 y(Public)g(Key)h(an)h(den)f(Keyserver)e(verschicken)640 +4445 y(Keyserver:)640 4544 y(Land)434 b(eMail-Adresse)823 +b(HTTP-Adresse)640 4644 y(----)434 b(-------------)823 +b(------------)640 4744 y(Deutschland)126 b(pgp-public-keys@)o(key)o +(s.)o(de)o(.pg)o(p.)o(ne)o(t)38 b(http://wwwkeys.)o(de)o(.pg)o(p.)o(ne) +o(t/)640 5092 y Fk(36)p eop end +%%Page: 37 37 +TeXDict begin 37 36 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.37) cvn /DEST pdfmark end + 12 -5 a 2632 128 a Fh(3.30.)40 b(Gn)n(uPG)20 +360 y Fd(\326stereich)214 b(pgp-public-keys@)o(key)o(s.)o(at)o(.pg)o +(p.)o(ne)o(t)38 b(http://wwwkeys.)o(at)o(.pg)o(p.)o(ne)o(t/)20 +460 y(Schweiz)302 b(gp-public-keys@k)o(eys)o(.c)o(h.)o(pgp)o(.n)o(et)81 +b(http://wwwkeys.)o(ch)o(.pg)o(p.)o(ne)o(t/)20 614 y +SDict begin H.S end + +20 614 a 20 614 a +SDict begin 12 H.A end + 20 614 a 20 614 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.3) cvn /DEST pdfmark +end + 20 614 a 102 x Fi(3.30.3.)57 +b(L\366schen)20 878 y Fd(gpg)42 b(--recv-keys)d(0xKeyID)390 +b(Key)42 b(vernichten)20 978 y(gpg)g(--import)869 b(WiderrufZertifi)o +(ka)o(t)20 1077 y(gpg)42 b(--send-keys)d(0xKeyID)20 1277 +y(gpg)j(--delete-key)d(0xKeyID)346 b(l\366scht)41 b(einen)g +(\366ffentlichen)d(Schl\374ssel)20 1476 y(cat)k(gpg-rev-xxx)d(|)k(mail) +f(-s)h("add")f(pgp-public-keys)o(@k)o(ey)o(s.d)o(e.)o(pg)o(p.n)o(et) +1415 1575 y(Widerruf)e(Zertifikat)f(an)k(den)f(Keyserver)1415 +1675 y(verschicken)20 1811 y +SDict begin H.S end + 20 1811 a 20 1811 a +SDict begin 12 H.A end + 20 1811 +a 20 1811 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.4) cvn /DEST pdfmark +end + 20 1811 a 121 x Fi(3.30.4.)57 b(Holen)20 +2093 y Fd(gpg)42 b(--keyserver)d(wwwkeys.de.pgp.ne)o(t)e(--recv-keys)i +(0xKeyID)1415 2193 y(Public-Key)g(vom)j(Keyserver)e(holen)20 +2293 y(mail)i(-s)h("get)f(thomasb@trash.n)o(et)o(")c(pgp-public-keys)o +(@k)o(ey)o(s.d)o(e.)o(pg)o(p.n)o(et)1415 2392 y(Public-Key)h(per)j +(E-Mail)1415 2492 y(vom)g(Keyserver)e(holen)20 2592 y(gpg)i(--import)f +(Key.txt)520 b(Public-Key)39 b(inportieren)20 2746 y +SDict begin H.S end + +20 2746 a 20 2746 a +SDict begin 12 H.A end + 20 2746 a 20 2746 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.5) cvn /DEST pdfmark +end + 20 2746 a 102 +x Fi(3.30.5.)57 b(Signatur)36 b(erzeugen)h(und)f(p)m(r\374fen)20 +3010 y Fd(gpg)42 b(-a)h(--sign)e(Datei)565 b(einen)41 +b(Text)h(signieren,)d(erzeugt)i(Datei.asc)20 3110 y(gpg)h(--verify)f +(Datei.asc)e(Datei)173 b(eine)41 b(Signatur)g(pr\374fen)20 +3309 y(gpg)h(--clearsign)d(Datei)478 b(einen)41 b(Text)h(signieren,) +1415 3409 y(erzeugt)e(neue)i(Datei.asc)20 3508 y(gpg)g(--verify)f +(Datei.asc)432 b(eine)41 b(Signatur)g(pr\374fen)20 3662 +y +SDict begin H.S end + 20 3662 a 20 3662 a +SDict begin 12 H.A end + 20 3662 a 20 3662 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.6) cvn /DEST pdfmark +end + 20 3662 a 103 +x Fi(3.30.6.)57 b(V)m(erschl\374sseln)20 3927 y Fd(gpg)42 +b(-a)h(-r)g(Empf\344nger0xKeyI)o(D)38 b(-e)k(Datei)1415 +4026 y(einen)f(Text)h(verschl\374sseln,)1415 4126 y(erzeugt)e +(Datei.asc)20 4280 y +SDict begin H.S end + 20 4280 a 20 4280 a +SDict begin 12 H.A end + 20 4280 a 20 +4280 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.7) cvn /DEST pdfmark +end + 20 4280 a 103 x Fi(3.30.7.)57 b(Entschl\374sseln)20 +4544 y Fd(gpg)42 b(Datei.asc)825 b(einen)41 b(versch\374sselten)d(und)k +(signierten)d(Text)1415 4644 y(entschl\374sseln)f(und)k(die)g(Signatur) +e(pr\374fen,)1415 4744 y(erzeugt)g(Datei)3037 5092 y +Fk(37)p eop end +%%Page: 38 38 +TeXDict begin 38 37 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.38) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(3.)41 +b(Befehle)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 +277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.8) cvn /DEST pdfmark +end + 640 277 a 83 x Fi(3.30.8.)57 b(Schl\374sselverw)m(altung)640 +514 y Fd(gpg)42 b(--edit)f(0xKeyID)608 b(Schl\374sselverwal)o(tu)o(ng) +2078 614 y(help)42 b(-)h(Anzeige)e(aller)g(Befehle)2078 +714 y(quit)h(-)h(Das)f(Menu)g(beenden)640 851 y +SDict begin H.S end + 640 851 +a 640 851 a +SDict begin 12 H.A end + 640 851 a 640 851 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.9) cvn /DEST pdfmark +end + 640 851 a 98 x Fi(3.30.9.)57 +b(Anzeigen)640 1103 y Fd(gpg)42 b(--list-keys)737 b(zeigt)41 +b(alle)h(\366ffentlichen)c(Schl\374ssel)640 1203 y(gpg)k(--list-sigs) +737 b(zeigt)41 b(alle)h(Unterschriften)640 1303 y(gpg)g(--fingerprint) +649 b(zeigt)41 b(alle)h(Fingerabdr\374cke)640 1440 y +SDict begin H.S end + +640 1440 a 640 1440 a +SDict begin 12 H.A end + 640 1440 a 640 1440 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.30.10) cvn /DEST pdfmark +end + 640 1440 +a 98 x Fi(3.30.10.)57 b(Exp)s(o)m(rtieren)640 1693 y +Fd(gpg)42 b(-a)h(--export)d(0xKeyID)h(>)i(Datei)f(exportiert)d(den)j +(Schl\374ssel)e(0xKeyID)2035 1792 y(in)i(Datei)640 1892 +y(gpg)g(-a)h(--export)d(>)k(Datei)390 b(exportiert)39 +b(alle)j(Schl\374ssel)e(in)i(Datei)640 2038 y +SDict begin H.S end + 640 2038 +a 640 2038 a +SDict begin 12 H.A end + 640 2038 a 640 2038 a +SDict begin [/View [/XYZ H.V]/Dest (section.3.31) cvn /DEST pdfmark +end + 640 2038 a 132 x Fe(3.31.)68 +b(X11)45 b(-)h(Gra\034k)640 2353 y Fd(/etc/XF86Config)735 +b(bis)42 b(XFree86.3.3.x)c(Konfigurationsda)o(te)o(i)640 +2452 y(/etc/X11/XF86Con)o(fig)560 b(ab)42 b(XFree86.4.x)d +(Konfigurationsda)o(tei)640 2651 y([Alt]+[F1])g(bis)k([F6])565 +b(Umschalten)39 b(zwischen)h(Textkonsolen)82 b(alle)42 +b(Shells)640 2751 y([AltGr]+[Fn])867 b(Umschalten)39 +b(zwischen)h(den)i(Textkonsolen)d(n+12)640 2851 y([Alt]+[Pfeil)g(links) +i(oder)h(rechts])f(um)h(durch)g(die)g(benutzten)e(Konsolen)g(zu)j +(st\366bern)640 2950 y([Strg]+[Alt]+[F1)o(])38 b(bis)478 +b(Umschalten)39 b(zu)k(Textkonsolen)343 b(alle)42 b(Shells)640 +3050 y([Strg]+[Alt]+[F6)o(])648 b(aus)42 b(X11)g(heraus)640 +3150 y([Strg]+[Alt]+[F7)o(])648 b(Umschalten)39 b(zu)k(X11)f(aus)g +(Textkonsole)d(alle)j(Shells)2035 3249 y(bei)g(Caldera)e(2.2)j +([Alt]+[F8])640 3349 y([Strg]+[Alt]+[<-)o(-])604 b(X-Server)40 +b(sofort)h(beenden)640 3448 y([Strg]+[Alt]+[+])691 b(verschiedene)38 +b(Aufl\366sungen)h(im)k(laufenden)640 3548 y([Strg]+[Alt]+[-])691 +b(Betrieb)40 b(wechseln)640 3747 y(xf86config)955 b(Shell-Konfigura)o +(ti)o(ons)o(pr)o(og)o(ram)o(m)37 b(f\374r)43 b(X)g(3+4)640 +3847 y(XF86Setup)999 b(X-Konfiguration)o(sp)o(rog)o(ra)o(mm)37 +b(bis)42 b(XFree86.3.3.x)640 3947 y(sax)1263 b(X-SuSE-Konfigur)o(at)o +(ion)o(sp)o(ro)o(gra)o(mm)37 b(bis)42 b(XFree86.3.3.x)640 +4046 y(sax2)1219 b(X-SuSE-Konfigur)o(at)o(ion)o(sp)o(ro)o(gra)o(mm)37 +b(ab)43 b(XFree86.4.x)640 4245 y(startx)1131 b(X-Server)40 +b(starten)640 4345 y(startx)h(--)i(-bpp)f(16)653 b(X-Server)40 +b(mit)i(16)h(Bit)f(starten)640 4445 y(startx)f(-)i(--)g(:0)g(vt07)565 +b(X-Server)40 b(auf)i(F7)h(starten)640 4544 y(startx)e(-)i(--)g(:1)g +(vt08)565 b(2.)42 b(X-Server)e(auf)j(F8)g(starten)640 +4744 y(export)e(WINDOWMANAGER=WM)386 b(X-Umgebungsvari)o(ab)o(le)37 +b(auf)42 b(WM\(kde,)f(gnome,)640 5092 y Fk(38)p eop end +%%Page: 39 39 +TeXDict begin 39 38 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.39) cvn /DEST pdfmark end + 12 -5 a 2451 128 a Fh(3.31.)40 b(X11)27 +b(-)g(Gra\034k)1415 360 y Fd(fvwm,)41 b(olwm)h(...\))g(\344ndern)20 +488 y +SDict begin H.S end + 20 488 a 20 488 a +SDict begin 12 H.A end + 20 488 a 20 488 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.31.1) cvn /DEST pdfmark +end + 20 488 a 104 +x Fi(3.31.1.)57 b(Bildschirmschoner)20 746 y Fd(xset)42 +b(s)1133 b(auf)42 b(Standardeinstel)o(lun)o(ge)o(n)37 +b(zur\374cksetzen)20 845 y(xset)42 b(s)h(60)1002 b(nach)41 +b(1)j(Minute)d(aktivieren)20 945 y(xset)h(s)h(blank)870 +b(schwarzen)39 b(Bildschirm)h(verwenden)20 1044 y(xset)i(s)h(noblank) +782 b(X-Logo)41 b(statt)g(schwarzen)f(Bildschirm)f(anzeigen)20 +1144 y(xset)j(s)h(60)g(3)915 b(X-Logo)41 b(alle)g(3)j(Sekunden)c(neu)i +(platzieren)20 1244 y(xset)g(s)h(off)958 b(Bildschirmschon)o(er)37 +b(deaktivieren)20 1343 y(xset)42 b(s)h(on)1002 b(Bildschirmschon)o(er) +37 b(einschalten)20 1443 y(xset)42 b(s)h(activate)738 +b(Bildschirmschon)o(er)37 b(sofort)k(aktivieren)20 1543 +y(xset)h(q)1133 b(aktuelle)40 b(Einstellungen)e(anzeigen)20 +1642 y(xsetroot)i(-solid)h(blue)522 b(Hintergrund)20 +1777 y +SDict begin H.S end + 20 1777 a 20 1777 a +SDict begin 12 H.A end + 20 1777 a 20 1777 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.31.2) cvn /DEST pdfmark +end + 20 1777 +a 98 x Fi(3.31.2.)57 b(X11)37 b(ohne)g(Maus)20 2028 y +Fd([Umschalt]+[Strg)o(]+)o([Nu)o(m])386 b(Maussteuerung)38 +b(am)k(Ziffernblock)d(ein/ausschalten)20 2127 y([4],[6],[8],[8])735 +b(links,)41 b(rechts,)f(oben,)i(unten)20 2227 y([*],[-])1087 +b(auf)42 b(linke,)f(rechte)g(Maustaste)f(umschalten)20 +2327 y([5],[+],[0],[5])735 b(Maustaste,)39 b(Doppelklick,)f(ger\374ckt) +j(halen,)g(l\366sen)3037 5092 y Fk(39)p eop end +%%Page: 40 40 +TeXDict begin 40 39 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.40) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 41 41 +TeXDict begin 41 40 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.41) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.4) cvn /DEST pdfmark end + 20 277 a 530 x Fm(4.)100 b(V)-6 b(erzeichnisse)68 +b(und)g(Dateien)20 994 y +SDict begin H.S end + 20 994 a 20 994 a +SDict begin 12 H.A end + 20 994 a 20 +994 a +SDict begin [/View [/XYZ H.V]/Dest (section.4.1) cvn /DEST pdfmark +end + 20 994 a 160 x Fe(4.1.)g(Dateibaum)20 1356 y Fd(/)1351 +b(oberste)40 b(Verzeichnis)1415 1456 y(im)i(Dateisystem)d +(\(Root/Wurzel\))20 1556 y(.)1351 b(Verweis)40 b(auf)i(sich)g(selbst)20 +1655 y(..)1307 b(Verweis)40 b(auf)i(das)h(\374bergeordnete)38 +b(Verzeichnis)20 1755 y(/bin/)1175 b(ausf\374hrbare)38 +b(Dateien)j(der)h(wichtigsten)d(Befehle)20 1854 y(#/bin/init)955 +b(->)42 b(/sbin/init)20 1954 y(/boot/)1131 b(enth\344lt)40 +b(die)i(Dateien)f(des)h(LILO)g(Bootloaders)d(und)1415 +2054 y(kann)i(Kernel-Images)d(enthalten)20 2153 y(/boot/boot.b)867 +b(der)42 b(LILO-Maschinenc)o(ode)20 2253 y(/boot/map)999 +b(Informationen)38 b(f\374r)k(LILO)1415 2353 y(um)g(den)h +(Betriebssystemk)o(er)o(n)37 b(zu)43 b(starten)20 2452 +y(/boot/message)823 b(wird)41 b(vor)i(der)f(LILO-Bootauswahl)37 +b(ausgegeben)20 2552 y(/boot/vmlinuz)823 b(der)42 b(Betriebssystemk)o +(ern)37 b(kann)42 b(auch)g(im)g(/)h(liegen)20 2651 y(/cdrom/)1087 +b(dient)41 b(zur)h(CDROM-Einbindung)20 2751 y(/dev/)1175 +b(Sammlung)40 b(der)i(Ger\344tedateien)20 2851 y(/dev/audio)955 +b(\344hnlich)40 b(wie)i(/dev/dsp,)e(Daten)i(werden)f(y-Law)g(codiert)20 +2950 y(/dev/cdrom)955 b(Link)41 b(auf)i(den)f(CD-Rom)f(Treiber)g(oft)h +(/dev/hdc)20 3050 y(/dev/console)867 b(reale)41 b(Console)20 +3150 y(/dev/dsp)1043 b(Link)41 b(auf)i(den)f(A/D-W.)f(der)h(Soundk.)f +(\(->)h(/dev/dsp0\))20 3249 y(/dev/dsp0)999 b(Analog/Digital-)o(Wa)o +(nd)o(ler)37 b(der)42 b(Soundkarte)20 3349 y(/dev/fd0)1043 +b(erstes)41 b(Diskettenlaufwe)o(rk)20 3448 y(/dev/fd1)1043 +b(zweites)40 b(Diskettenlaufwer)o(k)20 3548 y(/dev/full)999 +b(beim)41 b(Schreiben)f(wird)i(der)g(Fehler)f(ENOSPC)g(erzeugt)20 +3648 y(/dev/hda)1043 b(erstes)41 b(\(E\)IDE)g(Ger\344t)20 +3747 y(/dev/hda1)f(->)j(/dev/hda4)432 b(prim\344re)40 +b(Partitionen)20 3847 y(/dev/hda5)g(->)j(/dev/hda?)432 +b(logische)40 b(Partitionen)20 3947 y(/dev/hdb)1043 b(zweites)40 +b(\(E\)IDE)h(Ger\344t)20 4046 y(/dev/hdc)1043 b(drittes)40 +b(\(E\)IDE)h(Ger\344t)20 4146 y(/dev/hdd)1043 b(viertes)40 +b(\(E\)IDE)h(Ger\344t)20 4245 y(/dev/initrd)911 b(zus\344tzliche)38 +b(RAM-Disk)j(mit)h(Kernelmodulen)c(und)1415 4345 y(Bootsystem)h(zur)j +(Initialisierung)37 b(des)43 b(Kernels)20 4445 y(/dev/kmem)999 +b(virtueller)39 b(Arbeitsspeicher)20 4544 y(/dev/loop*)955 +b(erm\366glicht)39 b(eine)j(Datei)f(wie)h(eine)g(Diskette)f(oder)1415 +4644 y(Festplattenpart)o(it)o(io)o(n)d(zu)k(mounten)20 +4744 y(/dev/lp0)1043 b(erste)41 b(parallele)f(Schnittstelle)3037 +5092 y Fk(41)p eop end +%%Page: 42 42 +TeXDict begin 42 41 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.42) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(4.)41 +b(V)-7 b(erzeic)n(hnisse)27 b(und)h(Dateien)640 360 y +Fd(/dev/lp1)1043 b(zweite)41 b(parallele)e(Schnittstelle)640 +460 y(/dev/lp2)1043 b(dritte)41 b(parallele)e(Schnittstelle)640 +559 y(/dev/md*)1043 b(zusammengelegte)37 b(Festplatten)i(linear,Raid0)f +(oder)k(1)640 659 y(/dev/mem)1043 b(physikalischer)37 +b(Arbeitsspeicher)640 758 y(/dev/midi00)911 b(direkte)40 +b(Kommunikation)e(mit)43 b(einem)e(MIDI-Ger\344t)640 +858 y(/dev/mixer)955 b(Link)41 b(auf)i(den)f(Mixer)g(\(->)g +(/dev/mixer0\))640 958 y(/dev/mixer0)911 b(Mischpult)39 +b(der)k(1.)f(Soundkarte)640 1057 y(/dev/modem)955 b(Link)41 +b(auf)i(den)f(Modemtreiber)d(\(->)j(/dev/ttyS0\))640 +1157 y(/dev/mouse)955 b(Link)41 b(auf)i(den)f(Maustreiber)d(\(->)j +(/dev/psaux\))640 1257 y(/dev/music)955 b(eine)41 b(andere)g(Art)i(von) +f(Sequencer,)d(speziell)i(f\374r)h(die)2035 1356 y(MIDI-Schnittste)o +(ll)o(e)640 1456 y(/dev/nst*)999 b(SCSI-Streamer)38 b(\(No)k(Rewind)f +(On)i(Close\))640 1556 y(/dev/null)999 b(M\374lleimer)39 +b(des)k(Systems)640 1655 y(/dev/port)999 b(zum)42 b(ansprechen)d +(einzelner)h(IO)j(Ports)640 1755 y(/dev/psaux)955 b(PS/2-Maus)640 +1854 y(/dev/pts/)999 b(Unix98)41 b(PTY)h(slaves)640 1954 +y(/dev/ram)1043 b(Link)41 b(auf)i(die)f(RAM-Disk)e(\(->)j(/dev/ram0\)) +640 2054 y(/dev/random)911 b(zur)42 b(Erzeugung)e(kryptografisch)d +(hochwertiger)2035 2153 y(Zufallszahlen)640 2253 y(/dev/rmt*)999 +b(QIC-02-Streamer)640 2353 y(/dev/rtc)1043 b(batteriegepuffe)o(rt)o(e) +38 b(CMOS-Uhr)640 2452 y(/dev/sd*)1043 b(SCSI-Festplatte)o(n)640 +2552 y(/dev/sequencer)779 b(Synthesizer)38 b(der)43 b(Soundkarte)c +(oder)j(ein)g(am)h(MIDI-Port)2035 2651 y(angeschlossenes)37 +b(Ger\344t)640 2751 y(/dev/sndstat)867 b(Informationen)38 +b(\374ber)k(den)g(Status)f(des)h(Soundtreibers)640 2851 +y(/dev/st*)1043 b(SCSI-Streamer)640 2950 y(/dev/tty)g(aktive)41 +b(virtuelle)e(Console)640 3050 y(/dev/tty1)999 b(1.)42 +b(virtuelle)e(Console)640 3150 y(/dev/tty2)999 b(2.)42 +b(virtuelle)e(Console)640 3249 y(/dev/ttyS0)955 b(erste)41 +b(serielle)f(Schnittstelle)e(COM1)640 3349 y(/dev/ttyS1)955 +b(zeite)41 b(serielle)f(Schnittstelle)e(COM2)640 3448 +y(/dev/ttyS2)955 b(dritte)41 b(serielle)f(Schnittstelle)640 +3548 y(/dev/ttyS3)955 b(vierte)41 b(serielle)f(Schnittstelle)640 +3648 y(/dev/urandom)867 b(zur)42 b(Erzeugung)e(von)i(Zufallszahlen)640 +3747 y(/dev/xd*)1043 b(8-Bit)41 b(XT-Festplattenco)o(nt)o(rol)o(le)o(r) +640 3847 y(/dev/zero)999 b(zum)42 b(Lesen)f(beliebig)g(vieler)g +(Nullbytes)640 3947 y(/etc/)1175 b(Konfigurationsd)o(at)o(eie)o(n)640 +4046 y(/etc/adjtime)867 b(zur)42 b(Korrektur)e(der)i(batteriegepuffer)o +(te)o(n)37 b(CMOS-Uhr)2035 4146 y(\(clock\))640 4245 +y(/etc/bash.bashrc)691 b(globale)40 b(bash)i(konfiguration)640 +4345 y(#/etc/conf.modul)o(es)647 b(->)43 b(/etc/modules.con)o(f)640 +4445 y(/etc/cryptotab)779 b(/etc/fstab)39 b(f\374r)j(Krypto-Filesyste)o +(m)640 4544 y(/etc/csh.login)779 b(Startdatei)39 b(f\374r)j(die)h +(C-Shell)640 4644 y(/etc/diphosts)823 b(eine)41 b(Art)i(/etc/passwd)c +(f\374r)j(SLIP)g(Login)640 4744 y(/etc/DIR_COLORS)735 +b(festlegen)39 b(der)k(Farben)e(f\374r)h(ls)640 5092 +y Fk(42)p eop end +%%Page: 43 43 +TeXDict begin 43 42 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.43) cvn /DEST pdfmark end + 12 -5 a 2550 128 a Fh(4.1.)40 b(Dateibaum)20 +360 y Fd(/etc/exports)867 b(Verzeichnisse)38 b(und)k(Rchnernamen,)c +(die)43 b(diese)1415 460 y(Verzeichnisse)38 b(per)k(NFS)g(mounten)f +(d\374rfen)1415 559 y(wird)g(hier)h(eingetragen)20 659 +y(/etc/fdprm)955 b(Parameter)39 b(von)k(Diskettenformat)o(en)20 +758 y(/etc/fstab)955 b(um)42 b(Benutzern)e(das)i(An-)h(und)f(Abmelden) +1415 858 y(von)g(Dateisystemen)c(zu)43 b(erlauben)20 +958 y(/etc/ftpaccess)779 b(Woher)41 b(?)i(Wann)f(?)h(Was)f(?)i(...)20 +1057 y(/etc/ftpusers)823 b(...)42 b(und)g(Wer)g(NICHT)g(?)20 +1157 y(/etc/gateways)823 b(Rechner)40 b(des)i(lokalen)f(Netzes)g(die)h +(Kontakt)f(mit)1415 1257 y(anderen)f(Netzen)h(haben)20 +1356 y(/etc/gettydefs)779 b(Beschreibung)38 b(der)k(seriellen)e +(Terminals)20 1456 y(/etc/group)955 b(Benutzergruppen)37 +b(und)42 b(ihre)g(Mitglieder)20 1556 y(/etc/host)999 +b(aufl\366sen)40 b(von)i(Netzwerknamen)1415 1655 y(\374ber)f(die)i +(resolver-Biblio)o(th)o(ek)20 1755 y(/etc/host.allow)735 +b(Rechner)40 b(und)i(Netze)g(mit)g(denen)g(Verbindung)d(aufgebaut)1415 +1854 y(werden)i(darf)20 1954 y(/etc/host.conf)779 b(eine)41 +b(der)i(Konfig.)d(den)j(Domain)e(Name)h(Service)20 2054 +y(/etc/host.deny)779 b(Rechner)40 b(und)i(Netze)g(die)g(sich)g(nicht)g +(mit)g(diesem)1415 2153 y(Rechner)e(verbinden)g(d\374rfen)20 +2253 y(/etc/host.equiv)735 b(Rechner)40 b(die)i("gleichartig")c +(behandelt)i(werden)20 2353 y(/etc/HOSTNAME)823 b(hier)41 +b(steht)h(der)g(Name)g(des)g(Rechners)1415 2452 y(ohne)f(den)i +(Domainnamen)20 2552 y(/etc/hosts)955 b(ordnet)41 b(IP-Adressen)d +(Hostnamen)i(zu)20 2651 y(/etc/inetd.conf)735 b(welche)41 +b(Services)f(gestartet)f(werden)j(\(inetd\))20 2751 y(/etc/init)955 +b(->)43 b(/sbin/init)20 2851 y(/etc/init/)c(Dateien)i(f\374r)h(Upstart) +20 2950 y(/etc/init.d/)867 b(Dateien)40 b(f\374r)i(die)h(Init-Levels)20 +3050 y(/etc/init.d/inet)o(d)648 b(startet)40 b(den)i(inetd,)f(z.B.)h +(zum)h(Anmelden)1415 3150 y(vom)f(Netzwerk)20 3249 y(/etc/init.d/netw)o +(or)o(k)561 b(startet)40 b(die)i(Konfiguration)1415 3349 +y(der)g(Netzwerk)e(Hard-)h(und)i(Software)20 3448 y(/etc/init.d/port)o +(ma)o(p)561 b(starte)41 b(den)h(Portmapper,)1415 3548 +y(um)g(den)h(RPC-Server)c(verwenden)h(zu)i(k\366nnen)20 +3648 y(/etc/init.d/rout)o(e)648 b(setzt)41 b(die)h(statischen)e(Routen) +h(im)h(Netzwerk)20 3747 y(/etc/init.d/send)o(ma)o(il)517 +b(kontrolliert)38 b(den)k(sendmail-Prozess)1415 3847 +y(in)g(Abh\344ngigkeit)20 3947 y(/etc/init.d/rc0.)o(d/)37 +b(bis)42 b(rc6.d/)129 b(init)41 b(0)j(bis)e(6)20 4046 +y(/etc/init.d/rcS.)o(d/)604 b(init)41 b(S)20 4146 y(/etc/initscript)735 +b(init)41 b(f\374hrt)h(die)g(Kommandos)e(durch)h(dieses)g(Script)1415 +4245 y(ondemand)f(und)i(respawn)f(aus)20 4345 y(#/etc/inittab)866 +b(Grunteinstellung)37 b(der)42 b(Init-Levels)d(und)j(Terminals)1415 +4445 y(\(/sbin/init\))20 4544 y(/etc/isdn/)955 b(ISDN-Konfigurat)o(io)o +(ne)o(n)20 4644 y(/etc/issue)g(Begr\374\377ungstext)37 +b(beim)42 b(Login)f(\(getty\))20 4744 y(/etc/ld.so.cache)691 +b(zur)42 b(Shared)f(Libraries)f(identifizierung)d(\(ldconfig\))3037 +5092 y Fk(43)p eop end +%%Page: 44 44 +TeXDict begin 44 43 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.44) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(4.)41 +b(V)-7 b(erzeic)n(hnisse)27 b(und)h(Dateien)640 360 y +Fd(/etc/ld.so.conf)735 b(Verzeichnisse)38 b(zu)k(neuen)g(Shared)f +(Libraries)2035 460 y(\(ldconfig\))640 559 y(/etc/lilo.conf)779 +b(Konfigurationsd)o(at)o(ei)37 b(des)42 b(LILO)640 659 +y(/etc/login.defs)735 b(Login)41 b(Einstllungen)e(\(login\))640 +758 y(/etc/magic)955 b(Magic)41 b(Numbers)g(zum)h(Erkennen)e(von)i +(Dateien)f(\(file\))640 858 y(#/etc/man.config)691 b(->)42 +b(/etc/manpath.conf)o(ig)640 958 y(/etc/manpath.con)o(fig)560 +b(Verzeichnisse)38 b(in)k(den)h(Manualpages)c(gesucht)h(werden)640 +1057 y(/etc/minicom.use)o(rs)604 b(Benutzer)40 b(die)i(minicom)f +(benutzen)f(d\374rfen)640 1157 y(/etc/modules.con)o(f)648 +b(Modulinformatio)o(ne)o(n)38 b(\(\(f\374r)j(den)h +(Kerneld\(D\344mon\)\)\))640 1257 y(/etc/motd)999 b(Begr\374\377ung)39 +b(nach)j(dem)h(Anmelden)640 1356 y(/etc/mtab)999 b(Liste)41 +b(der)h(aktuell)f(zu)i(Verf\374gung)2035 1456 y(stehenden)c +(Dateisystemen)640 1556 y(/etc/mtools.conf)691 b(\(un\)logische)38 +b(Laufwerksbuchsta)o(be)o(n)2035 1655 y(von)k(MS-DOS)f(f\374r)h(die)h +(M-Befehle)640 1755 y(/etc/named.boot)735 b(f\374r)42 +b(den)g(named)g(D\344mon)f(des)h(DNS)640 1854 y(/etc/networks)823 +b(die)42 b(Namen)f(und)i(IP)f(der)h(lokalen)d(Netze)640 +1954 y(/etc/nntpserver)735 b(der)42 b(Name)g(und)g(die)g(IP)h(des)f +(Newsrechners)640 2054 y(/etc/nologin)867 b(macht)41 +b(jedes)g("normale")f(Einloggen)g(unm\366glich,)f(nur)2035 +2153 y(die)j(root)g(kann)g(sich)g(anmelden,)d(sonst)j(wird)g(der)2035 +2253 y(Inhalt)f(von)h(nologin)f(ausgegeben)e(\(login\))640 +2353 y(/etc/nscd.conf)779 b(Konfiguration)38 b(des)k(Name)g(Service)e +(Cache)i(D\344mon)640 2452 y(/etc/nsswitch.co)o(nf)604 +b(in)42 b(welcher)f(Reihenfolge)e(bestimmte)2035 2552 +y(Informationen)f(abgefragt)h(werden)640 2651 y(/etc/opt/)999 +b(Rechner-spezifi)o(sc)o(he)37 b(Konfigurationsda)o(te)o(ien)2035 +2751 y(der)42 b(Pakete)640 2851 y(/etc/passwd)911 b(Liste)41 +b(aller)g(Benutzer)g(mit)h(Informationen)640 2950 y(/etc/powerstatus) +691 b(Zustand)40 b(der)i(Stromversorgung)640 3050 y(/etc/printcap)823 +b(Beschreibung)38 b(des)k(oder)g(der)h(Drucker)d(des)i(Systems)2035 +3150 y(\(lpd\))640 3249 y(/etc/profile)867 b(Globale)40 +b(Benutzerprofile)640 3349 y(/etc/prtocols)823 b(Liste)41 +b(aller)g(Internetprotokoll)o(e)c(die)43 b(vom)f(Kernel)2035 +3448 y(unterst\374tzt)c(werden)640 3548 y(/etc/psdatabase)735 +b(enth\344lt)40 b(kernelabh\344ngige)d(Daten)42 b(f\374r)g(procps)640 +3648 y(/etc/rc*)1043 b(Systeminitialis)o(ie)o(run)o(gs)o(da)o(tei)o(en) +37 b(\(init\))640 3747 y(/etc/rc.config)779 b(zentrale)40 +b(Konfigurationsd)o(ate)o(i)d(->)43 b(/etc/sysconfig/)640 +3847 y(/etc/rc.config.d)o(/)648 b(weitere)40 b(Dateien)h(mit)h +(rc.config)e(Variablen)640 3947 y(/etc/resolv.conf)691 +b(bestimmt)40 b(ob)i(und)h(wo)g(ein)f(Nameserver)d(erreicht)2035 +4046 y(werden)i(kann)640 4146 y(/etc/rpc)1043 b(enth\344lt)40 +b(die)i(Zuordnung)e(der)j(durch)e(den)h(rpc-Service)2035 +4245 y(bereitgestellte)o(n)37 b(Netzdienste)i(zu)k(Socketnummern)640 +4345 y(/etc/securetty)779 b(Terminals)39 b(von)k(den)f(sich)g(der)g +(Benutzer)2035 4445 y(root)f(anmelden)g(darf)h(\(login\))640 +4544 y(/etc/services)823 b(ordnet)41 b(Portnummern)e(Servicenamen)f(zu) +640 4644 y(/etc/shadow)911 b(hier)41 b(sind)h(die)h(Shadow-Passw\366rt) +o(er)37 b(gespeichert)640 4744 y(/etc/shells)911 b(Liste)41 +b(aller)g(Shells)640 5092 y Fk(44)p eop end +%%Page: 45 45 +TeXDict begin 45 44 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.45) cvn /DEST pdfmark end + 12 -5 a 2550 128 a Fh(4.1.)40 b(Dateibaum)20 +360 y Fd(/etc/shutdown.al)o(lo)o(w)561 b(Liste)41 b(der)h(Benutzer)e +(die)j(zum)f(Herunterfahren)c(des)1415 460 y(Systems)i(berechtigt)f +(sind)20 559 y(/etc/skel/)955 b(Dateien)40 b(die)i(beim)g(Anlegen)1415 +659 y(eines)f(Benutzers)f(in)i(das)h(~)g(kopiert)e(werden)20 +758 y(/etc/SuSE-releas)o(e)648 b(Angaben)40 b(zur)i(installierten)c +(SuSE)k(Linux)g(version)20 858 y(/etc/sysconfig/)735 +b(zentrale)40 b(Konfigurationsd)o(at)o(eie)o(n)d(->)43 +b(/etc/rc.config)20 958 y(/etc/syslogd.con)o(f)648 b(legt)41 +b(fest)h(wohin)g(Meldungen)d(geschrieben)g(werden)1415 +1057 y(\(syslogd\))20 1157 y(/etc/termcap)867 b(Beschreibungen)37 +b(f\374r)42 b(Terminaleigenscha)o(ft)o(en)37 b(\(getty\))20 +1257 y(/etc/ttytype)867 b(legt)41 b(den)i(voreingestellte)o(n)37 +b(Terminaltyp)1415 1356 y(f\374r)42 b(die)g(Terminals)e(fest)20 +1456 y(/etc/XF86Config)735 b(bis)42 b(XFree86.3.3.x)c(Konfigurationsda) +o(te)o(i)20 1556 y(/etc/X11/XF86Con)o(fi)o(g)561 b(ab)42 +b(XFree86.4.x)d(Konfigurationsda)o(tei)20 1655 y(/floppy/)1043 +b(dient)41 b(zur)h(Floppy-Einbindun)o(g)20 1755 y(/home/)1131 +b(Heimatverzeichn)o(is)o(se)37 b(der)42 b(Benutzer)20 +1854 y(/home/~/.bash_hi)o(st)o(ory)473 b(gespeicherte)38 +b(Eingaben)i(der)i(bash)20 1954 y(/home/~/.bashrc)735 +b(Konfiguration)38 b(der)k(bash)20 2054 y(/home/~/.ctwmrc)735 +b(Konfiguration)38 b(des)k(ctwm-Fenstermana)o(ge)o(rs)20 +2153 y(/home/~/.exrc)823 b(Konfiguration)38 b(des)k(vi,)g(ex)20 +2253 y(/home/~/.fvwmrc)735 b(Konfiguration)38 b(des)k(fvwm-Fenstermana) +o(ge)o(rs)20 2353 y(/home/~/.openwin)o(-m)o(enu)473 b(Konfiguration)38 +b(des)k(olvwm)f(und)i(olwm-Fensterman)o(ag)o(ers)20 2452 +y(/home/~/.profile)691 b(wird)41 b(nach)h(dem)h(User-Anmelden)38 +b(in)k(der)h(bash)1415 2552 y(ausgef\374hrt)20 2651 y(/home/~/.rhosts) +735 b(erlaubt)40 b(die)i(r-Kommandos)20 2751 y(/home/~/.X.err)779 +b(Meldungen)39 b(des)k(X-Servers)20 2851 y(/home/~/.xinitrc)691 +b(diese)41 b(Datei)g(wird)h(von)h(.xsession)c(ausgef\374hrt)20 +2950 y(/home/~/.xsessio)o(n)648 b(diese)41 b(Datei)g(wird)h(nach)g(dem) +g(Befehl)1415 3050 y(startx)f(ausgef\374hrt)20 3150 y(/lib/)1175 +b(gemeinsam)39 b(genutzte)h(Bibliotheken)f(Shared)i(Libraries)20 +3249 y(/lib/modules/)823 b(nachladbare)38 b(Module)20 +3349 y(/lost+found/)867 b(verlorene)39 b(Daten,)i(ist)i(in)f(jeder)g +(Wurzel)1415 3448 y(des)g(EXT2-Dateisyste)o(ms)20 3548 +y(/media/cdrom/)823 b(dient)41 b(zur)h(CDROM-Einbindung)o(,)c(ist)k +(oft)g(im)h(/)20 3648 y(/media/floppy/)779 b(dient)41 +b(zur)h(Floppy-Einbindun)o(g,)37 b(ist)43 b(oft)f(im)h(/)20 +3747 y(/mnt/)1175 b(f\374r)42 b(tempor\344r)e(einzuh\344ngende)e +(Dateisysteme)20 3847 y(/mnt/cdrom/)911 b(dient)41 b(zur)h +(CDROM-Einbindung)o(,)c(ist)k(oft)g(im)h(/)20 3947 y(/mnt/floppy/)867 +b(dient)41 b(zur)h(Floppy-Einbindun)o(g,)37 b(ist)43 +b(oft)f(im)h(/)20 4046 y(/opt/)1175 b(kommerzielle)38 +b(Systemerweiterun)o(ge)o(n)20 4146 y(/opt/kde/)999 b(grafische)39 +b(Benutzeroberfl\344c)o(he)e(KDE)20 4245 y(/proc/)1131 +b(virtuelles)39 b(Filesystem)g(\374ber)j(laufende)e(Prozesse)20 +4345 y(/proc/cpuinfo)823 b(Informationen)38 b(zur)k(CPU)20 +4445 y(/proc/devices)823 b(Liste)41 b(der)h(wichtigsten)d +(Ger\344tetreiber)20 4544 y(/proc/dma)999 b(Liste)41 +b(der)h(verwendeten)d(DMA-Kan\344le)20 4644 y(/proc/filesystem)o(s)648 +b(Liste)41 b(der)h(bekannten)e(Dateisystemtypen)20 4744 +y(/proc/interrupts)691 b(Liste)41 b(der)h(Interrupts)3037 +5092 y Fk(45)p eop end +%%Page: 46 46 +TeXDict begin 46 45 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.46) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(4.)41 +b(V)-7 b(erzeic)n(hnisse)27 b(und)h(Dateien)640 360 y +Fd(/proc/ioports)823 b(bekannte)40 b(und)i(definierte)d +(EA-Schnittstellen)640 460 y(/proc/kcore)911 b(Ger\344tedatei)38 +b(f\374r)43 b(den)f(Zugang)2035 559 y(zum)g(physikalischen)c +(Hauptspeicher)640 659 y(/proc/kmsg)955 b(hier)41 b(k\366nnen)g +(Systemfehlermeldu)o(ng)o(en)2035 758 y(ausgelesen)e(werden)640 +858 y(/proc/ksyms)911 b(Liste)41 b(der)h(Kernel-Symbole)c(und)2035 +958 y(ihrer)j(Speicheradressen)640 1057 y(/proc/loadavg)823 +b(durchschnittlic)o(he)37 b(Systembelastung)2035 1157 +y(in)42 b(den)h(letzten)d(1,)j(5)g(und)f(10)h(Min.)640 +1257 y(/proc/meminfo)823 b(Beschreibung)38 b(der)k(aktuellen)e +(Speicherauslastu)o(ng)640 1356 y(/proc/modules)823 b(Liste)41 +b(der)h(geladenen)e(Module)h(und)2035 1456 y(Anzahl)g(der)h(aktuellen)e +(Nutzungen)640 1556 y(/proc/mounts)867 b(Liste)41 b(der)h +(eingeh\344ngten)d(Dateisysteme)640 1655 y(/proc/net/)955 +b(Informationen)38 b(zur)k(Netzwerkauslastu)o(ng)640 +1755 y(/proc/pci)999 b(Liste)41 b(der)h(gefundenen)e(Ger\344te)h(am)h +(PCI-Bus)640 1854 y(/proc/scsi/)911 b(Informationen)38 +b(\374ber)k(SCSI-Ger\344te)640 1954 y(/proc/stat)955 +b(Liste)41 b(allgemeiner)e(Statistiken)g(zum)j(System)640 +2054 y(/proc/uptime)867 b(Sekunden)40 b(seit)i(dem)g(Systemstart)d(und) +2035 2153 y(der)j(Leerlaufzeit)640 2253 y(/proc/version)823 +b(aktuelle)40 b(Version)g(des)j(Linux-Kernels)640 2353 +y(/root/)1131 b(Heimatverzeichn)o(is)37 b(des)42 b(Systemverwalters)37 +b(root)640 2452 y(/sbin/)1131 b(Administrations)o(ko)o(mma)o(nd)o(os) +640 2552 y(/sbin/init)955 b(Nach)41 b(dem)i(Kernelstart)c(wird)j +(versucht)e(das)2035 2651 y(Programm)g(init)i(zu)g(starten)640 +2751 y(#/sbin/init.d/)779 b(->)42 b(/etc/init.d/)640 +2851 y(/tmp/)1175 b(tempor\344re)39 b(Dateien)640 2950 +y(/usr/)1175 b(ausf\374hrbare)38 b(Dateien,)j(Libraries,)e(X)k(Window)e +(u.s.w)640 3050 y(/usr/bin/)999 b(allgemein)39 b(verf\374gbare)h +(Programmdateien)640 3150 y(#/usr/doc/)955 b(->)42 b(/usr/share/doc/) +640 3249 y(/usr/games/)911 b(Spiele)41 b(:-\))640 3349 +y(/usr/include/)823 b(Headerdateien)38 b(f\374r)k(den)g(C-Compiler)640 +3448 y(/usr/include/g++)o(/)648 b(Headerdateien)38 b(f\374r)k(den)g +(C++-Compiler)640 3548 y(/usr/info/)955 b(Infosystem)39 +b(fur)j(GNU-Kommandos)640 3648 y(/usr/lib/)999 b(Programmbibliot)o(he)o +(ken)640 3747 y(/usr/lib/terminf)o(o/)604 b(Verzeichnis)38 +b(mit)43 b(Beschreibungen)2035 3847 y(f\374r)f(Terminaleigensch)o(af)o +(te)o(n)640 3947 y(/usr/local/)911 b(Ablage)41 b(von)h(Dateien)f(und)h +(Kommandos)e(die)i(nicht)2035 4046 y(zur)g(Distribution)c(geh\366ren) +640 4146 y(/usr/man/)999 b(Linux)41 b(Handbuch)640 4245 +y(/usr/sbin/)955 b(Superuser)39 b(Programmdateien)640 +4345 y(/usr/share/doc/)735 b(Dokumentationen)640 4445 +y(/usr/share/doc/p)o(ack)o(ag)o(es)o(/)343 b(Dokumentation)38 +b(der)k(Programme)640 4544 y(/usr/src/)999 b(Quellcode)39 +b(f\374r)k(den)f(Kernel)f(und)h(weitere)f(Programme)640 +4644 y(/usr/src/linux/)735 b(Kernel-Source)640 4744 y(/usr/src/linux/a) +o(rch)o(/)517 b(Hardwarearchite)o(kt)o(ur-)o(ab)o(h\344)o(ngi)o(ge)640 +5092 y Fk(46)p eop end +%%Page: 47 47 +TeXDict begin 47 46 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.47) cvn /DEST pdfmark end + 12 -5 a 2550 128 a Fh(4.1.)40 b(Dateibaum)1415 +360 y Fd(Bestandteile)e(des)k(Kerns)20 460 y(/usr/src/linux/a)o(rc)o +(h/a)o(lp)o(ha)o(/)256 b(DEC-Alpha-Proze)o(ss)o(or)o(en)20 +559 y(/usr/src/linux/a)o(rc)o(h/i)o(38)o(6/)299 b(386-Prozessoren)20 +659 y(/usr/src/linux/a)o(rc)o(h/m)o(68)o(k/)g(Motorola)40 +b(68k-Prozessoren)20 758 y(/usr/src/linux/a)o(rc)o(h/m)o(ip)o(s/)299 +b(MIPS-Prozessore)o(n)37 b(R3000,)k(R4000)h(bis)g(R10000)20 +858 y(/usr/src/linux/a)o(rc)o(h/p)o(pc)o(/)343 b(Power-PC-Prozes)o(so)o +(r)37 b(\(urspr\374nglich)i(IBM\))20 958 y(/usr/src/linux/a)o(rc)o(h/s) +o(pa)o(rc)o(/)256 b(SPARC-Prozessor)o(en)37 b(der)42 +b(Firma)g(SUN)20 1057 y(/usr/src/linux/D)o(oc)o(ume)o(nt)o(at)o(ion)o +(/d)o(evi)o(ce)o(s.)o(txt)342 b(offizielle)39 b(Liste)j(der)1415 +1157 y(registrierten)c(Devices)i(mit)i(ihren)g(Ger\344tenummern)20 +1257 y(/usr/src/linux/d)o(ri)o(ver)o(s/)386 b(Zeichen-,)39 +b(Block-orientiert)o(e,)1415 1356 y(Netz-,Soundkart)o(en)o(-G)o(er\344) +o(te)o(tr)o(eib)o(er)20 1456 y(/usr/src/linux/d)o(ri)o(ver)o(s/)o(bl)o +(ock)o(/)125 b(Treiber)40 b(f\374r)i(blockorientierte)37 +b(Ein-/Ausgabeger\344)o(te)1415 1556 y(wie)42 b(Festplatten)20 +1655 y(/usr/src/linux/d)o(ri)o(ver)o(s/)o(cd)o(rom)o(/)125 +b(Treiber)40 b(f\374r)i(CD-ROM)f(Laufwerke)1415 1755 +y(au\377er)g(Atapi/IDE)f(und)i(SCSI)20 1854 y(/usr/src/linux/d)o(ri)o +(ver)o(s/)o(ch)o(ar/)168 b(Zeichen.)40 b(Treiber)g(serielle)g +(Schnittstellen,)1415 1954 y(Bildschirm,)e(Tastatur)j(usw.)20 +2054 y(/usr/src/linux/d)o(ri)o(ver)o(s/)o(ne)o(t/)212 +b(Treiber)40 b(f\374r)i(die)h(Netzwerkkarten)20 2153 +y(/usr/src/linux/d)o(ri)o(ver)o(s/)o(pc)o(i/)212 b(Spezielle)39 +b(Treiber)i(f\374r)h(PCI-Bus-Baustein)o(e)20 2253 y(/usr/src/linux/d)o +(ri)o(ver)o(s/)o(so)o(und)o(/)125 b(Soundkartentrei)o(be)o(r)20 +2353 y(/usr/src/linux/d)o(ri)o(ver)o(s/)o(sc)o(si/)168 +b(SCSI-Treiber)20 2452 y(/usr/src/linux/f)o(s/)604 b(Dateisysteme)20 +2552 y(/usr/src/linux/i)o(pc)o(/)561 b(InterProzessKom)o(mu)o(ni)o(kat) +o(io)o(n,)1415 2651 y(z.B.)41 b(Shared)g(Memory,)g(Semaphoren)20 +2751 y(/usr/src/linux/i)o(nc)o(lud)o(e/)386 b(Header-Dateien)37 +b(mit)42 b(Struktur-)e(und)1415 2851 y(Konstantendefin)o(it)o(io)o(nen) +20 2950 y(/usr/src/linux/i)o(ni)o(t/)517 b(Initialisierung)o(sc)o(od)o +(e)38 b(beim)j(Starten)g(des)h(Systems)20 3050 y(/usr/src/linux/k)o(er) +o(nel)o(/)430 b(zentrale)40 b(Aufgaben,)f(z.B.)j(Prozessverwaltung)37 +b(und)1415 3150 y(Schedulimg)i(usw.)20 3249 y(/usr/src/linux/m)o(m/)604 +b(Speicherverwalt)o(un)o(g)20 3349 y(/usr/src/linux/m)o(od)o(ule)o(s/) +386 b(nachladbarer)38 b(Teil)k(des)g(Kerns)20 3448 y(/usr/src/linux/n)o +(et)o(/)561 b(Implementierung)37 b(der)42 b(Protokolltreiber)1415 +3548 y(f\374r)g(TCP/IP,SPX/IPX)37 b(usw.)20 3648 y(/usr/src/linux/R)o +(EA)o(DME)473 b(Installationsbe)o(sc)o(hr)o(eib)o(un)o(g)37 +b(f\374r)43 b(den)f(Kernel)20 3747 y(/usr/X11R6/)911 +b(f\374r)42 b(Daten)f(zum)i(X-Window-System)20 3847 y(/usr/X11R6/bin/) +735 b(Programmdateien)37 b(die)42 b(mit)g(X-Window-System)c(arbeiten)20 +3947 y(/usr/X11R6/lib/X)o(11)o(/)561 b(Fenstermanager)20 +4046 y(/usr/X11R6/lib/X)o(11)o(/ap)o(p-)o(de)o(fau)o(lt)o(s/)342 +b(voreingestellte)37 b(Konfigurationen)h(der)1415 4146 +y(Anwendungen)20 4245 y(/var/)1175 b(sich)41 b(schnell)g(oder)h +(h\344ufig)f(\344ndernde)f(Daten)20 4345 y(/var/adm/inst-lo)o(g/)604 +b(Protokolldateie)o(n)37 b(zur)43 b(installation)20 4445 +y(/var/lib/rpm/Pac)o(ka)o(ges)473 b(rpm-Datenbank)20 +4544 y(/var/lib/rpm/pac)o(ka)o(ges)o(.r)o(pm)299 b(->)42 +b(/var/lib/rpm/Pac)o(kag)o(es)20 4644 y(/var/log/)999 +b(Protokolldateie)o(n)20 4744 y(/var/log/boot.ms)o(g)648 +b(Kernelmeldungen)37 b(vom)42 b(letzten)f(Start)3037 +5092 y Fk(47)p eop end +%%Page: 48 48 +TeXDict begin 48 47 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.48) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(4.)41 +b(V)-7 b(erzeic)n(hnisse)27 b(und)h(Dateien)640 360 y +Fd(/var/log/message)o(s)648 b(Datei)41 b(in)i(der)f(die)g(Kernel)f +(Meldungen)2035 460 y(gespeichert)d(werden)640 559 y(/var/log/syslog) +735 b(zeit)41 b(an)i(welches)e(Modul)g(fehlt)640 659 +y(/var/tmp/)999 b(f\374r)42 b(gro\377e)f(tempor\344re)f(Dateien)640 +758 y(/vmlinuz)1043 b(der)42 b(Defaultkernel)c(kann)k(auch)g(in)g +(/boot/)f(liegen)640 949 y +SDict begin H.S end + 640 949 a 640 949 a +SDict begin 12 H.A end + 640 949 +a 640 949 a +SDict begin [/View [/XYZ H.V]/Dest (section.4.2) cvn /DEST pdfmark +end + 640 949 a 142 x Fe(4.2.)68 b(/etc/fstab)640 +1293 y Fd(#Device)128 b(Mountpunkt)39 b(Typ)260 b(Optionen)1261 +b(Dump)42 b(Check)640 1393 y(/dev/hdd1)e(/)435 b(reiserfs)40 +b(defaults)1261 b(1)174 b(1)640 1492 y(/dev/hda1)40 b(/boot)259 +b(ext2)216 b(defaults)1261 b(1)174 b(2)640 1592 y(/dev/sda1)40 +b(swap)303 b(swap)216 b(defaults)1261 b(0)174 b(0)640 +1691 y(none)260 b(/proc)f(proc)216 b(defaults)1261 b(0)174 +b(0)640 1791 y(/dev/hda3)40 b(/temp)259 b(vfat)216 b(defaults,umask=70) +o(00)o(,ui)o(d=)o(50)o(0,g)o(id)o(=1)o(00)81 b(0)174 +b(0)640 1891 y(/dev/hda2)40 b(/windows)127 b(vfat)216 +b(defaults)1261 b(0)174 b(0)640 1990 y(/dev/hdc)84 b(/cdrom)215 +b(auto)h(ro,noauto,user,ex)o(ec)778 b(0)174 b(0)640 2090 +y(/dev/fd0)84 b(/floppy)171 b(auto)216 b(noauto,user)1129 +b(0)174 b(0)640 2190 y(/dev/hda3)40 b(/save)259 b(reiserfs)40 +b(loop,encryption=t)o(wo)o(fis)o(h,)o(no)o(aut)o(o,)o(us)o(ers)d(0)174 +b(0)640 2289 y(server:/)84 b(/server)171 b(nfs)260 b(rw,noauto,user,ex) +o(ec)778 b(0)174 b(0)640 2473 y +SDict begin H.S end + 640 2473 a 640 2473 a +SDict begin 12 H.A end + +640 2473 a 640 2473 a +SDict begin [/View [/XYZ H.V]/Dest (section.4.3) cvn /DEST pdfmark +end + 640 2473 a 149 x Fe(4.3.)68 b(/dev/)640 +2824 y Fd(ls)43 b(-l)g(/dev/fd0)640 2923 y(brw-rw-rw-)c(1)44 +b(root)e(disk)216 b(2,)130 b(0)43 b(Feb)f(16)h(16:30)e(/dev/fd0)640 +3023 y(|)1133 b(|)174 b(|)827 b(+-----)41 b(Ger\344t)640 +3123 y(|)1133 b(|)174 b(+------)40 b(Minor-Device-Num)o(mer)o(\(N)o(eb) +o(enn)o(um)o(me)o(r\))640 3222 y(|)1133 b(+-----------)38 +b(Major-Device-Num)o(mer)o(\(H)o(au)o(ptn)o(um)o(me)o(r\))640 +3322 y(+---------------)o(--)f(b-blockorientier)o(te)g(Ger\344te)k +(c-zeichenorienti)o(er)o(te)c(Ger\344te)723 3548 y Fk(Die)23 +b(V)-7 b(erbindung)21 b(zum)i(Kernel)e(wird)g(\374b)r(er)h(Slots)g(o)r +(der)f(Kan\344le)g(hergestellt,)g(die)h(n)n(ummeriert)640 +3648 y(sind)g(und)h(hin)n(ter)f(denen)h(sic)n(h)e(die)i(T)-7 +b(reib)r(er)21 b(v)n(erb)r(ergen.)g(Die)i(Nummer)f(des)g +(Ger\344tetreib)r(ers)f(wird)640 3747 y(als)26 b(Haupger\344ten)n +(ummer\(Ma)5 b(jor)24 b(Device)j(Num)n(b)r(er\))g(b)r(ezeic)n(hnet.)g +(Ein)g(T)-7 b(reib)r(er)26 b(k)-5 b(ann)27 b(mehrere)640 +3847 y(Ger\344te)i(des)g(gleic)n(hen)f(T)n(yps)h(v)n(erw)n(alten.)f(Um) +i(die)f(einzelnen)g(Ger\344te)g(zu)g(un)n(tersc)n(heiden,)g(wird)640 +3947 y(dem)e(T)-7 b(reib)r(er)26 b(eine)h(zw)n(eite)g(Zahl,)f(die)h(Un) +n(terger\344ten)n(ummer)e(\(Minor)h(Device)h(Num)n(b)r(er\),)g(\374b)r +(er-)640 4046 y(geb)r(en.)22 b(Diese)h(b)r(eiden)f(Zahlen)g(c)n +(harakterisieren)d(jede)k(Datei)f(im)g(/dev)g(V)-7 b(erzeic)n(hnis.)21 +b(Zus\344tzlic)n(h)640 4146 y(w)n(erden)27 b(no)r(c)n(h)g(zw)n(ei)g +(Arten)h(v)n(on)f(Ger\344ten)g(un)n(tersc)n(hieden)g(:)640 +4245 y(Die)22 b(blo)r(c)n(k)n(orien)n(tierten)e(Ger\344te)h(mit)h +(direktem)g(Zugri\033,)f(wie)g(z.B.)h(Disk)n(etten)g(o)r(der)f(F)-7 +b(estplatten,)640 4345 y(und)28 b(die)g(zeic)n(henorien)n(tierten)e +(squen)n(tiellen)h(Ger\344te,)g(wie)h(Druc)n(k)n(er,)e(T)-7 +b(erminal)27 b(o)r(der)g(Maus.)640 4445 y(Damit)32 b(hat)f(jede)h +(Ger\344tedatei)e(drei)h(\020K)n(o)r(ordinaten\020,)e(mit)i(der)g(sie)g +(v)n(om)g(Kernel,)f(unabh\344ngig)640 4544 y(v)n(on)37 +b(ihrem)h(Namen,)g(eindeutig)h(iden)n(ti\034ziert)f(w)n(erden)f(k)-5 +b(ann.)38 b(Die)h(o\036zielle)e(Liste)h(der)g(regi-)640 +4644 y(strierten)e(Devices)g(mit)i(ihren)e(Ger\344ten)n(ummern)g(ist)g +(b)r(ei)h(den)g(Kernelsourcen)d(in)j(der)f(Datei)640 +4744 y(/usr/src/lin)n(ux/Do)r(cumen)n(tation/devices.txt)23 +b(zu)28 b(\034nden.)640 5092 y(48)p eop end +%%Page: 49 49 +TeXDict begin 49 48 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.49) cvn /DEST pdfmark end + 12 -5 a 1847 128 a Fh(4.4.)40 b(Dateisystem)n(t)n +(yp)r(en)28 b(un)n(ter)f(Lin)n(ux)20 277 y +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (section.4.4) cvn /DEST pdfmark +end + 20 277 a 85 x Fe(4.4.)68 b(Dateisystemt)l(yp)t +(en)43 b(unter)h(Linux)20 555 y Fd(affs)173 b(Ein)42 +b(auf)g(dem)h(Amiga)e(verwendetes)e(Dateisystem)g(\(engl.)i(Amiga)g +(Fast)h(Filesystem\).)20 655 y(ext2)173 b(Das)42 b(Standard-Dateisy)o +(st)o(em)37 b(unter)42 b(Linux)f(\(engl.)g(Second)g(extended)f +(Filesystem\).)20 755 y(ext3)173 b(Journaling)39 b(Filesystem)20 +854 y(hpfs)173 b(Standard-Dateis)o(ys)o(tem)37 b(von)42 +b(IBM)g(OS/2)g(\(engl.)f(High)h(Performance)d(Filesystem\).)369 +954 y(Dieses)i(wird)h(von)g(Linux)f(nur)i(mit)f(Lesezugriff)d +(unterst\374zt.)20 1054 y(iso9660)i(Standard-Dateis)o(ys)o(tem)c(auf)42 +b(CD-ROMs.)20 1153 y(minix)129 b(Dieses)41 b(Dateisystem)e(hat)j +(seinen)f(Ursprung)f(in)j(akademischen)38 b(Lehrprojekten)369 +1253 y(\374ber)k(Betriebssysteme)37 b(und)42 b(war)g(das)h(erste)e +(Dateisystem,)e(welches)h(f\374r)j(Linux)369 1352 y(verwendet)c(wurde.) +i(Heute)h(wird)g(es)h(unter)e(Linux)g(vornehmlich)e(als)k(Dateisystem) +369 1452 y(f\374r)f(Disketten)e(verwendet.)20 1552 y(msdos)129 +b(Urspr\374nglich)38 b(von)k(DOS)h(verwendetes)c(Dateisystem,)f +(welches)j(aber)h(bis)g(heute)f(von)369 1651 y(diversen)f +(Betriebssystemen)d(genutzt)j(wird.)20 1751 y(ncpfs)129 +b(Dateisystem)39 b(f\374r)j(das)g(Novell-Volumes.)20 +1851 y(nfs)217 b(Hier)42 b(sind)f(die)i(Daten)e(auf)i(der)f(Festplatte) +d(eines)j(anderen)e(Rechners)g(und)369 1950 y(werden)h(\374ber)h(das)g +(Netzwerk)e(zug\344nglich)f(gemacht)i(\(engl.)g(Network)g +(Filesystem\).)20 2050 y(proc)173 b(Prozess-Dateisy)o(st)o(em)37 +b(\(virtuell\).)20 2149 y(reiserfs)345 b(Das)43 b(ReiserFS)d(ist)i(ein) +g(hochperformantes)37 b("'Journaling)i(Filesystem"';)717 +2249 y(seit)j(SuSE)g(Linux)g(6.4)g(auf)g(x86-Architekture)o(n)37 +b(verf\374gbar.)20 2349 y(smbfs)129 b(SMB)42 b(\(engl.)f(Server)g +(Message)g(Block\))g(ist)h(ein)g(Protokoll,)e(das)i(von)g(WfW,)369 +2448 y(Windoofs)e(NT)j(und)f(LAN)g(Manager)f(verwendet)f(wird,)h(um)i +(Dateien)d(\374ber)i(ein)h(Netzwerk)369 2548 y(verf\374gbar)c(zu)k +(machen.)20 2648 y(sysv)173 b(Von)42 b(SCO-Unix,)e(Xenix)h(und)i +(Coherent)d(\(kommerzielle)e(UNIX-Systeme)g(f\374r)43 +b(PCs\))369 2747 y(verwendetes)c(Dateisystem.)20 2847 +y(ufs)217 b(Von)42 b(BSD,)g(SunOS)f(und)i(NeXTstep)d(verwendetes)f +(Dateisystem;)f(dies)k(Dateisystem)369 2946 y(wird)g(von)g(Linux)f(nur) +i(mit)f(Lesezugriff)d(unterst\374tzt.)20 3046 y(umsdos)85 +b(Setzt)41 b(auf)h(einem)g(gew\366hnlichen)c(fat-Dateisystem)g(auf)k +(\(engl.)f(UNIX)h(on)h(MSDOS\))369 3146 y(und)f(erreicht)e(durch)i +(Anlegen)e(spezieller)g(Dateien)g(die)i(notwendige)e(UNIX-)369 +3245 y(Funktionalit\344t)d(\(Rechte,)k(Links,)g(lange)g(Dateinamen\);)d +(es)43 b(ist)g(jedoch)e(sehr)369 3345 y(langsamm.)20 +3445 y(vfat)173 b(Erweiterung)39 b(des)j(fat-Dateisystems)37 +b(hinsichtlich)h(der)k(L\344nge)g(der)g(Dateinamen)369 +3544 y(\(engl.)f(Virtual)f(FAT\).)20 3644 y(ntfs)173 +b(Windows)40 b(NT-Dateisystem.)20 3815 y +SDict begin H.S end + 20 3815 a 20 +3815 a +SDict begin 12 H.A end + 20 3815 a 20 3815 a +SDict begin [/View [/XYZ H.V]/Dest (section.4.5) cvn /DEST pdfmark +end + 20 3815 a 137 x Fe(4.5.)68 +b(/etc/group)20 4146 y Fd(#Gruppenname:Pa\377)o(wo)o(rt:)o(Gr)o(up)o +(pen)o(nu)o(mme)o(r:)o(Mi)o(tgl)o(ie)o(de)o(rli)o(st)o(e)20 +4245 y(root:x:0:root)20 4345 y(bin:x:1:root,bin)o(,d)o(aem)o(on)20 +4445 y(daemon:x:2:)20 4544 y(sys:x:3:)20 4644 y(tty:x:5:)20 +4744 y(disk:x:6:higi)3037 5092 y Fk(49)p eop end +%%Page: 50 50 +TeXDict begin 50 49 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.50) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(4.)41 +b(V)-7 b(erzeic)n(hnisse)27 b(und)h(Dateien)640 360 y +Fd(lp:x:7:)640 460 y(shadow:x:15:root)o(,gd)o(m)640 559 +y(audio:x:17:root,)o(hig)o(i)640 659 y(public:x:32:)640 +758 y(video:x:33:higi)640 858 y(game:x:40:higi)640 958 +y(modem:x:43:)640 1057 y(users:x:100:)640 1157 y(nogroup:x:65534:)o +(roo)o(t)640 1317 y +SDict begin H.S end + 640 1317 a 640 1317 a +SDict begin 12 H.A end + 640 1317 a +640 1317 a +SDict begin [/View [/XYZ H.V]/Dest (section.4.6) cvn /DEST pdfmark +end + 640 1317 a 134 x Fe(4.6.)68 b(/etc/hosts)640 +1640 y Fd(#)43 b(IP-Adresse)d(#Aliasnamen)640 1740 y(127.0.0.1)83 +b(localhost)640 1839 y(127.0.1.1)g(latex)640 1939 y(::1)347 +b(localhost)40 b(ip6-localhost)e(ip6-loopback)640 2039 +y(ff02::1)171 b(ip6-allnodes)640 2138 y(ff02::2)g(ip6-allrouters)640 +2338 y(192.168.0.10)39 b(rechner)h(rechner.loc)f(www.rechner.loc)640 +2479 y +SDict begin H.S end + 640 2479 a 640 2479 a +SDict begin 12 H.A end + 640 2479 a 640 2479 a +SDict begin [/View [/XYZ H.V]/Dest (section.4.7) cvn /DEST pdfmark +end + 640 +2479 a 153 x Fe(4.7.)68 b(/etc/inittab)640 2821 y Fk(Nac)n(h)39 +b(dem)g(Kernelstart)f(wird)h(v)n(ersuc)n(h)n(t)e(das)i(Programm)e(init) +j(zu)f(starten.)g(Dab)r(ei)g(w)n(erden)640 2920 y(nac)n(heinander)23 +b(die)i(V)-7 b(erzeic)n(hnisse)23 b(/etc/,)g(/bin/)h(und)h(/sbin/)f +(nac)n(h)f(init)i(abgesuc)n(h)n(t.)e(Kann)h(init)640 +3020 y(/dev/console)19 b(nic)n(h)n(t)j(\366\033nen)g(wird)f(im)h +(Einzelb)r(en)n(utzerb)r(etrieb)h(\(Single)e(User)h(Mo)r(de\))g +(gestartet.)640 3120 y(Beim)39 b(LILO-Bo)r(otprom)n(t)e(k)-5 +b(ann)38 b(init=/bin/sh)h(angegeb)r(en)e(w)n(erden)i(um)g(die)g(Shell)g +(anstelle)640 3219 y(v)n(on)g(init)g(zu)h(laden.)f(Das)g(Programm)e +(init)j(liest)f(die)h(Datei)f(/etc/inittab)g(und)g(wird)g(durc)n(h)640 +3319 y(die)33 b(Datei)f(das)g(System)h(k)n(on\034gurieren.)d +(/etc/inittab)i(wird)h(v)n(om)e(K)n(ommando)g(init)i(Zeile)g(f\374r)640 +3418 y(Zeile)g(abgearb)r(eitet.)e(In)i(jeder)g(Zeile)g(seh)n(t)f(jew)n +(eils)h(eine)g(An)n(w)n(eisung.)f(Jede)g(Zeile)h(wird)f(durc)n(h)640 +3518 y(Dopp)r(elpunkte)d(un)n(terteilt.)e(Der)h(Aufbau)g(sieh)n(t)f +(wie)h(folgt)f(aus:)640 3719 y Fd(Terminal:Termcap)o(ein)o(tr)o(ag)o +(:Ge)o(tt)o(yk)o(omm)o(an)o(do)124 b(Simpleinit)40 b(von)i(Peter)f +(Orbaek)g(mit)2383 3819 y(Erweiterung)e(von)j(Werner)f(Almesberger)640 +3970 y +SDict begin H.S end + 640 3970 a 640 3970 a +SDict begin 12 H.A end + 640 3970 a 640 3970 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.7.1) cvn /DEST pdfmark +end + 640 +3970 a 101 x Fi(4.7.1.)57 b(T)-9 b(erminal)640 4232 y +Fk(Bezeic)n(hnet)27 b(das)g(T)-7 b(erminal)27 b(\(tt)n(y1,)h(tt)n(y2,)f +(tt)n(yS0)h(...\))640 4385 y +SDict begin H.S end + 640 4385 a 640 4385 a +SDict begin 12 H.A end + 640 +4385 a 640 4385 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.7.2) cvn /DEST pdfmark +end + 640 4385 a 99 x Fi(4.7.2.)57 b(T)-9 +b(ermcap)s(eintrag)640 4644 y Fk(Wird)26 b(in)f(die)h(TERM)g(V)-7 +b(ariable)25 b(der)g(Shell)h(gesc)n(hrieb)r(en)e(und)i(sollte)f(mit)h +(einem)g(Ein)n(trag)e(in)i(der)640 4744 y(Datei)i(/etc/termcap)e(\374b) +r(ereinstimmen.)640 5092 y(50)p eop end +%%Page: 51 51 +TeXDict begin 51 50 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.51) cvn /DEST pdfmark end + 12 -5 a 2516 128 a Fh(4.7.)41 b(/etc/inittab)20 +277 y +SDict begin H.S end + 20 277 a 20 277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.7.3) cvn /DEST pdfmark +end + 20 277 a 83 +x Fi(4.7.3.)57 b(Gett)m(yk)m(ommando)20 513 y Fk(Pfad)28 +b(und)g(Optionen)f(zum)h(Gett)n(y-K)n(ommando)103 613 +y(#)19 b(Beispiel)f(einer)g(inittab)g(f\374r)h(simpleinit)g(#)f(F)-7 +b(ormat:)18 b(T)-7 b(erminal:T)g(ermcap)r(ein)n(trag:Gett)n(yk)n +(ommando)20 712 y(tt)n(y1:lin)n(ux:/sbin/gett)n(y)17 +b(9600)f(tt)n(y1)i(tt)n(y2:console:/sbin/gett)n(y)d(9600)i(tt)n(y2)h +(tt)n(y5:con100x40:/sbin/gett)n(y)20 812 y(9600)26 b(tt)n(y5)h(tt)n +(yS1:vt102:/sbin/gett)n(y)d(9600)i(tt)n(yS1)20 985 y +Fd(K\374rzel:Arbeitsst)o(uf)o(en:)o(Mo)o(du)o(s:K)o(om)o(man)o(do)211 +b(Sysvinit)40 b(von)j(Mike)e(Jagdis)h(und)1763 1084 y(Miquel)f(van)h +(Smoorenburg)20 1217 y +SDict begin H.S end + 20 1217 a 20 1217 a +SDict begin 12 H.A end + 20 1217 a +20 1217 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.7.4) cvn /DEST pdfmark +end + 20 1217 a 98 x Fi(4.7.4.)57 b(K\374rzel)20 +1468 y Fk(Jede)36 b(Aktion)g(m)n(u\377)g(mit)h(einem)f(eindeutigen)g +(\(maximal)g(vierstelligen,)f(a.out)h(o)r(der)f(Librari-)20 +1568 y(es<5.2.18)18 b(maximal)i(zw)n(eistelligen\))g(K\374rzel)f(v)n +(ersehen)h(w)n(erden,)f(das)h(b)r(ei)h(Ein)n(tr\344gen)f(in)h +(Log\034les)20 1667 y(und)28 b(b)r(ei)g(F)-7 b(ehlermeldungen)27 +b(ausgegeb)r(en)g(wird.)20 1798 y +SDict begin H.S end + 20 1798 a 20 1798 a +SDict begin 12 H.A end + +20 1798 a 20 1798 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.7.5) cvn /DEST pdfmark +end + 20 1798 a 100 x Fi(4.7.5.)57 b(Arb)s(eitsstufen)20 +2051 y Fk(Es)27 b(w)n(erden)f(hier)g(die)h(Arb)r(eitsstufen)h(\(Runlev) +n(el\))f(eingetragen.)e(Zul\344ssige)g(Arb)r(eitsstufen)i(sind)20 +2151 y(0)36 b(-)h(9)f(und)h(s.)g(Es)g(k)n(\366nnen)f(auc)n(h)g(die)h +(Pseudoarb)r(eitsstufen\(ondemand\))g(a,)f(b,)h(c)g(und)g(q)f(f\374r)20 +2251 y(einmalig)21 b(auszuf\374hrende)h(K)n(ommandos)e(v)n(erw)n(endet) +g(w)n(erden.)h(Es)h(wird)g(ohne)f(Gro\377)g(und)h(Klein-)20 +2350 y(sc)n(hreibung)33 b(b)r(ezeic)n(hnet.)h(In)g(einer)g(Zeile)f(k)n +(\366nnen)h(bis)g(zu)g(11)f(Runlev)n(el)g(zugeordnet)g(w)n(erden.)20 +2450 y(W)-7 b(enn)37 b(das)g(F)-7 b(eld)37 b(f\374r)g(den)f(Runlev)n +(el)h(leer)f(ist,)h(wird)g(die)f(Aktion)h(b)r(ei)g(jedem)h(Mo)r(dusw)n +(ec)n(hsel)20 2549 y(ausgef\374hrt.)20 2707 y Fd(0)305 +b(Systemhalt)20 2807 y(S)g(Einzelbenutzerb)o(et)o(rie)o(b)37 +b(\(Single)k(User)h(Mode\))20 2907 y(1)305 b(Einzelbenutzerb)o(et)o +(rie)o(b)37 b(\(Single)k(User)h(Mode\))20 3006 y(2)305 +b(Lokaler)40 b(Mehrbenutzerbetri)o(eb)d(ohne)42 b(entferntes)d +(Netzwerk)369 3106 y(\(Local)i(multiuser)e(without)i(remote)g +(network\))20 3205 y(3)305 b(Voller)41 b(Mehrbenutzerbet)o(rie)o(b)c +(mit)43 b(Netzwerk)369 3305 y(\(Full)e(multiuser)f(with)i(network\))20 +3405 y(4)305 b(Frei)42 b(\(Not)f(used\))20 3504 y(5)305 +b(Voller)41 b(Mehrbenutzerbet)o(rie)o(b)c(mit)43 b(Netzwerk)d(und)i +(KDM,)g(GDM)g(oder)g(XDM)369 3604 y(\(Full)f(multiuser)f(with)i +(network)e(and)j(xdm\))20 3704 y(6)305 b(Systemneustart)37 +b(\(System)k(reboot\))20 3803 y(Q)305 b(Quit)42 b(zum)g(Neueinlesen)d +(der)j(inittab)20 3929 y +SDict begin H.S end + 20 3929 a 20 3929 a +SDict begin 12 H.A end + 20 3929 +a 20 3929 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.7.6) cvn /DEST pdfmark +end + 20 3929 a 105 x Fi(4.7.6.)57 b(Mo)s(dus)20 +4187 y Fk(Gibt)28 b(an)g(wie)f(das)g(K)n(ommando)f(im)i(letzten)g(F)-7 +b(eld)28 b(ausgef\374hrt)f(w)n(erden)g(soll.)20 4345 +y Fd(initdefault)213 b(Bestimmt)40 b(den)j(Runlevel)d(beim)i +(Systemstart.)20 4445 y(sysinit)389 b(Wird)42 b(einmal)f(nach)h(dem)g +(Kernelstart)d(ausgef\374hrt.)20 4544 y(bootwait)345 +b(Wird)42 b(einmal)f(ausgef\374rt,)f(wenn)h(in)i(einem)f +(Mehrbenutzerbet)o(ri)o(eb)717 4644 y(gestartet)e(wird)i(und)g(wartet)f +(bis)i(das)f(Kommando)e(beendet)h(ist.)20 4744 y(boot)521 +b(Wie)43 b(bootwait)d(nur)i(das)g(nicht)g(gewartet)e(wird.)3037 +5092 y Fk(51)p eop end +%%Page: 52 52 +TeXDict begin 52 51 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.52) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(4.)41 +b(V)-7 b(erzeic)n(hnisse)27 b(und)h(Dateien)640 360 y +Fd(respawn)389 b(\334berwacht)40 b(das)i(laufende)f(Kommando)f(und)i +(startet)f(es)h(neu,)g(wenn)g(es)1337 460 y(beendet)f(wurde.)g(Wird)h +(es)h(in)f(zwei)g(Minuten)f(10)i(mal)f(neu)g(gestartet,)1337 +559 y(setzt)g(init)g(das)g(Kommando)e(f\374r)i(f\374nf)g(Minuten)f +(aus.)640 659 y(ondemand)345 b(Wie)43 b(respawn,)d(um)j(mit)f +(Buchstaben)d(gekennzeichnete)e(Level)42 b(einzelne)1337 +758 y(Kommandos)e(mit)i(telinit)f(zu)i(starten.)640 858 +y(wait)521 b(Wartet)41 b(bis)i(das)f(Kommando)e(beendet)h(ist.)640 +958 y(once)521 b(Wird)42 b(einmal)f(ausgef\374rt,)f(es)i(wird)g(nicht)g +(gewartet.)640 1057 y(off)565 b(Wenn)42 b(das)h(Kommando)d(l\344uft,)h +(wird)h(es)g(angehalten.)640 1157 y(ctrlaltdel)257 b(Kommando)41 +b(\(Signal)f(SIGINT,)h([Strg]+[Alt]+[E)o(ntf)o(]\))c(z.B.)42 +b(Rebooten)e(des)1337 1257 y(Systems.)640 1356 y(kbrequest)301 +b(Kommando)41 b(wird)g(ausgef\374hrt,)e(wenn)j(das)h(Signal)e(SIGWINCH) +1337 1456 y([Alt]+[Pfeil)e(hoch])i(von)i(der)f(Tastatur)e(kommt.)640 +1556 y(powerwait)301 b(Wenn)42 b(init)g(sich)g(in)h(einem)e(passenden)f +(Runlevel)g(befindet,)g(das)1337 1655 y(Signal)h(SIGPWR)g(erh\344lt)g +(oder)h(\374ber)g(Pipeline)e(/dev/initctrl)e(den)1337 +1755 y(entsprechenden)g(Befehl)j(erh\344lt)g(und)h(wartet)f(auf)i +(Beendigung)c(des)1337 1854 y(Kommandows.)g(Das)k(Signal)e(kann)g(mit)i +(Hilfe)e(eines)h(D\344mons)f(von)h(einer)g(USV)1337 1954 +y(erzeugt)f(werden.)640 2054 y(powerfail)301 b(Wie)43 +b(powerwait)c(wartet)i(jedoch)g(nicht.)640 2153 y(powerfailnow)169 +b(Wie)43 b(powerwait)c(es)k(mu\377)f(die)h(Datei)e(/etc/powerstatus)c +(zus\344tzlich)i(das)1337 2253 y(Wort)j(Low)h(enthalten.)c(So)k(kann)e +(das)i(APM)f(eines)g(Notebooks)d(mit)k(Hilfe)1337 2353 +y(eines)f(D\344mons)f(das)h(System)f(herrunterfahren.)640 +2452 y(powerokwait)213 b(Wie)43 b(powerwait)c(es)k(mu\377)f(die)h +(Datei)e(/etc/powerstatus)c(zus\344tzlich)i(das)1337 +2552 y(Wort)j(OK)h(enthalten.)c(Auf)k(diese)e(weise)h(kann)f(das)i +(System)e(in)h(den)1337 2651 y(normalen)f(Zustand)f(gebracht)g(werden,) +h(nachdem)g(die)h(Stromversorgung)1337 2751 y(wieder)f(hergestellt)e +(ist.)640 2896 y +SDict begin H.S end + 640 2896 a 640 2896 a +SDict begin 12 H.A end + 640 2896 a 640 +2896 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.7.7) cvn /DEST pdfmark +end + 640 2896 a 100 x Fi(4.7.7.)57 b(K)m(ommando)640 +3154 y Fk(Pfad)24 b(und)g(Optionen)f(zum)g(K)n(ommando,)f(wird)h(durc)n +(h)g(die)g(Bourne-Again-Shell)f(abgearb)r(eitet.)640 +3254 y(Bei)33 b(jedem)h(K)n(ommandostart)d(wird)h(v)n(ersuc)n(h)n(t)g +(die)h(Datei)h(/etc/initscript)e(abzuarb)r(eiten,)g(die)640 +3353 y(dann)c(das)f(K)n(ommando)f(startet.)640 3548 y +Fd(#)43 b(Beispiel)d(einer)i(inittab)f(f\374r)h(sysvinit)640 +3648 y(#)h(Format:)e(K\374rzel:Arbeitsst)o(uf)o(en)o(:Mo)o(du)o(s:)o +(Kom)o(ma)o(nd)o(o)640 3847 y(#)i(Bestimmt)d(den)j(Runlevel)d(beim)i +(Systemstart)640 3947 y(id:5:initdefault)o(:)640 4146 +y(#)h(Erstes)e(Script,)g(wenn)h(nicht)f(im)i(Notfallsystem)38 +b(\(-b\))k(gestartet)e(wird.)640 4245 y(si::bootwait:/et)o(c/i)o(ni)o +(t.)o(d/b)o(oo)o(t)640 4445 y(#)j(/etc/init.d/rc)38 b(\374bernimmt)i +(die)i(Runlevel)e(Behandlung)640 4544 y(l0:0:wait:/etc/i)o(nit)o(.d)o +(/r)o(c)e(0)640 4644 y(l1:1:wait:/etc/i)o(nit)o(.d)o(/r)o(c)g(1)640 +4744 y(l2:2:wait:/etc/i)o(nit)o(.d)o(/r)o(c)g(2)640 5092 +y Fk(52)p eop end +%%Page: 53 53 +TeXDict begin 53 52 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.53) cvn /DEST pdfmark end + 12 -5 a 2502 128 a Fh(4.8.)40 b(/etc/passwd)20 +360 y Fd(l3:3:wait:/etc/i)o(ni)o(t.d)o(/r)o(c)d(3)20 +460 y(#l4:4:wait:/etc/)o(in)o(it.)o(d/)o(rc)g(4)20 559 +y(l5:5:wait:/etc/i)o(ni)o(t.d)o(/r)o(c)g(5)20 659 y(l6:6:wait:/etc/i)o +(ni)o(t.d)o(/r)o(c)g(6)20 858 y(#)43 b(Bestimmt)d(den)j +(Einzelbenutzerb)o(etr)o(ie)o(b)37 b(\(Single)k(User)h(Mode\))20 +958 y(ls:S:wait:/etc/i)o(ni)o(t.d)o(/r)o(c)37 b(S)20 +1057 y(~~:S:respawn:/sb)o(in)o(/su)o(lo)o(gi)o(n)20 1257 +y(#)43 b(Aktion)e(bei)i(Signal)e(SIGINT,)f([Strg]+[Alt]+[En)o(tf])20 +1356 y(ca::ctrlaltdel:/)o(sb)o(in/)o(sh)o(ut)o(dow)o(n)d(-r)43 +b(-t)g(4)g(now)20 1556 y(#)g(Aktion)e(bei)i(Signal)e(SIGWINCH)f +([Alt]+[Pfeil)e(hoch])20 1655 y(kb::kbrequest:/b)o(in)o(/ec)o(ho)f +("'Keyboard)i(Request)i(--)i(edit)e(/etc/inittab)e(to)k(let)f(this)g +(work."')20 1854 y(#)h(Aktion)e(bei)i(Stormausfall)38 +b(und)k(Wiederherstellung)20 1954 y(pf::powerwait:/e)o(tc)o(/in)o(it)o +(.d)o(/po)o(we)o(rfa)o(il)37 b(start)20 2054 y(pn::powerfailnow)o(:/)o +(etc)o(/i)o(ni)o(t.d)o(/p)o(owe)o(rf)o(ai)o(l)h(now)20 +2153 y(#pn::powerfail:/)o(et)o(c/i)o(ni)o(t.)o(d/p)o(ow)o(erf)o(ai)o(l) +f(now)20 2253 y(po::powerokwait:)o(/e)o(tc/)o(in)o(it)o(.d/)o(po)o(wer) +o(fa)o(il)g(stop)20 2452 y(#)43 b(getty-Programme)37 +b(f\374r)43 b(die)f(normalen)e(Runlevels)20 2552 y(1:2345:respawn:/)o +(sb)o(in/)o(mi)o(ng)o(ett)o(y)d(--noclear)j(tty1)20 2651 +y(2:2345:respawn:/)o(sb)o(in/)o(mi)o(ng)o(ett)o(y)d(tty2)20 +2751 y(3:2345:respawn:/)o(sb)o(in/)o(mi)o(ng)o(ett)o(y)g(tty3)20 +2851 y(4:2345:respawn:/)o(sb)o(in/)o(mi)o(ng)o(ett)o(y)g(tty4)20 +2950 y(5:2345:respawn:/)o(sb)o(in/)o(mi)o(ng)o(ett)o(y)g(tty5)20 +3050 y(6:2345:respawn:/)o(sb)o(in/)o(mi)o(ng)o(ett)o(y)g(tty6)20 +3150 y(#S0:12345:respaw)o(n:)o(/sb)o(in)o(/a)o(get)o(ty)g(-L)43 +b(9600)f(ttyS0)f(vt102)20 3293 y +SDict begin H.S end + 20 3293 a 20 3293 a +SDict begin 12 H.A end + +20 3293 a 20 3293 a +SDict begin [/View [/XYZ H.V]/Dest (section.4.8) cvn /DEST pdfmark +end + 20 3293 a 131 x Fe(4.8.)68 b(/etc/passwd)20 +3606 y Fd(#Benutzername:Pa)o(\377w)o(ort)o(:B)o(en)o(utz)o(er)o(num)o +(me)o(r:)o(Gru)o(pp)o(en)o(num)o(me)o(r:)o(GCO)o(S:)o(He)o(ima)o(t:)o +(She)o(ll)20 3705 y(root:x:0:0:root:)o(/r)o(oot)o(:/)o(bi)o(n/b)o(as)o +(h)20 3805 y(bin:x:1:1:bin:/b)o(in)o(:/b)o(in)o(/b)o(ash)20 +3905 y(daemon:x:2:2:dae)o(mo)o(n:/)o(sb)o(in)o(:/b)o(in)o(/ba)o(sh)20 +4004 y(lp:x:4:7:lp)39 b(daemon:/var/spoo)o(l/)o(lpd)o(:/)o(bi)o(n/b)o +(as)o(h)20 4104 y(games:x:12:100::)o(/v)o(ar/)o(ga)o(me)o(s:/)o(bi)o +(n/b)o(as)o(h)20 4204 y(man:x:13:2::/var)o(/c)o(ach)o(e/)o(ma)o(n:/)o +(bi)o(n/b)o(as)o(h)20 4303 y(ftp:x:40:2:ftp)f(account:/usr/lo)o(cal)o +(/f)o(tp)o(:/b)o(in)o(/b)o(ash)20 4403 y(nobody:x:65534:6)o(55)o(34:)o +(no)o(bo)o(dy:)o(/v)o(ar/)o(li)o(b/)o(nob)o(od)o(y:)o(/bi)o(n/)o(ba)o +(sh)20 4503 y(higi:x:500:100:H)o(ig)o(i:/)o(ho)o(me)o(/hi)o(gi)o(:/b)o +(in)o(/b)o(ash)20 4602 y(gast:x:501:100:G)o(as)o(t:/)o(ho)o(me)o(/ga)o +(st)o(:/b)o(in)o(/b)o(ash)3037 5092 y Fk(53)p eop end +%%Page: 54 54 +TeXDict begin 54 53 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.54) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 55 55 +TeXDict begin 55 54 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.55) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.5) cvn /DEST pdfmark end + 20 277 a 522 x Fm(5.)100 b(Die)68 +b(Shells)20 974 y +SDict begin H.S end + 20 974 a 20 974 a +SDict begin 12 H.A end + 20 974 a 20 974 a +SDict begin [/View [/XYZ H.V]/Dest (section.5.1) cvn /DEST pdfmark +end + +20 974 a 152 x Fe(5.1.)g(Die)47 b(Shells)20 1312 y Fk(Eine)25 +b(Shell)g(ist)g(ein)g(K)n(ommando-In)n(terpreter,)c(ein)k(Programm)e +(das)h(durc)n(h)h(ein)f(anderes)g(ersetzt)20 1412 y(w)n(erden)f(k)-5 +b(ann.)23 b(Es)g(zerlegt)g(die)g(K)n(ommandozeile,)f(f\374hrt)h +(Sonderzeic)n(hen)f(durc)n(h)h(und)h(reic)n(h)n(t)e(das)20 +1511 y(K)n(ommando)k(an)h(UNIX)i(w)n(eiter.)e(Ohne)g(Shell)h(gibt)g(es) +f(k)n(einen)g(Zugang)f(zum)i(Betriebssystem.)20 1705 +y Fd(/bin/sh)389 b(Bourne-Shell)518 b(zum)42 b(programmieren)20 +1805 y(/bin/ksh)345 b(Korn-Shell)606 b(Mischung)40 b(aus)j(C-und)e +(Bourne-Shell)20 1905 y(/bin/csh)345 b(C-Shell)738 b(zum)42 +b(interaktiven)d(Arbeiten)20 2004 y(/bin/bash)301 b(Bourne-Again-Shel)o +(l)20 2104 y(/bin/tcsh)g(TC-Shell)20 2303 y(export)433 +b(Setzt)42 b(Umgebungsvariab)o(len)o(,)37 b(Variablen)j(exportieren)20 +2403 y(locate)433 b(Findet)41 b(Dateien)g(anhand)g(einer)g(Datenbank)20 +2502 y(setenv)433 b(Setzt)42 b(Umgebungsvariab)o(len)37 +b(unter)k(Nicht-Bash)e(Shells,)i(z.B.)h(csh)20 2602 y(unset)477 +b(Variable)40 b(l\366schen)h(in)i(ksh,)f(bsh)g(und)g(bash)20 +2702 y(unsetenv)345 b(Variable)40 b(l\366schen)h(in)i(csh)20 +2837 y +SDict begin H.S end + 20 2837 a 20 2837 a +SDict begin 12 H.A end + 20 2837 a 20 2837 a +SDict begin [/View [/XYZ H.V]/Dest (section.5.2) cvn /DEST pdfmark +end + 20 2837 +a 152 x Fe(5.2.)68 b(Die)47 b(Sta)l(rt-Scripts)20 3175 +y Fd(~/.bashrc)301 b(bash)20 3317 y +SDict begin H.S end + 20 3317 a 20 3317 +a +SDict begin 12 H.A end + 20 3317 a 20 3317 a +SDict begin [/View [/XYZ H.V]/Dest (section.5.3) cvn /DEST pdfmark +end + 20 3317 a 145 x Fe(5.3.)68 b(T)-11 +b(astenk)l(ombinationen)20 3648 y Fd([Strg]+[l])1085 +b(Bildschirm)40 b(l\366schen)476 b(bash)42 b(und)g(csh)20 +3747 y([Strg]+[a])d(oder)j([Pos)g(1])522 b(Zeilenanfang)736 +b(bash)42 b(und)g(csh)20 3847 y([Strg]+[e])d(oder)j([Ende])564 +b(Zeilenende)824 b(bash)42 b(und)g(csh)20 3947 y([Alt]+[f])1129 +b(Wort)42 b(vorw\344ts)738 b(bash)42 b(und)g(csh)20 4046 +y([Alt]+[b])1129 b(Wort)42 b(r\374ckw\344rts)650 b(bash)42 +b(und)g(csh)20 4146 y([Strg]+[c])1085 b(Befehlseingabe)38 +b(verwerfen)214 b(alle)42 b(Shells)20 4245 y([Strg]+[c])1085 +b(Programm)40 b(abbrechen)20 4345 y([Pfeil)h(rechts])g(und)h([Pfeil)f +(links])128 b(Cursor)41 b(bewegen)651 b(bash)42 b(und)g(csh)20 +4445 y([Pfeil)f(hoch])h(und)g([Pfeil)f(runter])171 b(History-Scrollin)o +(g)517 b(bash)42 b(und)g(csh)20 4544 y([Strg]+[r])1085 +b(in)43 b(der)f(History)f(suchen)346 b(bash)20 4644 y([Tab])1305 +b(Komplettierung)648 b(bash)42 b(und)g(csh)20 4744 y([Strg]+[d])1085 +b(beendet)41 b(die)h(Shell)521 b(alle)42 b(Shells)3037 +5092 y Fk(55)p eop end +%%Page: 56 56 +TeXDict begin 56 55 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.56) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(5.)41 +b(Die)28 b(Shells)640 360 y Fd([Strg]+[d])39 b(oder)j([Entf])564 +b(ein)43 b(Zeichen)d(l\366schen)640 460 y([Strg]+[h])f(oder)j +([Backspace])344 b(Zeichen)41 b(r\374ckw\344rts)f(l\366schen)640 +559 y([Strg]+[k])1085 b(Zeile)42 b(ab)g(Cursor)g(l\366schen)640 +659 y([Alt)g(Gr]+[Umschalt])691 b(zwei)42 b(folgende)e(Zeichen)h +(vereinen)2165 758 y(ae)i(->)g(AE,)f(co)h(->)g(\\texteuro)640 +858 y([Strg]+[z])1085 b(im)43 b(Vordergrund)c(laufendes)h(Programm)g +(anhalten)2165 958 y(Fortsetzung)f(mit)k(fg)640 1057 +y([Umschalt]+[Bild)37 b(hoch])k(und)391 b(vorherige)40 +b(Textausgabe)344 b(alle)42 b(Shells)640 1157 y([Umschalt]+[Bild)37 +b(runter])476 b(zur\374ckholen)640 1257 y([Alt]+[F1])39 +b(bis)k([F6])695 b(Umschalten)40 b(zwischen)g(Textkonsolen)82 +b(alle)42 b(Shells)640 1356 y([AltGr]+[Fn])997 b(Umschalten)40 +b(zwischen)g(den)i(Textkonsolen)d(n+12)640 1456 y([Alt]+[Pfeil)g(links) +i(oder)h(rechts])171 b(um)43 b(durch)e(die)i(benutzten)d(Konsolen)g(zu) +i(st\366bern)640 1556 y([Strg]+[Alt]+[F1)o(])c(bis)608 +b(Umschalten)40 b(zu)i(Textkonsolen)344 b(alle)42 b(Shells)640 +1655 y([Strg]+[Alt]+[F6)o(])778 b(aus)43 b(X11)f(heraus)640 +1755 y([Strg]+[Alt]+[F7)o(])778 b(Umschalten)40 b(zu)i(X11)h(aus)f +(Textkonsole)d(alle)j(Shells)2165 1854 y(bei)h(Caldera)d(2.2)j +([Alt]+[F8])640 1954 y([Strg]+[Alt]+[<-)o(-])734 b(X-Server)40 +b(sofort)i(beenden)640 2054 y([Strg]+[Alt]+[+])821 b(verschiedene)39 +b(Aufl\366sungen)g(im)j(laufenden)e(Betrieb)640 2153 +y([Strg]+[Alt]+[-])821 b(wechseln)640 2253 y([Strg]+[Alt]+[En)o(tf])690 +b(Signal)41 b(SIGINT)g(z.B.)h(reboot)521 b(Shell)640 +2422 y +SDict begin H.S end + 640 2422 a 640 2422 a +SDict begin 12 H.A end + 640 2422 a 640 2422 a +SDict begin [/View [/XYZ H.V]/Dest (section.5.4) cvn /DEST pdfmark +end + 640 +2422 a 136 x Fe(5.4.)68 b(Die)47 b(C-Shell)640 2751 y +Fd(~)653 b(Home-Verzeichnis)640 2851 y(~user)477 b(Home-Verzeichnis)37 +b(des)42 b(Benutzers)e(user)640 2950 y(*)653 b(beliebige)40 +b(Zeichen-kette)640 3050 y(?)653 b(genau)42 b(Zeichen)640 +3150 y({a,b,c})389 b(a)44 b(oder)d(b)j(oder)d(c)640 3249 +y([aceg])433 b(genau)42 b(eines)f(der)i(Zeichen)640 3349 +y([a-z])477 b(a)44 b(bis)e(z)640 3448 y([!adfh])389 b(kein)42 +b(a,)h(d,)g(f,)f(h)640 3548 y Fc(\264\264)609 b Fd(maskiert)41 +b(alles)640 3648 y(\\)653 b(maskiert)41 b(das)h(nachfolgende)c(Zeichen) +640 3747 y("")609 b(maskiert)41 b($)i(`)g(\\)g(nicht)640 +3847 y(>)g(Datei)390 b(Ausgabe)41 b(in)i(die)f(Datei,)f(stdout)640 +3947 y(>&)i(Datei)346 b(Ausgabe)41 b(in)i(die)f(Datei,)f(stdout)g(und)h +(stderr)640 4046 y(>>Datei)389 b(Unlenkung)40 b(in)j(die)f(Datei,)f +(stdout)g(umgelenkt)640 4146 y(<)i(Datei)390 b(von)43 +b(der)f(Datei)f(lesen,)g(anstatt)g(von)h(stdin)g(zu)h(lesen)640 +4245 y(set)f(noclobber)127 b(\334berschreiben)38 b(einer)k(vorhandenen) +d(Datei)i(verhindern)640 4345 y(|)653 b(Ausgabekanal)39 +b(eines)i(Kommandos)f(direkt)h(in)i(den)f(Eingabekanal)d(eines)1337 +4445 y(anderen)i(Kommandos)f(leiten)640 4544 y(#!Programm)257 +b(so)43 b(beginnt)e(eine)h(Datei)f(die)h(vom)h(Progamm)d(ausgef\374hrt) +g(wird)640 4644 y($HISTSIZE)301 b(History-Gr\366\377e)640 +4744 y($LS_OPTIONS)213 b(ls)43 b(Funktionen)640 5092 +y Fk(56)p eop end +%%Page: 57 57 +TeXDict begin 57 56 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.57) cvn /DEST pdfmark end + 12 -5 a 2464 128 a Fh(5.5.)40 b(Bash)27 +b(rec)n(hnen)20 360 y Fd($PATH)477 b(Pfad)42 b(zu)h(den)f +(Programmdateien)20 460 y(Programm)e(&)261 b(Programm)40 +b(im)j(eigenem)e(Prozess)f(starten)20 603 y +SDict begin H.S end + 20 603 a +20 603 a +SDict begin 12 H.A end + 20 603 a 20 603 a +SDict begin [/View [/XYZ H.V]/Dest (section.5.5) cvn /DEST pdfmark +end + 20 603 a 131 x Fe(5.5.)68 +b(Bash)45 b(rechnen)20 916 y Fd(echo)d($\(\(1+1\)\))127 +b(gibt)42 b(1)h(aus)20 1115 y(a=4)20 1215 y(b=5)20 1314 +y(echo)f($\(\(a*b\)\))127 b(gibt)42 b(20)h(aus)20 1414 +y(echo)f($\(\(a-b\)\))127 b(gibt)42 b(-1)h(aus)3037 5092 +y Fk(57)p eop end +%%Page: 58 58 +TeXDict begin 58 57 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.58) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 59 59 +TeXDict begin 59 58 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.59) cvn /DEST pdfmark end + 12 -5 a 20 1610 a +SDict begin H.S end + 20 1610 a 20 1610 +a +SDict begin 12 H.A end + 20 1610 a 20 1610 a +SDict begin [/View [/XYZ H.V]/Dest (part.2) cvn /DEST pdfmark end + 20 1610 a 1296 1788 a Fm(T)-17 +b(eil)68 b(I)6 b(I.)980 2203 y Ff(Programme)3037 5092 +y Fk(59)p eop end +%%Page: 60 60 +TeXDict begin 60 59 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.60) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 61 61 +TeXDict begin 61 60 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.61) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.6) cvn /DEST pdfmark end + 20 277 a 521 x Fm(6.)100 b(Der)67 +b(T)-17 b(extedito)-6 b(r)68 b(vi/vim)20 1090 y Fk(Der)24 +b(vi-Editor)g(ist)h(auf)f(UNIX/Lin)n(ux\(neb)r(en)h(Emacs\))f(der)g +(meistv)n(erw)n(endete)f(T)-7 b(exteditor.)24 b(Die)20 +1189 y(Bedien)n(ung)30 b(erfolgt)g(\374b)r(er)h(den)g(Befehls-)f(und)i +(K)n(ommando-mo)r(dus.)c(Da)j(es)g(nic)n(h)n(t)f(gerade)g(ein-)20 +1289 y(fac)n(h)k(ist)h(sic)n(h)f(diese)h(Optionen)f(zu)g(merk)n(en,)g +(folgt)h(eine)f(Au\035istung)h(der)f(meist)h(gebrauc)n(h)n(ten)20 +1389 y(Optionen.)20 1535 y +SDict begin H.S end + 20 1535 a 20 1535 a +SDict begin 12 H.A end + 20 1535 +a 20 1535 a +SDict begin [/View [/XYZ H.V]/Dest (section.6.1) cvn /DEST pdfmark +end + 20 1535 a 134 x Fe(6.1.)68 b(Aufruf)20 1853 +y Fd(vi)609 b(Editor)41 b(vi)i(aufrufen)20 1953 y(vi)g(Datei)346 +b(Editor)41 b(vi)i(aufrufen)d(und)j(Datei)e(\366ffnen)20 +2053 y(vi)i(-r)478 b(swap-Dateien)39 b(anzeigen)20 2152 +y(vi)k(-r)g(Datei)215 b(Datei)42 b(nach)g(einem)f(Stromausfall)e(oder)i +(Absturz)g(wieder)g(herstellen)20 2252 y(vi)i(-R)g(Datei)215 +b(Datei)42 b(schreibgesch\374tz)o(t)c(\366ffnen)20 2400 +y +SDict begin H.S end + 20 2400 a 20 2400 a +SDict begin 12 H.A end + 20 2400 a 20 2400 a +SDict begin [/View [/XYZ H.V]/Dest (section.6.2) cvn /DEST pdfmark +end + 20 2400 a 133 +x Fe(6.2.)68 b(Eingab)t(emo)t(dus)44 b(\(input)h(mo)t(de\))20 +2717 y Fk(Um)26 b(in)g(den)g(Eingab)r(emo)r(dus)g(zu)f(gelangen)g(m)n +(uss)g(A,)h(C,)g(I,)f(O,)h(R,)f(S,)h(a,)g(i,)f(o)h(o)r(der)f(s)g +(eingegeb)r(en)20 2816 y(w)n(erden.)i(i)h(ist)f(eine)h(gute)f(W)-7 +b(ahl.)28 b(Mit)g()f(wird)h(der)f(Eingab)r(emo)r(dus)g(v)n +(erlassen.)20 2962 y +SDict begin H.S end + 20 2962 a 20 2962 a +SDict begin 12 H.A end + 20 2962 a 20 +2962 a +SDict begin [/View [/XYZ H.V]/Dest (section.6.3) cvn /DEST pdfmark +end + 20 2962 a 135 x Fe(6.3.)68 b(Befehlsmo)t(dus)43 +b(\(visual)j(mo)t(de\))20 3211 y +SDict begin H.S end + 20 3211 a 20 3211 a +SDict begin 12 H.A end + +20 3211 a 20 3211 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.1) cvn /DEST pdfmark +end + 20 3211 a 87 x Fi(6.3.1.)57 b(Eingeb)s(en:)369 +3453 y Fd(\(n\)i)42 b(eingeben)127 b(f\374gt)42 b(den)g(eingeben)e +(Text)i(\(n)h(mal\))f(vor)g(dem)g(Cursor)f(ein)369 3553 +y(\(n\)a)h(eingeben)127 b(f\374gt)42 b(den)g(eingeben)e(Text)i(\(n)h +(mal\))f(hinter)f(dem)h(Cursor)f(ein)369 3652 y(\(n\)I)h(eingeben)127 +b(f\374gt)42 b(den)g(eingeben)e(Text)i(\(n)h(mal\))f(am)g(Zeilenanfang) +d(ein)369 3752 y(\(n\)A)j(eingeben)127 b(f\374gt)42 b(den)g(eingeben)e +(Text)i(\(n)h(mal\))f(am)g(Zeilenende)e(ein)369 3851 +y(\(n\)o)i(eingeben)127 b(f\374gt)42 b(unter)f(der)i(aktuellen)c(Zeile) +j(\(n)g(neue)g(Zeilen\))1066 3951 y(mit)g(den)h(eingeben)d(Text)i(ein) +369 4051 y(\(n\)O)g(eingeben)127 b(f\374gt)42 b(\374ber)g(der)g +(aktuellen)e(Zeile)h(\(n)i(neue)f(Zeilen\))1066 4150 +y(mit)g(den)h(eingeben)d(Text)i(ein)20 4290 y +SDict begin H.S end + 20 4290 +a 20 4290 a +SDict begin 12 H.A end + 20 4290 a 20 4290 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.2) cvn /DEST pdfmark +end + 20 4290 a 99 x Fi(6.3.2.)57 +b(\334b)s(erschreib)s(en:)369 4544 y Fd(\(n\)R)42 b(eingeben)127 +b(\374berschreibt)38 b(den)43 b(Text)f(mit)g(eingeben)369 +4644 y()433 b(wechselt)40 b(zwischen)g(INSERT)h(und)i(REPLACE)369 +4744 y(\(n\)r)f(Taste)259 b(\374berschreibt)38 b(den)43 +b(Text)f(mit)g(\(n)h(mal\))e(Taste)3037 5092 y Fk(61)p +eop end +%%Page: 62 62 +TeXDict begin 62 61 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.62) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(6.)41 +b(Der)28 b(T)-7 b(exteditor)27 b(vi/vim)1686 360 y Fd(von)42 +b(dem)h(Cursor)e(nach)g(rechts)640 484 y +SDict begin H.S end + 640 484 a 640 +484 a +SDict begin 12 H.A end + 640 484 a 640 484 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.3) cvn /DEST pdfmark +end + 640 484 a 118 x Fi(6.3.3.)57 +b(Bew)m(egen:)989 758 y Fd(\(n\)h)521 b(Cursor)41 b(um)i(\(n\))f +(Zeichen)f(nach)h(links)f(bewegen)989 858 y(\(n\)+h)213 +b(Cursor)41 b(um)i(\(n\))f(Zeichen)f(nach)h(links)f(bewegen)989 +958 y(\(n\)l)521 b(Cursor)41 b(um)i(\(n\))f(Zeichen)f(nach)h(rechts)f +(bewegen)989 1057 y(\(n\))257 b(Cursor)41 b(um)i(\(n\))f +(Zeichen)f(nach)h(rechts)f(bewegen)989 1157 y(\(n\)|)521 +b(Cursor)41 b(zur)h(Spalte)f(\(n\))i(bewegen)989 1257 +y(\(n\)t)f(Taste)259 b(Cursor)41 b(vor)h(das)h(\(n\))f(Zeichen)f(Taste) +g(nach)h(rechts)f(bewegen)989 1356 y(\(n\)f)h(Taste)259 +b(Cursor)41 b(auf)h(das)h(\(n\))f(Zeichen)f(Taste)g(nach)h(rechts)f +(bewegen)989 1456 y(\(n\)T)h(Taste)259 b(Cursor)41 b(vor)h(das)h(\(n\)) +f(Zeichen)f(Taste)g(nach)h(links)f(bewegen)989 1556 y(\(n\)F)h(Taste) +259 b(Cursor)41 b(auf)h(das)h(\(n\))f(Zeichen)f(Taste)g(nach)h(links)f +(bewegen)989 1655 y(\(n\)j)521 b(Cursor)41 b(um)i(\(n\))f(Zeilen)f +(abw\344rts)g(bewegen)989 1755 y(\(n\)k)521 b(Cursor)41 +b(um)i(\(n\))f(Zeilen)f(aufw\344rts)f(bewegen)989 1854 +y(\(n\)w)521 b(Cursor)41 b(um)i(\(n\))f(W\366rter)f(nach)h(rechts)f +(bewegen)989 1954 y(\(n\)W)521 b(Cursor)41 b(um)i(\(n\))f +(W\366rter\(Space\))c(nach)k(rechts)f(bewegen)989 2054 +y(\(n\)b)521 b(Cursor)41 b(um)i(\(n\))f(W\366rter)f(nach)h(links)f +(bewegen)989 2153 y(\(n\)B)521 b(Cursor)41 b(um)i(\(n\))f +(W\366rter\(Space\))c(nach)k(links)f(bewegen)989 2253 +y(\(n\)e)521 b(Cursor)41 b(an)i(das)f(\(n\))g(Wortende)f(nach)g(rechts) +g(bewegen)989 2353 y(\(n\)E)521 b(Cursor)41 b(an)i(das)f(\(n\))g +(Wortende\(Space\))c(nach)j(rechts)g(bewegen)989 2452 +y(^)653 b(Cursor)41 b(auf)h(das)h(erste)e(Zeilenzeichen)d(stellen)989 +2552 y(0)653 b(Cursor)41 b(vor)h(das)h(erste)e(Zeilenzeichen)d(stellen) +989 2651 y(\(n\)_)521 b(Cursor)41 b(auf)h(das)h(erste)e(Zeilenzeichen)d +(stellen)j(und)1686 2751 y(\(n-1\))g(Zeilen)g(nach)h(unten)g(bewegen) +989 2851 y($)653 b(Cursor)41 b(zum)h(Zeilenende)e(bewegen)989 +2950 y(\(n\)+)521 b(Cursor)41 b(auf)h(das)h(erste)e(Zeilenzeichen)d +(stellen)j(und)1686 3050 y(\(n\))h(Zeilen)f(abw\344rts)g(bewegen)989 +3150 y(\(n\)-)521 b(Cursor)41 b(auf)h(das)h(erste)e(Zeilenzeichen)d +(stellen)j(und)1686 3249 y(\(n\))h(Zeilen)f(aufw\344rts)f(bewegen)989 +3349 y(\(n\)\))521 b(Cursor)41 b(um)i(\(n\))f(S\344tze)f(abw\344rts)g +(bewegen)989 3448 y(\(n\)\()521 b(Cursor)41 b(um)i(\(n\))f(S\344tze)f +(aufw\344rts)g(bewegen)989 3548 y(\(n\)})521 b(Cursor)41 +b(um)i(\(n\))f(Abs\344tze)f(abw\344rts)f(bewegen)989 +3648 y(\(n\){)521 b(Cursor)41 b(um)i(\(n\))f(Abs\344tze)f(aufw\344rts)f +(bewegen)989 3747 y(\(n\)+u)213 b(Cursor)41 b(um)i(1/2)f +(Bildschirm)d(oder)j(\(n)h(Zeilen\))1686 3847 y(aufw\344rts)d(bewegen) +989 3947 y(\(n\)+d)213 b(Cursor)41 b(um)i(1/2)f(Bildschirm)d +(oder)j(\(n)h(Zeilen\))1686 4046 y(abw\344rts)e(bewegen)989 +4146 y(+f)345 b(Cursor)41 b(um)i(1)g(Bildschirm)c(abw\344rts)i +(bewegen)989 4245 y()128 b(Cursor)41 b(um)i(1)g +(Bildschirm)c(abw\344rts)i(bewegen)989 4345 y(+b)345 +b(Cursor)41 b(um)i(1)g(Bildschirm)c(aufw\344rts)h(bewegen)989 +4445 y()216 b(Cursor)41 b(um)i(1)g(Bildschirm)c +(aufw\344rts)h(bewegen)989 4544 y(\(n\)+e)213 b(scrollt)41 +b(den)h(Cursor)f(\(n\))h(Zeilen)f(abw\344rts)989 4644 +y(\(n\)+y)213 b(scrollt)41 b(den)h(Cursor)f(\(n\))h(Zeilen)f +(aufw\344rts)989 4744 y(')174 b(Taste)259 b(Cursor)41 +b(zu)i(der)f(mit)g(Taste)g(markierten)d(Zeile)j(bewegen)640 +5092 y Fk(62)p eop end +%%Page: 63 63 +TeXDict begin 63 62 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.63) cvn /DEST pdfmark end + 12 -5 a 1926 128 a Fh(6.3.)41 b(Befehlsmo)r(dus)27 +b(\(visual)g(mo)r(de\))369 360 y Fd(`)174 b(Taste)259 +b(Cursor)41 b(zu)i(dem)f(mit)g(Taste)g(markierten)d(Zeichen)i(bewegen) +369 460 y(gg)609 b(Cursor)41 b(zum)h(Textanfang)e(bewegen)369 +559 y(\(n\)G)521 b(Cursor)41 b(zur)h(Zeile)g(\(n\))g(bewegen)369 +659 y(G)653 b(Cursor)41 b(zum)h(Textende)e(bewegen)369 +758 y(H)653 b(Cursor)41 b(an)i(den)f(Anfang)f(der)h(Bildschirmseite)c +(setzen)369 858 y(\(n\)H)521 b(Cursor)41 b(zur)h(Zeile)g(\(n\))g(auf)g +(den)h(Bildschirm)c(bewegen)369 958 y(M)653 b(Cursor)41 +b(auf)h(den)h(Anfang)e(der)h(mittleren)1066 1057 y(Bildschirmzeile)37 +b(bewegen)369 1157 y(L)653 b(Cursor)41 b(an)i(das)f(Ende)g(der)g +(Bildschirmseite)37 b(setzen)369 1257 y(\(n\)L)521 b(Cursor)41 +b(vom)h(Ende)g(zur)g(Zeile)g(\(n\))g(auf)g(den)h(Bildschirm)c(bewegen) +369 1356 y(z)174 b(Taste)259 b(bewegt)41 b(die)h(aktuelle)e(Zeile)i +(zum)g(Anfang\(+\),)e(Ende\(-\))g(oder)1066 1456 y(zur)i(Mitte\(.\))e +(des)j(Bildschirms)20 1587 y +SDict begin H.S end + 20 1587 a 20 1587 a +SDict begin 12 H.A end + 20 1587 +a 20 1587 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.4) cvn /DEST pdfmark +end + 20 1587 a 111 x Fi(6.3.4.)57 b(L\366schen)36 +b(und)g(Eingeb)s(en:)369 1854 y Fd(\(n\)s)42 b(eingeben)127 +b(l\366scht)41 b(\(n\))h(Zeichen)f(von)h(dem)g(Cursor)f(nach)h(rechts)f +(und)1066 1954 y(f\374gt)h(den)g(eingeben)e(Text)i(ein)369 +2054 y(c)h(Bereich)d(eingeben)259 b(l\366scht)41 b(den)h(markierten)d +(Bereich)i(und)1066 2153 y(f\374gt)h(den)g(eingeben)e(Text)i(ein)369 +2253 y(cc)130 b(eingeben)d(l\366scht)41 b(den)h(Zeilentext)e(und)i +(f\374gt)g(den)g(eingeben)e(Text)i(ein)369 2353 y(cw)130 +b(eingeben)d(l\366scht)41 b(bis)h(zum)h(ende)e(des)i(Wortes)e(und)1066 +2452 y(f\374gt)h(den)g(eingeben)e(Text)i(ein)369 2552 +y(C)174 b(eingeben)127 b(l\366scht)41 b(den)h(Text)g(bis)g(Zeilenende)e +(und)1066 2651 y(f\374gt)i(den)g(eingeben)e(Text)i(ein)369 +2751 y(\(n\)S)g(eingeben)127 b(l\366scht)41 b(\(n\))h(Zeilen)f(nach)h +(unten)g(und)1066 2851 y(f\374gt)g(den)g(eingeben)e(Text)i(ein)g(\()i +(wie)e(\(n\)cc)f(\))20 2993 y +SDict begin H.S end + 20 2993 a 20 2993 a +SDict begin 12 H.A end + 20 +2993 a 20 2993 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.5) cvn /DEST pdfmark +end + 20 2993 a 100 x Fi(6.3.5.)57 b(L\366schen:)369 +3249 y Fd(d)174 b(Bereich)d(l\366scht)41 b(den)h(markierten)e(Bereich) +369 3349 y(dd)609 b(l\366scht)41 b(die)h(ganze)g(Zeile)369 +3448 y(D)653 b(l\366scht)41 b(den)h(Text)g(bis)g(Zeilenende)369 +3548 y(dw)609 b(l\366scht)41 b(bis)h(zum)h(Ende)e(des)i(Wortes)369 +3648 y(\(n\)x)521 b(l\366scht)41 b(\(n\))h(Zeichen)f(auf)h(den)g(sich)g +(der)h(Cursor)e(befindet)369 3747 y()433 b(l\366scht)41 +b(das)h(Zeichen)f(auf)h(den)g(sich)g(der)h(Cursor)e(befindet)369 +3847 y(\(n\)X)521 b(l\366scht)41 b(\(n\))h(Zeichen)f(links)g(vom)i +(Cursor)20 3978 y +SDict begin H.S end + 20 3978 a 20 3978 a +SDict begin 12 H.A end + 20 3978 a 20 3978 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.6) cvn /DEST pdfmark +end + 20 3978 a 111 x Fi(6.3.6.)57 b(Aufheb)s(en:)369 4245 +y Fd(u)653 b(macht)41 b(die)i(letzte)e(\304nderung)f(r\374ckg\344ngig) +369 4345 y(U)653 b(macht)41 b(die)i(letzte)e(\304nderung)f(der)i +(ganzen)f(Zeile)h(r\374ckg\344ngig)20 4487 y +SDict begin H.S end + 20 4487 +a 20 4487 a +SDict begin 12 H.A end + 20 4487 a 20 4487 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.7) cvn /DEST pdfmark +end + 20 4487 a 100 x Fi(6.3.7.)57 +b(V)m(erschieb)s(en:)369 4744 y Fd(>)174 b(Bereich)d(schiebt)41 +b(die)h(markierten)d(Zeilen)i(nach)h(rechts)3037 5092 +y Fk(63)p eop end +%%Page: 64 64 +TeXDict begin 64 63 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.64) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(6.)41 +b(Der)28 b(T)-7 b(exteditor)27 b(vi/vim)989 360 y Fd(>>)609 +b(schiebt)41 b(die)h(Zeile)f(auf)i(den)f(sich)g(der)g(Cursor)f +(befindet)1686 460 y(nach)h(rechts)989 559 y(<)174 b(Bereich)d(schiebt) +41 b(die)h(markierten)d(Zeilen)i(nach)h(links)989 659 +y(<<)609 b(schiebt)41 b(die)h(Zeile)f(auf)i(den)f(sich)g(der)g(Cursor)f +(befindet)1686 758 y(nach)h(links)640 871 y +SDict begin H.S end + 640 871 a +640 871 a +SDict begin 12 H.A end + 640 871 a 640 871 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.8) cvn /DEST pdfmark +end + 640 871 a 116 x Fi(6.3.8.)57 +b(Zusammenf\374gen:)989 1140 y Fd(\(n\)J)521 b(h\344ngt)41 +b(\(n\))i(Zeilen)e(nach)h(unten)f(aneinander)640 1271 +y +SDict begin H.S end + 640 1271 a 640 1271 a +SDict begin 12 H.A end + 640 1271 a 640 1271 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.9) cvn /DEST pdfmark +end + 640 1271 +a 98 x Fi(6.3.9.)57 b(Ma)m(rkieren:)989 1522 y Fd(m)174 +b(Taste)259 b(markiert)40 b(eine)i(Zeile)f(oder)h(Zeichen)989 +1622 y(v)653 b(setzt)41 b(den)i(Anfang)e(einer)g(Markierung)989 +1722 y(V)653 b(setzt)41 b(den)i(Anfang)e(einer)g(Zeilenmarkierung)640 +1852 y +SDict begin H.S end + 640 1852 a 640 1852 a +SDict begin 12 H.A end + 640 1852 a 640 1852 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.10) cvn /DEST pdfmark +end + 640 +1852 a 98 x Fi(6.3.10.)57 b(K)m(opieren:)989 2103 y Fd(y)174 +b(Bereich)d(kopiert)41 b(den)h(mit)g(Bereich)f(angegebenen)e(Text)j(in) +g(einen)g(Puffer)989 2203 y(\(n\)Y)521 b(kopiert)41 b(die)h(aktuelle)e +(und)i(\(n\))h(Zeilen)e(in)h(einen)g(Puffer)989 2303 +y(")174 b(Taste)259 b(legt)42 b(den)g(n\344chsten)e(Zwischenpuffer)e +(fest)989 2402 y(@)174 b(Taste)259 b(interpretiert)38 +b(den)k(Inhalt)f(des)i(Zwischenspeiche)o(rs)37 b(als)1686 +2502 y(vi)43 b(Befehle)d(und)j(f\374hrt)e(sie)h(aus)640 +2614 y +SDict begin H.S end + 640 2614 a 640 2614 a +SDict begin 12 H.A end + 640 2614 a 640 2614 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.11) cvn /DEST pdfmark +end + 640 +2614 a 117 x Fi(6.3.11.)57 b(Einf\374gen:)989 2884 y +Fd(p)653 b(f\374gt)42 b(den)g(aktuellen)e(Puffer)h(hinter)g(dem)h +(Cursor)f(ein)989 2983 y(P)653 b(f\374gt)42 b(den)g(aktuellen)e(Puffer) +h(vor)h(dem)h(Cursor)e(ein)640 3114 y +SDict begin H.S end + 640 3114 a 640 +3114 a +SDict begin 12 H.A end + 640 3114 a 640 3114 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.12) cvn /DEST pdfmark +end + 640 3114 a 98 x Fi(6.3.12.)57 +b(Suchen:)989 3365 y Fd(\(n\)\045)521 b(platziert)40 +b(den)i(Cursor)f(auf)h(die)h(zugeh\366rige)c(\(\))k({})f([],)h(oder) +1686 3465 y(platziert)d(den)i(Cursor)f(auf)h(\(n\))h(Prozent)d(der)j +(Datei)989 3565 y(/)174 b(Text)303 b(sucht)41 b(den)i(Text)f +(vorw\344rts)989 3664 y(?)174 b(Text)303 b(sucht)41 b(den)i(Text)f +(r\374ckw\344rts)640 3777 y +SDict begin H.S end + 640 3777 a 640 3777 a +SDict begin 12 H.A end + 640 +3777 a 640 3777 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.13) cvn /DEST pdfmark +end + 640 3777 a 116 x Fi(6.3.13.)57 b(Wiederholen:)989 +4046 y Fd(.)653 b(wiederholt)39 b(das)k(letzte)e(EDIT)h(Kommando)989 +4146 y(n)653 b(wiederholt)39 b(das)k(letzte)e(Suchen)989 +4245 y(N)653 b(wiederholt)39 b(das)k(letzte)e(Suchen)g(in)h +(umgekehrter)d(Richtung)989 4345 y(\(n\);)521 b(wiederholt)39 +b(das)k(vorgehende)c(f,)k(F,)f(t,)h(T)g(Kommando)989 +4445 y(\(n\),)521 b(wiederholt)39 b(das)k(vorgehende)c(f,)k(F,)f(t,)h +(T)g(Kommando)d(in)1686 4544 y(umgekehrter)f(Richtung)989 +4644 y(\(n\)&)521 b(wiederholt)39 b(den)k(letzten)d(:s//)i(Befehl)f(an) +i(der)f(momentanen)1686 4744 y(Position)640 5092 y Fk(64)p +eop end +%%Page: 65 65 +TeXDict begin 65 64 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.65) cvn /DEST pdfmark end + 12 -5 a 1790 128 a Fh(6.4.)40 b(K)n(ommandomo)r +(dus)26 b(\(colon)h(mo)r(de\))20 277 y +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.3.14) cvn /DEST pdfmark +end + 20 277 a 83 x Fi(6.3.14.)57 b(Sonstige)37 +b(K)m(ommandos:)369 513 y Fd(G)389 b(zeigt)41 b(den)i +(Dateistatus)c(und)j(die)g(momentane)e(Zeilennummer)369 +613 y(ZZ)609 b(speichert)40 b(die)i(Datei)f(und)i(beendet)d(vi)369 +712 y(L)389 b(erneuert)40 b(den)i(Bildschirm)20 +856 y +SDict begin H.S end + 20 856 a 20 856 a +SDict begin 12 H.A end + 20 856 a 20 856 a +SDict begin [/View [/XYZ H.V]/Dest (section.6.4) cvn /DEST pdfmark +end + 20 856 a 131 +x Fe(6.4.)68 b(K)l(ommandomo)t(dus)42 b(\(colon)k(mo)t(de\))20 +1169 y Fk(Um)28 b(in)g(den)g(K)n(ommandomo)r(dus)e(zu)h(gelangen)g(m)n +(uss)g(:)g(eingegeb)r(en)g(w)n(erden.)20 1301 y +SDict begin H.S end + 20 1301 +a 20 1301 a +SDict begin 12 H.A end + 20 1301 a 20 1301 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.6.4.1) cvn /DEST pdfmark +end + 20 1301 a 100 x Fi(6.4.1.)57 +b(T)-9 b(exteingab)s(e)35 b(K)m(ommandos)369 1554 y Fd(q\(!\))521 +b(Editor)41 b(verlassen)369 1654 y(wq)609 b(Editor)41 +b(mit)h(speichern)e(verlassen)369 1754 y(xit)565 b(arbeitet)40 +b(wie)i(wq,)h(speichert)c(nur)k(bei)f(einer)g(\304nderung)369 +1853 y(x\(!\))521 b(Editor)41 b(mit)h(speichern)e(verlassen)369 +1953 y(w\(!\))i(Name)303 b(Datei)41 b(mit)i(Namen)e(speichern)369 +2053 y(h)653 b(Hilfe)41 b(anfordern)369 2252 y(args)h(Dateien)171 +b(Liste)41 b(der)i(Dateien)d(anlegen)369 2351 y(args)521 +b(Dateien)41 b(auflisten)369 2451 y(next\(!\))389 b(schaltet)40 +b(zur)i(n\344chsten)f(Datei)369 2551 y(previous\(!\))213 +b(schaltet)40 b(zur)i(vorhergehenden)c(Datei)369 2650 +y(rewind\(!\))301 b(schaltet)40 b(zur)i(ersten)f(Datei)369 +2850 y(edit\(!\))f(Datei)129 b(dient)41 b(zum)i(wechseln)d(der)i(Datei) +369 3049 y(!Befehl)389 b(externen)40 b(Befehl)h(ausf\374hren)3037 +5092 y Fk(65)p eop end +%%Page: 66 66 +TeXDict begin 66 65 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.66) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 67 67 +TeXDict begin 67 66 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.67) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.7) cvn /DEST pdfmark end + 20 277 a 520 x Fm(7.)100 b(LaT)-17 +b(eX)20 969 y +SDict begin H.S end + 20 969 a 20 969 a +SDict begin 12 H.A end + 20 969 a 20 969 a +SDict begin [/View [/XYZ H.V]/Dest (section.7.1) cvn /DEST pdfmark +end + 20 +969 a 149 x Fe(7.1.)68 b(L)327 1094 y Fj(A)367 1118 y +Fe(T)437 1145 y(E)501 1118 y(X)20 1300 y Fk(L)42 1283 +y Fg(A)79 1300 y Fk(T)125 1318 y(E)171 1300 y(X)3037 +5092 y(67)p eop end +%%Page: 68 68 +TeXDict begin 68 67 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.68) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 69 69 +TeXDict begin 69 68 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.69) cvn /DEST pdfmark end + 12 -5 a 20 1610 a +SDict begin H.S end + 20 1610 a 20 1610 +a +SDict begin 12 H.A end + 20 1610 a 20 1610 a +SDict begin [/View [/XYZ H.V]/Dest (part.3) cvn /DEST pdfmark end + 20 1610 a 1265 1788 a Fm(T)-17 +b(eil)68 b(I)6 b(I)g(I.)610 2203 y Ff(Linux)82 b(im)g(Netzw)-7 +b(erk)3037 5092 y Fk(69)p eop end +%%Page: 70 70 +TeXDict begin 70 69 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.70) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 71 71 +TeXDict begin 71 70 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.71) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.8) cvn /DEST pdfmark end + 20 277 a 520 x Fm(8.)100 b(Netzw)-6 +b(erk)20 1057 y Fd(Rechnername)562 b(Name)42 b(den)g(der)g(Rechner)f +(im)i(Netzwerk)d(hat,)1066 1157 y(sollte)h(nicht)g(mehr)h(als)h(acht)e +(Zeichen)g(haben,)1066 1257 y(darf)h(im)h(lokalen)d(Netzwerk)g(noch)i +(nicht)g(vergeben)e(sein)20 1356 y(Domainname)606 b(Name)42 +b(zur)g(Gliederung)d(von)k(Netzwerken)20 1456 y(Top-Level-Domain)342 +b(umfasst)41 b(h\366chstens)e(vier)j(Buchstaben)1066 +1556 y(Beispiel:)e(Rechnername.Dom)o(ai)o(nna)o(me)o(.T)o(op-)o(Le)o +(vel)o(-D)o(om)o(ain)d(->)1502 1655 y(voyager.startre)o(k.)o(foe)20 +1755 y(IP-Adresse)606 b(Adresse)41 b(des)h(Rechners)e(im)j(Netzwerk,) +1066 1854 y(jede)f(Netzwerkschnitt)o(ste)o(ll)o(e\()o(z.B)o(.)37 +b(Netzwerk-)j(oder)1066 1954 y(ISDN-Karte\))f(hat)j(im)h(Netzwerk)d +(mindestens)f(eine)j(Adresse)1066 2054 y(die)g(eindeutig)e(ist,)i(die)g +(Adresse)f(besteht)f(derzeit)h(aus)1066 2153 y(einer)g(Sequenz)g(von)h +(vier)g(Bytes)g(die)g(durch)f(Punkte)g(getrennt)1066 +2253 y(sind)h(z.B.)g(192.168.20.40)c(,)43 b(f\374r)f(private)f(Netze)g +(sind)h(durch)1066 2353 y(das)g(Arbeitspapier)c(RFC)43 +b(1597)e(drei)h(Adressbereiche)1066 2452 y(vorgesehen)d(die)k(nicht)e +(geroutet)f(werden:)1066 2552 y(10.0.0.0)171 b(->)43 +b(10.255.255.255)81 b(\(Class)41 b(A-Netz\))1066 2651 +y(172.16.0.0)83 b(->)43 b(172.31.255.255)81 b(\(Class)41 +b(B-Netz\))1066 2751 y(192.168.0.0)e(->)k(192.168.255.255)37 +b(\(Class)k(C-Netz\))20 2851 y(Gatewayadresse)430 b(IP-Adresse)39 +b(des)k(Ger\344tes)d(die)i(das)h(Weiterleiten)1066 2950 +y(von)f(Netzwerkpaketen)37 b(in)43 b(das)f(fremde)f(Netz)h +(\374bernimmt)20 3050 y(Netzwerkmaske)474 b(sagt)42 b(aus)g(welcher)f +(Teil)h(der)g(IP-Adresse)1066 3150 y(zum)g(lokale)f(Netzwerk)f +(geh\366rt)h(z.B.)h(255.255.255.0)20 3249 y(####)g(in)h(arbeit)e +(###############)o(###)o(##)o(##)o(###)o(##)o(##)o(###)o(##)o(##)o(###) +20 3349 y(OSI)217 b(Open)42 b(System)f(Interconnektion)20 +3448 y(IEEE)20 3548 y(ISO)20 3648 y(MAC-Adresse)562 b(006097)41 +b(370cae)1066 3747 y(------)g(------)1066 3847 y(Herstellerabh\344ng)o +(ig)1415 3947 y(laufendeNr.)20 4046 y(Ethernet-adresse)20 +4146 y(Node-Addresse)20 4245 y(NIC-Adresse)20 4345 y(udp)20 +4445 y(tcp/ip)20 4544 y(nfs)20 4644 y(ftp)20 4744 y(Portnummer/Kanal)o +(nu)o(mme)o(r)3037 5092 y Fk(71)p eop end +%%Page: 72 72 +TeXDict begin 72 71 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.72) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(8.)41 +b(Netzw)n(erk)640 360 y Fd(16Bit)h(65535)f(pro)h(udp)h(pro)f(tcp/ip)640 +460 y(/etc/services)640 559 y(0-1023)f(well)h(known)g(Ports)f(IANA)640 +659 y(1024-49151)e(registrierte)g(Ports)640 758 y(->65535)i +(dynamische,)e(privat)640 858 y(################)o(###)o(##)o(##)o(###) +o(##)o(##)o(###)o(##)o(##)o(###)o(##)o(##)o(###)o(##)o(###)o(##)640 +5092 y Fk(72)p eop end +%%Page: 73 73 +TeXDict begin 73 72 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.73) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.9) cvn /DEST pdfmark end + 20 277 a 520 x Fm(9.)100 b(Apache)20 +1002 y +SDict begin H.S end + 20 1002 a 20 1002 a +SDict begin 12 H.A end + 20 1002 a 20 1002 a +SDict begin [/View [/XYZ H.V]/Dest (section.9.1) cvn /DEST pdfmark +end + 20 1002 +a 116 x Fe(9.1.)68 b(Einleitung)20 1301 y Fk(Der)26 b(Apac)n(he)f(W)-7 +b(ebserv)n(er)25 b(ist)h(ein)g(Programm)f(das)g(im)h(Netzw)n +(erk\(WWW\),)h(b)r(ei)g(Anfragen)e(mit)20 1400 y(einem)j(W)-7 +b(ebbro)n(wser,)26 b(W)-7 b(ebsites\(HTTP-Protok)n(oll\))27 +b(ausgeb)r(en)g(k)-5 b(ann.)103 1500 y(Die)19 b(Anfragen)f(w)n(erden)f +(als)h(URL)h(angegeb)r(en.)e(Beispiel:)h(Sc)n(hema://Hostname:P)n +(ort/Serv)n(er-)20 1600 y(Pfad)28 b(->)f(h)n(ttp://www.apac)n +(he.org:80/man)n(ual/)20 1746 y +SDict begin H.S end + 20 1746 a 20 1746 a +SDict begin 12 H.A end + 20 +1746 a 20 1746 a +SDict begin [/View [/XYZ H.V]/Dest (section.9.2) cvn /DEST pdfmark +end + 20 1746 a 129 x Fe(9.2.)68 b(K)l(ompilieren)45 +b(und)g(Installieren)20 1980 y +SDict begin H.S end + 20 1980 a 20 1980 a +SDict begin 12 H.A end + 20 +1980 a 20 1980 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.2.1) cvn /DEST pdfmark +end + 20 1980 a 94 x Fi(9.2.1.)57 b(Anfo)m(rderungen)145 +2227 y Fb(\210)41 b Fk(Apac)n(he-Quellco)r(de)26 b(1.3,)h(erh\344ltlic) +n(h)f(b)r(ei)i(h)n(ttp://www.apac)n(he.org/)145 2394 +y Fb(\210)41 b Fk(mo)r(d_ssl)26 b(1.3,)h(erh\344ltlic)n(h)g(b)r(ei)h(h) +n(ttp://www.mo)r(dssl.org/)145 2560 y Fb(\210)41 b Fk(Apac)n +(he-Quellco)r(de)26 b(2.0,)h(erh\344ltlic)n(h)f(b)r(ei)i(h)n +(ttp://www.apac)n(he.org/)145 2727 y Fb(\210)41 b Fk(Op)r +(enSSL-Quellco)r(de)26 b(0.9.x,)h(erh\344ltlic)n(h)g(b)r(ei)h(h)n +(ttp://www.op)r(enssl.org/)145 2893 y Fb(\210)41 b Fk(Lin)n(ux)18 +b(ab)g(2.4.xx\(z.B.Debian)f(Sarge)g(3.1\),)h(libgdbm2-dev)n(el\(ndbm.h) +g(->)g(gdbm-ndbm.h\))145 3060 y Fb(\210)41 b Fk(ANSI-C-Compiler)20 +b(und)h(Generierungsw)n(erkzeuge,)c(GNU)22 b(C)e(Compiler)g(\(GCC\))i +(ab)e(V)-7 b(er-)228 3160 y(sion)27 b(2.7.2,)f(w)n(esen)n(tlic)n(he)h +(Generierungsw)n(erkzeuge)d(wie)j(mak)n(e)145 3326 y +Fb(\210)41 b Fk(Zeitgenauigk)n(eit)26 b(b)r(ew)n(ahren,)g(n)n(tp)r +(date)i(o)r(der)f(xn)n(tp)r(d\(NTP\))145 3493 y Fb(\210)41 +b Fk(P)n(erl)27 b(5\(optional\),)g(V)-7 b(ersion)27 b(ab)g(5.003)f(h)n +(ttp://www.p)r(erl.com/)145 3660 y Fb(\210)41 b Fk +(PureFTPd\(optional\),)28 b(V)-7 b(ersion)27 b(ab)g(5.003)f(h)n +(ttp://www.p)r(erl.com/)20 3797 y +SDict begin H.S end + 20 3797 a 20 3797 a +SDict begin 12 H.A end + +20 3797 a 20 3797 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.2.2) cvn /DEST pdfmark +end + 20 3797 a 96 x Fi(9.2.2.)57 b(V)m(o)m(rb)s +(ereitungen)20 4046 y Fd(su)1655 b(als)42 b(root)g(anmelden)20 +4146 y(mkdir)g(/usr/local/src)865 b(das)42 b(Verzeichnis)d +(/usr/local/src)f(anlegen,)1763 4245 y(wenn)k(es)h(noch)f(nicht)f +(vorhanden)f(ist)20 4345 y(chmod)i(777)g(/usr/local/src)691 +b(Verzeichnis-Rech)o(te)37 b(setzen)20 4445 y(ln)43 b(-s)g +(/usr/include/gd)o(bm)o(-n)o(dbm)o(.h)37 b(/usr/include/ndb)o(m.)o(h) +1763 4544 y(Link)42 b(zu)h(ndbm.h)20 4644 y(exit)1567 +b(root)42 b(abmelden)20 4744 y(cp)h(Quelldateien)38 b(/usr/local/src) +430 b(Quelldateien)39 b(kopieren)3037 5092 y Fk(73)p +eop end +%%Page: 74 74 +TeXDict begin 74 73 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.74) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(9.)41 +b(Apac)n(he)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 +277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.2.3) cvn /DEST pdfmark +end + 640 277 a 83 x Fi(9.2.3.)57 b(Op)s(enSSL)640 523 +y Fd(cd)43 b(/usr/local/src)996 b(Verzeichnis)39 b(wechseln)640 +623 y(tar)j(xvfz)g(openssl-0.9.7d.ta)o(r.)o(gz)429 b(Quelldateien)39 +b(entpacken)640 723 y(cd)k(openssl-0.9.7d)996 b(in)43 +b(das)f(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)640 +822 y(./config)j(--help)1087 b(Hilfe)42 b(zu)g(den)h(m\366glichen)c +(Optionen)640 922 y(./config)h(--prefix=/usr/loc)o(al)o(/o)o(pen)o(ss)o +(l/)o(0.9)o(.7)o(d)2383 1022 y(Codebaum)g(konfigurieren)e(und)2383 +1121 y(Installations-Ve)o(rze)o(ic)o(hn)o(is)f(angeben)640 +1221 y(make)1567 b(Programm)40 b(herstellen)640 1320 +y(make)i(test)1349 b(Programm)40 b(testen)640 1420 y(su)1655 +b(als)42 b(root)g(anmelden)640 1520 y(make)g(install)1217 +b(Programm)40 b(installieren)640 1619 y(ln)j(-s)g(/usr/local/open)o(ss) +o(l/0)o(.9)o(.7)o(d)38 b(/usr/local/open)o(ss)o(l/c)o(ur)o(re)o(nt)2383 +1719 y(Link)k(zu)h(OpenSSL)640 1819 y(exit)1567 b(root)42 +b(abmelden)640 1958 y +SDict begin H.S end + 640 1958 a 640 1958 a +SDict begin 12 H.A end + 640 1958 +a 640 1958 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.2.4) cvn /DEST pdfmark +end + 640 1958 a 122 x Fi(9.2.4.)57 b(Apache)36 +b(1.3)h(und)f(SSL)640 2243 y Fd(cd)43 b(/usr/local/src)996 +b(Verzeichnis)39 b(wechseln)640 2343 y(tar)j(xvfz)g(apache_1.3.31.tar)o +(.g)o(z)473 b(Quelldateien)39 b(entpacken)640 2443 y(tar)j(xvfz)g +(mod_ssl-2.8.19-1.)o(3.)o(31)o(.ta)o(r.)o(gz)124 b(Quelldateien)39 +b(entpacken)640 2542 y(cd)k(apache_1.3.31)1040 b(in)43 +b(das)f(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)640 +2642 y(./configure)i(--help)956 b(Hilfe)42 b(zu)g(den)h(m\366glichen)c +(Optionen)640 2741 y(cd)k(../mod_ssl-2.8.1)o(9-)o(1.)o(3.3)o(1)640 +2841 y(./configure)c(--help)956 b(Hilfe)42 b(zu)g(den)h(m\366glichen)c +(Optionen)640 2941 y(./configure)g(--with-apache=..)o(/a)o(pac)o(he)o +(_1)o(.3.)o(31)1163 3040 y(--with-ssl=../op)o(en)o(ssl)o(-0)o(.9)o(.7d) +1163 3140 y(--prefix=/usr/lo)o(ca)o(l/a)o(pa)o(ch)o(e/1)o(.3)o(.3)o(1) +1163 3240 y(--datadir=/srv/w)o(ww)1163 3339 y(--enable-module=)o(mo)o +(st)1163 3439 y(--enable-shared=)o(ma)o(x)1163 3538 y(--enable-module=) +o(ss)o(l)640 3638 y(cd)k(../apache_1.3.31)908 b(in)43 +b(das)f(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)640 +3738 y(make)1567 b(Programm)40 b(herstellen)640 3837 +y(make)i(certificate)d(TYPE=custom)518 b(Zertifikat)40 +b(erzeugen)640 3995 y +SDict begin H.S end + 640 3995 a 640 3995 a +SDict begin 12 H.A end + 640 3995 +a 640 3995 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.3) cvn /DEST pdfmark +end + 640 3995 a 640 4082 a +SDict begin H.S end + 640 4082 a 640 4082 +a +SDict begin 12 H.A end + 640 4082 a 640 4082 a +SDict begin [/View [/XYZ H.V]/Dest (section*.2) cvn /DEST pdfmark end + 640 4082 a Fj(Angab)s(en)28 b(zu)i(der)g +(Certi\034cate)g(Autho)m(rit)m(y)640 4245 y Fd(Signature)40 +b(Algorithm)g(\(\(R\)SA)h(or)h(\(D\)SA\))f([R]:R)640 +4345 y(1.)i(Country)d(Name)565 b(\(2)43 b(letter)e(code\))g([XY]:DE)640 +4445 y(2.)i(State)e(or)i(Province)d(Name)129 b(\(full)42 +b(name\))215 b([Snake)42 b(Desert]:Nieders)o(ac)o(hs)o(en)640 +4544 y(3.)h(Locality)d(Name)521 b(\(eg,)42 b(city\))259 +b([Snake)42 b(Town]:Salzgitte)o(r)640 4644 y(4.)h(Organization)38 +b(Name)347 b(\(eg,)42 b(company\))127 b([Snake)42 b(Oil,)f(Ltd]:Komtek) +640 4744 y(5.)i(Organizational)38 b(Unit)j(Name)h(\(eg,)g(section\))127 +b([Certificate)39 b(Authority]:CA)640 5092 y Fk(74)p +eop end +%%Page: 75 75 +TeXDict begin 75 74 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.75) cvn /DEST pdfmark end + 12 -5 a 1911 128 a Fh(9.2.)41 b(K)n(ompilieren)26 +b(und)i(Installieren)20 360 y Fd(6.)43 b(Common)e(Name)608 +b(\(eg,)42 b(CA)h(name\))128 b([Snake)41 b(Oil)i(CA]:Komtek)c(CA)20 +460 y(7.)k(Email)e(Address)520 b(\(eg,)42 b(name@FQDN\))d +([ca@snakeoil.dom])o(:c)o(a@k)o(om)o(te)o(k.d)o(e)20 +559 y(8.)k(Certificate)c(Validity)214 b(\(days\))433 +b([365]:365)20 659 y(Certificate)39 b(Version)i(\(1)h(or)h(3\))g([3]:3) +20 860 y +SDict begin H.S end + 20 860 a 20 860 a +SDict begin 12 H.A end + 20 860 a 20 860 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.5) cvn /DEST pdfmark +end + 20 860 a +20 970 a +SDict begin H.S end + 20 970 a 20 970 a +SDict begin 12 H.A end + 20 970 a 20 970 a +SDict begin [/View [/XYZ H.V]/Dest (section*.4) cvn /DEST pdfmark end + 20 970 a +Fj(Angab)s(en)28 b(zum)i(Serverzerti\034k)m(at)20 1157 +y Fd(1.)43 b(Country)d(Name)565 b(\(2)43 b(letter)e(code\))g([XY]:DE)20 +1257 y(2.)i(State)e(or)i(Province)d(Name)129 b(\(full)42 +b(name\))215 b([Snake)41 b(Desert]:Niedersac)o(hs)o(en)20 +1356 y(3.)i(Locality)d(Name)521 b(\(eg,)42 b(city\))259 +b([Snake)41 b(Town]:Salzgitter)20 1456 y(4.)i(Organization)38 +b(Name)347 b(\(eg,)42 b(company\))127 b([Snake)41 b(Oil,)h(Ltd]:Komtek) +20 1556 y(5.)h(Organizational)37 b(Unit)42 b(Name)g(\(eg,)g(section\)) +127 b([Webserver)40 b(Team]:Webmaster)20 1655 y(6.)j(Common)e(Name)608 +b(\(eg,)42 b(FQDN\))259 b([www.snakeoil.dom)o(]:)o(www)o(.k)o(om)o(tek) +o(.d)o(e)20 1755 y(7.)43 b(Email)e(Address)520 b(\(eg,)42 +b(name@fqdn\))d([www@snakeoil.dom)o(]:)o(www)o(@w)o(ww)o(.ko)o(mt)o(ek) +o(.de)20 1854 y(8.)k(Certificate)c(Validity)214 b(\(days\))433 +b([365]:365)20 1954 y(Certificate)39 b(Version)i(\(1)h(or)h(3\))g +([3]:3)20 2155 y +SDict begin H.S end + 20 2155 a 20 2155 a +SDict begin 12 H.A end + 20 2155 a 20 2155 +a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.7) cvn /DEST pdfmark +end + 20 2155 a 20 2265 a +SDict begin H.S end + 20 2265 a 20 2265 a +SDict begin 12 H.A end + 20 2265 a 20 +2265 a +SDict begin [/View [/XYZ H.V]/Dest (section*.6) cvn /DEST pdfmark end + 20 2265 a Fj(Schl\374ssel)30 b(verschl\374sseln)20 +2452 y Fd(Encrypt)41 b(the)h(private)f(key)h(now?)g([Y/n]:)f(n)20 +2552 y(Encrypt)g(the)h(private)f(key)h(now?)g([Y/n]:)f(n)20 +2751 y(su)1655 b(als)42 b(root)g(anmelden)20 2851 y(make)g(install)20 +2950 y(groupadd)e(wwwadmin)999 b(Gruppe)41 b(wwwadmin)f(anlegen)20 +3050 y(chown)i(-R)g(nobody:wwwadmin)37 b(/srv/www)302 +b(Rechte)41 b(f\374r)h(das)h(www-Verzeichnis)37 b(setzen)20 +3150 y(ln)43 b(-s)g(/usr/local/apac)o(he)o(/1)o(.3.)o(31)37 +b(/usr/local/apach)o(e/)o(cu)o(rre)o(nt)1763 3249 y(Link)42 +b(zu)h(Apache)e(1.3)20 3349 y(ln)i(-s)g(/usr/local/apac)o(he)o(/c)o +(urr)o(en)o(t/c)o(on)o(f)37 b(/etc/apache)1763 3448 y(Link)42 +b(zu)h(den)f(Konfigurationen)20 3548 y(ln)h(-s)g(/usr/local/apac)o(he)o +(/c)o(urr)o(en)o(t/l)o(og)o(s)37 b(/var/log/apache)1763 +3648 y(Link)42 b(zu)h(den)f(Logdateien)20 3747 y(ln)h(-s)g +(/usr/local/apac)o(he)o(/c)o(urr)o(en)o(t/b)o(in)o(/a)o(pac)o(he)o(ct)o +(l)38 b(/usr/local/bin)1763 3847 y(Link)k(zu)h(apachectl)20 +3947 y(ln)g(-s)g(/usr/local/apac)o(he)o(/c)o(urr)o(en)o(t/b)o(in)o(/a)o +(pac)o(he)o(ct)o(l)38 b(/etc/init.d/apa)o(ch)o(e)1763 +4046 y(Link)k(zu)h(den)f(Startdateien)20 4146 y(cd)h(/etc/rc5.d)1172 +b(in)43 b(den)f(Start-Runlevel)c(wechseln)20 4245 y(ln)43 +b(-s)g(../init.d/apach)o(e)37 b(S20apache)345 b(Link)42 +b(zum)g(automatischen)c(Starten)20 4345 y(cd)43 b(../rc0.d)1260 +b(in)43 b(den)f(Stopp-Runlevel)c(wechseln)20 4445 y(ln)43 +b(-s)g(../init.d/apach)o(e)37 b(K20apache)345 b(Link)42 +b(zum)g(automatischen)c(Beenden)20 4544 y(cd)43 b(../rc6.d)1260 +b(in)43 b(den)f(Start-Runlevel)c(wechseln)20 4644 y(ln)43 +b(-s)g(../init.d/apach)o(e)37 b(K20apache)345 b(Link)42 +b(zum)g(automatischen)c(Beenden)20 4744 y(exit)1567 b(root)42 +b(abmelden)3037 5092 y Fk(75)p eop end +%%Page: 76 76 +TeXDict begin 76 75 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.76) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(9.)41 +b(Apac)n(he)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 +277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.2.5) cvn /DEST pdfmark +end + 640 277 a 83 x Fi(9.2.5.)57 b(Apache2)640 546 y +Fd(cd)43 b(/usr/local/src)996 b(Verzeichnis)39 b(wechseln)640 +646 y(tar)j(xvfz)g(httpd-2.0.51.tar.)o(gz)516 b(Quelldateien)39 +b(entpacken)640 745 y(cd)k(httpd-2.0.51)1084 b(in)43 +b(das)f(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)640 +845 y(./configure)i(--help)956 b(Hilfe)42 b(zu)g(den)h(m\366glichen)c +(Optionen)640 944 y(./configure)g(--prefix=/usr/lo)o(ca)o(l/a)o(pa)o +(ch)o(e2/)o(2.)o(0.)o(51)1163 1044 y(--with-ssl=../op)o(en)o(ssl)o(-0)o +(.9)o(.7d)1163 1144 y(--datadir=/srv/w)o(ww)o(2)1163 +1243 y(--enable-module=)o(mo)o(st)1163 1343 y(--enable-shared=)o(ma)o +(x)1163 1443 y(--enable-module=)o(ss)o(l)1163 1542 y(--with-port=81)604 +b(da)43 b(auf)f(80)h(schon)e(der)i(Apache)e(1.3)h(l\344uft)640 +1642 y(make)1567 b(Programm)40 b(herstellen)640 1741 +y(su)1655 b(als)42 b(root)g(anmelden)640 1841 y(make)g(install)1217 +b(Programm)40 b(installieren)f(\(als)j(root!\))640 1941 +y(groupadd)e(wwwadmin)999 b(Gruppe)41 b(wwwadmin)f(anlegen)640 +2040 y(chown)i(-R)g(nobody:wwwadmin)c(/srv/www2)257 b(Rechte)41 +b(f\374r)i(das)f(www-Verzeichnis)37 b(setzen)640 2140 +y(ln)43 b(-s)g(/usr/local/apac)o(he)o(2/2)o(.0)o(.5)o(1)38 +b(/usr/local/apac)o(he)o(2/c)o(ur)o(re)o(nt)2383 2240 +y(Link)k(zu)h(Apache)e(2)640 2339 y(ln)i(-s)g(/usr/local/apac)o(he)o +(2/c)o(ur)o(re)o(nt/)o(co)o(nf)37 b(/etc/apache2)2383 +2439 y(Link)42 b(zu)h(den)f(Konfigurationen)640 2538 +y(ln)h(-s)g(/usr/local/apac)o(he)o(2/c)o(ur)o(re)o(nt/)o(lo)o(gs)37 +b(/var/log/apache2)2383 2638 y(Link)42 b(zu)h(den)f(Logdateien)640 +2738 y(ln)h(-s)g(/usr/local/apac)o(he)o(2/c)o(ur)o(re)o(nt/)o(bi)o(n/)o +(apa)o(ch)o(ec)o(tl)37 b(/usr/local/bin/a)o(pac)o(he)o(ct)o(l2)2383 +2837 y(Link)42 b(zu)h(apachectl)640 2937 y(ln)g(-s)g(/usr/local/apac)o +(he)o(2/c)o(ur)o(re)o(nt/)o(bi)o(n/)o(apa)o(ch)o(ec)o(tl)37 +b(/etc/init.d/apac)o(he2)2383 3037 y(Link)42 b(zu)h(den)f(Startdateien) +640 3136 y(cd)h(/etc/rc5.d)1172 b(in)43 b(den)f(Start-Runlevel)c +(wechseln)640 3236 y(ln)43 b(-s)g(../init.d/apach)o(e2)37 +b(S20apache2)257 b(Link)42 b(zum)g(automatischen)c(Starten)640 +3335 y(cd)43 b(../rc0.d)1260 b(in)43 b(den)f(Stopp-Runlevel)c(wechseln) +640 3435 y(ln)43 b(-s)g(../init.d/apach)o(e2)37 b(K20apache2)257 +b(Link)42 b(zum)g(automatischen)c(Beenden)640 3535 y(cd)43 +b(../rc6.d)1260 b(in)43 b(den)f(Start-Runlevel)c(wechseln)640 +3634 y(ln)43 b(-s)g(../init.d/apach)o(e2)37 b(K20apache2)257 +b(Link)42 b(zum)g(automatischen)c(Beenden)640 3734 y(exit)1567 +b(root)42 b(abmelden)640 3926 y +SDict begin H.S end + 640 3926 a 640 3926 a +SDict begin 12 H.A end + +640 3926 a 640 3926 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.2.6) cvn /DEST pdfmark +end + 640 3926 a 134 x Fi(9.2.6.)57 b(T)-9 +b(esten)640 4245 y Fd(/etc/init.d/apac)o(he)37 b(start)695 +b(Apache1.3)40 b(starten)640 4345 y(/etc/init.d/apac)o(he2)d(start)651 +b(Apache2)41 b(starten)640 4445 y(Browser)g(http://localhos)o(t/)647 +b(Apache1.3)40 b(testen)640 4544 y(Browser)h(http://localhos)o(t:8)o +(1/)516 b(Apache2)41 b(testen)640 4644 y(/etc/init.d/apac)o(he)c(stop) +739 b(Apache1.3)40 b(beenden)640 4744 y(/etc/init.d/apac)o(he2)d(stop) +695 b(Apache2)41 b(beenden)640 5092 y Fk(76)p eop end +%%Page: 77 77 +TeXDict begin 77 76 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.77) cvn /DEST pdfmark end + 12 -5 a 1911 128 a Fh(9.2.)41 b(K)n(ompilieren)26 +b(und)i(Installieren)20 277 y +SDict begin H.S end + 20 277 a 20 277 a +SDict begin 12 H.A end + 20 277 +a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.2.7) cvn /DEST pdfmark +end + 20 277 a 83 x Fi(9.2.7.)57 b(Upgrade)20 525 +y Fd(./config.nice)1171 b(aus)42 b(der)h(letzten)d(Installation)f +(entnehmen,)1763 625 y(Apache2)20 788 y +SDict begin H.S end + 20 788 a 20 788 +a +SDict begin 12 H.A end + 20 788 a 20 788 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.2.8) cvn /DEST pdfmark +end + 20 788 a 104 x Fi(9.2.8.)57 b(PureFTPd)20 +1057 y Fd(cd)43 b(/usr/local/src)996 b(Verzeichnis)39 +b(wechseln)20 1157 y(tar)j(xvfz)g(pure-ftpd-1.0.20)o(.ta)o(r.)o(gz)342 +b(Quelldateien)39 b(entpacken)20 1257 y(cd)k(pure-ftpd-1.0.2)o(0)909 +b(Verzeichnis)39 b(wechseln)20 1356 y(./configure)g(--prefix=/usr/lo)o +(ca)o(l/p)o(ur)o(e-)o(ftp)o(d/)o(1.)o(0.2)o(0)e(--with-language=g)o(er) +o(ma)o(n)1763 1456 y(Makefile)j(herstellen)20 1556 y(make)1567 +b(Programm)40 b(herstellen)20 1655 y(make)i(check)1305 +b(Programm)40 b(pr\374fen)20 1755 y(su)1655 b(als)42 +b(root)g(anmelden)20 1854 y(make)g(install)1217 b(Programm)40 +b(installieren)20 1954 y(ln)j(-s)g(/usr/local/pure)o(-f)o(tp)o(d/1)o +(.0)o(.20)37 b(/usr/local/pure)o(-f)o(tpd)o(/c)o(ur)o(ren)o(t)1763 +2054 y(Link)42 b(zu)h(pure-ftpd)20 2153 y(mkdir)f(/usr/local/pure)o(-f) +o(tp)o(d/c)o(ur)o(ren)o(t/)o(et)o(c)81 b(Verzeichnis)39 +b(etc)j(anlegen)20 2253 y(cp)h(configuration-f)o(ile)o(/p)o(ur)o(e-f)o +(tp)o(d.c)o(on)o(f)37 b(/usr/local/pure-f)o(tp)o(d/)o(cur)o(re)o(nt/)o +(et)o(c)1763 2353 y(Konfiguration)h(kopieren)20 2452 +y(cp)43 b(pureftpd-*.conf)37 b(/usr/local/pure-)o(ft)o(pd/)o(cu)o(rr)o +(ent)o(/e)o(tc)1763 2552 y(Konfigurationen)g(kopieren)20 +2651 y(ln)43 b(-s)g(/usr/local/pure)o(-f)o(tp)o(d/c)o(ur)o(ren)o(t/)o +(et)o(c)38 b(/etc/pure-ftpd)1763 2751 y(Link)k(zu)h(den)f +(Konfigurationen)20 2950 y(vi)h(/etc/init.d/pur)o(e-f)o(tp)o(d)691 +b(Startdatei)39 b(f\374r)k(pure-ftpd)d(anlegen)64 3050 +y(#!/bin/bash)64 3150 y(case)i("$1")f(in)107 3249 y(start\))151 +3349 y(echo)h("pureftpd)d(wird)j(gestartet)e(...")151 +3448 y(cd)j(/usr/local/pure)o(-f)o(tp)o(d/c)o(ur)o(ren)o(t)151 +3548 y(./sbin/pure-ftp)o(d)38 b(&)107 3648 y(;;)107 3747 +y(stop\))151 3847 y(echo)k("pureftpd)d(wird)j(heruntergefahren)37 +b(...")151 3947 y(kill)42 b(-TERM)f(`cat)h(/var/run/pure-ft)o(pd)o(.pi) +o(d`)107 4046 y(;;)107 4146 y(*\))107 4245 y(echo)g("Usage:)f($0)h +({start|stop}")151 4345 y(exit)g(1)107 4445 y(;;)64 4544 +y(esac)64 4644 y(exit)g(0)3037 5092 y Fk(77)p eop end +%%Page: 78 78 +TeXDict begin 78 77 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.78) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(9.)41 +b(Apac)n(he)640 360 y Fd(chmod)h(755)g(/etc/init.d/pure)o(-f)o(tp)o(d) +386 b(Rechte)41 b(setzen)640 460 y(cd)i(/etc/rc5.d)1172 +b(Verzechnis)40 b(wechseln)640 559 y(ln)j(-s)g(../init.d/pure-)o(ft)o +(pd)37 b(S20pure-ftpd)82 b(Link)42 b(zum)g(automatischen)c(Starten)640 +659 y(cd)43 b(/etc/rc0.d)1172 b(Verzechnis)40 b(wechseln)640 +758 y(ln)j(-s)g(../init.d/pure-)o(ft)o(pd)37 b(K20pure-ftpd)82 +b(Link)42 b(zum)g(automatischen)c(Beenden)640 858 y(cd)43 +b(/etc/rc6.d)1172 b(Verzechnis)40 b(wechseln)640 958 +y(ln)j(-s)g(../init.d/pure-)o(ft)o(pd)37 b(K20pure-ftpd)82 +b(Link)42 b(zum)g(automatischen)c(Beenden)640 1057 y(useradd)j(-g)h +(wwwadmin)f(-d)h(/srv)g(-s)h(/bin/false)c(wwwadmin)2383 +1157 y(Benutzer)h(wwwadmin)h(anlegen)640 1257 y(passwd)g(wwwadmin)1086 +b(Passwort)40 b(setzen)640 1456 y(NoAnonymous)736 b(yes)640 +1556 y(UnixAuthenticati)o(on)429 b(yes)640 1655 y(MinUID)956 +b(1000)640 1755 y(MinUID)g(1000)640 1854 y(TrustedGID)780 +b(1002)640 2153 y(exit)1567 b(root)42 b(abmelden)640 +2281 y +SDict begin H.S end + 640 2281 a 640 2281 a +SDict begin 12 H.A end + 640 2281 a 640 2281 a +SDict begin [/View [/XYZ H.V]/Dest (section.9.3) cvn /DEST pdfmark +end + 640 +2281 a 150 x Fe(9.3.)68 b(Apache)45 b(sta)l(rten)640 +2537 y +SDict begin H.S end + 640 2537 a 640 2537 a +SDict begin 12 H.A end + 640 2537 a 640 2537 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.3.1) cvn /DEST pdfmark +end + 640 +2537 a 94 x Fi(9.3.1.)57 b(Apache)36 b(sta)m(rten)640 +2786 y Fk(Un)n(ter)28 b(UNIX/Lin)n(ux)f(wird)g(das)g(h)n(ttp)r +(d-Progamm)g(als)g(Daemon)h(ausgef\374hrt.)640 2972 y +Fd(apachectl)40 b(start)739 b(Apache)41 b(starten)640 +3071 y(rcapache)f(start)783 b(Apache)41 b(starten\(SuSE-Li)o(nu)o(x\)) +640 3209 y +SDict begin H.S end + 640 3209 a 640 3209 a +SDict begin 12 H.A end + 640 3209 a 640 3209 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.3.2) cvn /DEST pdfmark +end + 640 3209 a 99 x Fi(9.3.2.)57 b(Wie)37 b(der)g(Apache)f(sta)m(rtet)765 +3462 y Fb(\210)41 b Fk(apac)n(hectl)26 b(ist)i(die)g(empfohlene)g +(Metho)r(de,)f(das)g(h)n(ttp)r(d-Programm)g(zu)h(starten)765 +3631 y Fb(\210)41 b Fk(apac)n(hectl)17 b(setzt)i(v)n(ersc)n(hiedene)d +(Umgebungsv)-5 b(ariablen)17 b(und)i(startet)f(das)g(h)n(ttp)r +(d-Programm)765 3800 y Fb(\210)41 b Fk(apac)n(hectl)26 +b(reic)n(h)n(t)h(alle)g(K)n(ommandozeilenargumen)n(te)e(durc)n(h)765 +3969 y Fb(\210)41 b Fk(als)28 b(erstes)g(liest)g(der)h(h)n(ttp)r(d)g +(die)g(K)n(on\034gurationsdatei)d(h)n(ttp)r(d.conf)k(ein,)f(die)g(b)r +(eim)g(K)n(om-)848 4068 y(pilieren)e(festgelegt)g(wurde)765 +4237 y Fb(\210)41 b Fk(zur)18 b(Laufzeit)g(k)-5 b(ann)18 +b(der)g(Ablageort)f(ge\344ndert)h(w)n(erden,)f(z.B.)i(apac)n(hectl)e +(-f)h(/etc/apac)n(he2/h)n(ttp)r(d.conf)765 4406 y Fb(\210)41 +b Fk(b)r(eim)28 b(erfolgreicehn)e(Start,)h(trenn)n(t)h(sic)n(h)f(der)g +(Serv)n(er)f(v)n(om)h(T)-7 b(erminal)27 b(ab)765 4575 +y Fb(\210)41 b Fk(bis)27 b(zum)h(P)n(ort)f(1024)f(m)n(uss)h(der)g(Apac) +n(he)g(ro)r(ot-Berec)n(h)n(tigung)e(b)r(esitzen)765 4744 +y Fb(\210)41 b Fk(der)27 b(Haupt-h)n(ttp)r(d-Prozess)g(l\344uft)h(un)n +(ter)f(dem)h(Ben)n(utzer)f(ro)r(ot)f(w)n(eiter)640 5092 +y(78)p eop end +%%Page: 79 79 +TeXDict begin 79 78 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.79) cvn /DEST pdfmark end + 12 -5 a 2400 128 a Fh(9.3.)41 b(Apac)n(he)27 +b(starten)145 360 y Fb(\210)41 b Fk(ist)27 b(der)h(Serv)n(er)e +(gestartet,)g(\366\033net)i(er)f(seine)h(Log-Dateien)145 +554 y Fb(\210)41 b Fk(der)27 b(Apac)n(he)g(startet)g(mehrere)g +(Kind-Prozesse)145 749 y Fb(\210)41 b Fk(die)30 b(Kind-Prozesse)f(w)n +(erden)h(un)n(ter)h(w)n(eniger)e(privilegierten)g(Ben)n(utzerk)n(enn)n +(ungen)g(aus-)228 848 y(gef\374hrt\(z.B.)e(nob)r(o)r(dy)-7 +b(,)28 b(wwwrun)f(...\))145 1042 y Fb(\210)41 b Fk(die)27 +b(Kind-Prozesse)f(lausc)n(hen)h(und)h(b)r(ean)n(t)n(w)n(orten)e +(Anfragen)h(v)n(on)g(Clien)n(ts)145 1237 y Fb(\210)41 +b Fk(die)18 b(Kind-Prozesse)f(w)n(erden)g(v)n(on)h(dem)h(ausgew)n +(\344hlten)d(Multi-Pro)r(cessing-Mo)r(dul\(Apac)n(he-)228 +1336 y(MPM)28 b(prefork)e(UNIX/Lin)n(ux\))i(gesteuert)20 +1504 y +SDict begin H.S end + 20 1504 a 20 1504 a +SDict begin 12 H.A end + 20 1504 a 20 1504 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.3.3) cvn /DEST pdfmark +end + 20 1504 +a 102 x Fi(9.3.3.)57 b(F)m(ehler)36 b(w)m(\344hrend)g(des)h(Ho)s +(chfahrens)145 1772 y Fb(\210)k Fk(wird)23 b(w)n(\344hrend)f(des)h(Ho)r +(c)n(hfahrens)f(einen)i(sc)n(h)n(w)n(erer)c(F)-7 b(ehler)24 +b(feststellt,)f(sc)n(hreibt)g(der)g(Apa-)228 1872 y(c)n(he)d(eine)h +(Nac)n(hric)n(h)n(t)e(auf)i(die)g(K)n(onsole)d(o)r(der)i(ins)h +(ErrorLog,)d(b)r(ev)n(or)i(er)g(sic)n(h)g(selbst)h(b)r(eendet)145 +2066 y Fb(\210)41 b Fk(eine)30 b(der)f(h\344u\034gsten)h(F)-7 +b(ehlermeldungen)30 b(ist)g(\334nable)g(to)g(bind)g(to)g(P)n(ort)g +(...",)f(der)h(Serv)n(er)228 2166 y(l\344uft)e(sc)n(hon)e(o)r(der)h +(hat)h(k)n(eine)f(ro)r(ot-Berec)n(h)n(tigung)20 2329 +y +SDict begin H.S end + 20 2329 a 20 2329 a +SDict begin 12 H.A end + 20 2329 a 20 2329 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.3.4) cvn /DEST pdfmark +end + 20 2329 a 107 +x Fi(9.3.4.)57 b(Automatisch)36 b(sta)m(rten)h(und)g(b)s(eenden)145 +2602 y Fb(\210)k Fk(apac)n(hectl)20 b(zu)i(den)g(Startdateien)f(des)h +(Systems)f(hinzuf\374gen)h(\(rc.lo)r(cal,)f(rc.x-V)-7 +b(erzeic)n(hnis\))107 2813 y Fd(z.B.)42 b(SuSE-Linux:)194 +2913 y(cd)h(/etc/rc.d/rc3.d/)194 3012 y(ln)g(-s)g(../apache)d +(S16apache)475 b(Link)42 b(zum)g(automatischen)c(Starten)1763 +3112 y(in)43 b(Runlevel)d(3)j(anlegen)194 3212 y(ln)g(-s)g(../apache)d +(K06apache)475 b(Link)42 b(zum)g(automatischen)c(Beenden)1763 +3311 y(in)43 b(Runlevel)d(3)j(anlegen)107 3411 y(z.B.)f(Debian:)194 +3510 y(cd)h(/etc/rc3.d/)194 3610 y(ln)g(-s)g(../init.d/apach)o(e2)37 +b(S20apachectl)1066 3710 y(Link)42 b(zum)g(automatischen)c(Starten)j +(in)h(Runlevel)f(5)i(anlegen)194 3809 y(cd)g(/etc/rc0.d/)194 +3909 y(ln)g(-s)g(../init.d/apach)o(e2)37 b(K20apachectl)1066 +4009 y(Link)42 b(zum)g(automatischen)c(Beenden)j(in)h(Runlevel)f(0)i +(anlegen)20 4173 y +SDict begin H.S end + 20 4173 a 20 4173 a +SDict begin 12 H.A end + 20 4173 a 20 4173 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.3.5) cvn /DEST pdfmark +end + 20 4173 a 105 x Fi(9.3.5.)57 b(W)m(eitere)37 b(Info)m(rmationen)20 +4445 y Fd(http://localhost)o(/m)o(anu)o(al)o(/p)o(rog)o(ra)o(ms/)o(ht)o +(tp)o(d.h)o(tm)o(l)20 4544 y(http://localhost)o(/m)o(anu)o(al)o(/d)o +(e/p)o(ro)o(gra)o(ms)o(/h)o(ttp)o(d.)o(ht)o(ml)20 4644 +y(http://localhost)o(/m)o(anu)o(al)o(/p)o(rog)o(ra)o(ms/)o(ap)o(ac)o +(hec)o(tl)o(.h)o(tml)20 4744 y(http://localhost)o(/m)o(anu)o(al)o(/d)o +(e/p)o(ro)o(gra)o(ms)o(/a)o(pac)o(he)o(ct)o(l.h)o(tm)o(l)3037 +5092 y Fk(79)p eop end +%%Page: 80 80 +TeXDict begin 80 79 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.80) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(9.)41 +b(Apac)n(he)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 +277 a +SDict begin [/View [/XYZ H.V]/Dest (section.9.4) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(9.4.)68 b(Beenden)44 b(und)g(Neusta)l(rten)640 +444 y +SDict begin H.S end + 640 444 a 640 444 a +SDict begin 12 H.A end + 640 444 a 640 444 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.4.1) cvn /DEST pdfmark +end + 640 444 +a 116 x Fi(9.4.1.)57 b(Einleitung)765 713 y Fb(\210)41 +b Fk(um)21 b(den)g(Apac)n(he)g(zu)g(stopp)r(en)g(o)r(der)f(neu)h(zu)g +(starten,)g(m)n(uss)f(ein)h(Signal)g(an)f(den)h(laufenden)848 +813 y(h)n(ttp)r(d-Prozess)27 b(gesendet)g(w)n(erden)765 +966 y Fb(\210)41 b Fk(es)27 b(gibt)h(zw)n(ei)f(M\366glic)n(hk)n(eiten)f +(Signale)h(zu)h(senden,)f(kill)h(und)g(apac)n(hectl)765 +1118 y Fb(\210)41 b Fk(auf)27 b(dem)h(System)g(laufen)g(mehrere)e(h)n +(ttp)r(d-Programme)765 1271 y Fb(\210)41 b Fk(n)n(ur)18 +b(an)g(den)g(Elternprozess)f(sollte)h(ein)h(Signal)f(gesendet)f(w)n +(erden,)h(/v)-5 b(ar/log/apac)n(he2/h)n(ttp)r(d.pid)765 +1424 y Fb(\210)41 b Fk(es)28 b(gibt)h(drei)f(Signale)g(die)h(an)g(den)g +(Elternprozess)e(gesendet)h(w)n(erden)g(k)n(\366nnen,)g(TERM)i(-)848 +1523 y(b)r(eenden,)e(HUP)h(-)e(neustarten,)g(USR1)h(-)f(un)n(terbrec)n +(h)n(ungsfreier)e(Neustart)765 1676 y Fb(\210)41 b Fk(es)27 +b(wird)g(empfohlen)h(apac)n(hectl)f(zu)g(b)r(en)n(utzen)765 +1829 y Fb(\210)41 b Fk(mit)29 b(tail)g(-f)g(/v)-5 b(ar/log/apac)n +(he2/err)o(or)o(_lo)o(g")o(k)g(ann)23 b(die)29 b(Signalisierung)f(b)r +(eobac)n(h)n(tet)g(w)n(er-)848 1929 y(den)640 2039 y +SDict begin H.S end + +640 2039 a 640 2039 a +SDict begin 12 H.A end + 640 2039 a 640 2039 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.4.2) cvn /DEST pdfmark +end + 640 2039 +a 116 x Fi(9.4.2.)57 b(Beenden)640 2308 y Fd(Signal:)41 +b(TERM)640 2508 y(apachectl)f(stop)1480 b(sendet)41 b(das)h +(TERM\(stop\))d(signal)j(an)2732 2607 y(den)g(Elternprozess)640 +2707 y(rcapache)e(stop)1524 b(Apache)41 b(stoppen)2732 +2807 y(bei)h(SuSE-Linux)640 2906 y(kill)g(-TERM)f(`cat)h +(/var/log/apache2/)o(ht)o(tp)o(d.p)o(id)o(`)212 b(sendet)41 +b(das)h(TERM\(stop\))d(signal)j(an)2732 3006 y(den)g(Elternprozess)765 +3155 y Fb(\210)f Fk(das)30 b(Senden)i(des)f(TERM\(stop\)-Signals)g(an)g +(den)g(Elternprozess)f(v)n(eranlasst)f(alle)i(seine)848 +3255 y(Kindprozesse)25 b(sic)n(h)j(zu)f(b)r(eenden)765 +3407 y Fb(\210)41 b Fk(es)27 b(dauert)g(et)n(w)n(as)f(bis)i(alle)f +(Kindprozesse)f(b)r(eendet)i(sind)765 3560 y Fb(\210)41 +b Fk(danac)n(h)26 b(b)r(eendet)j(sic)n(h)e(der)g(Elternprozess)765 +3713 y Fb(\210)41 b Fk(alle)27 b(gerade)f(b)r(earb)r(eiteten)i +(Anfragen)f(w)n(erden)f(abgebro)r(c)n(hen)765 3866 y +Fb(\210)41 b Fk(es)27 b(w)n(erden)g(k)n(eine)g(w)n(eiteren)g(Anfragen)g +(mehr)g(b)r(edien)n(t)640 3992 y +SDict begin H.S end + 640 3992 a 640 3992 +a +SDict begin 12 H.A end + 640 3992 a 640 3992 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.4.3) cvn /DEST pdfmark +end + 640 3992 a 100 x Fi(9.4.3.)57 +b(Unterb)m(rechungsfreier)35 b(Neusta)m(rt)640 4245 y +Fd(Signal:)41 b(USR1)640 4445 y(apachectl)f(graceful)1304 +b(sendet)41 b(das)h(USR1)g(signal)f(an)2732 4544 y(den)h(Elternprozess) +640 4644 y(kill)g(-USR1)f(`cat)h(/var/log/apache2/)o(ht)o(tp)o(d.p)o +(id)o(`)212 b(sendet)41 b(das)h(USR1)g(signal)f(an)2732 +4744 y(den)h(Elternprozess)640 5092 y Fk(80)p eop end +%%Page: 81 81 +TeXDict begin 81 80 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.81) cvn /DEST pdfmark end + 12 -5 a 2049 128 a Fh(9.4.)40 b(Beenden)28 +b(und)g(Neustarten)145 360 y Fb(\210)41 b Fk(das)32 b(Senden)i(des)f +(USR1-Signals)f(an)h(den)h(Elternprozess)e(v)n(eranlasst)f(alle)i +(seine)g(Kind-)228 460 y(prozesse)26 b(sic)n(h)h(zu)g(b)r(eenden)145 +639 y Fb(\210)41 b Fk(die)27 b(Kindprozesse)f(b)r(earb)r(eiten)i(no)r +(c)n(h)f(die)h(letzten)g(Anfragen)f(und)h(b)r(eenden)g(sic)n(h)f(dann) +145 819 y Fb(\210)41 b Fk(der)27 b(Elternprozess)f(liest,)h(w)n +(\344rend)g(die)g(Kindprozesse)f(no)r(c)n(h)h(laufen,)h(seine)f(K)n +(on\034gurati-)228 919 y(onsdateien)f(erneut)i(ein)g(und)g(\366\033net) +g(seine)f(Logdateien)f(neu)145 1098 y Fb(\210)41 b Fk(die)27 +b(Kindprozesse)f(w)n(erden)h(wieder)g(gestartet)145 1278 +y Fb(\210)41 b Fk(die)27 b(Serv)n(erstatistik)n(en\(mo)r(d_status\))f +(w)n(erden)h(nic)n(h)n(t)g(auf)h(Null)g(zur\374c)n(kgesetzt)145 +1457 y Fb(\210)41 b Fk(ist)25 b(die)g(K)n(on\034gurationsdatei)d +(fehlerhaft,)j(wird)g(der)f(Elternprozess)g(nic)n(h)n(t)h(neu)g +(gestartet)145 1637 y Fb(\210)41 b Fk(die)27 b(Kindprozesse)f(b)r(earb) +r(eiten)i(no)r(c)n(h)f(die)h(letzten)g(Anfragen)f(und)h(b)r(eenden)g +(sic)n(h)f(dann)145 1817 y Fb(\210)41 b Fk(w)n(\344red)17 +b(no)r(c)n(h)i(die)g(letzten)h(Anfragen)e(b)r(earb)r(eitet)h(w)n(erden) +f(k)-5 b(ann)19 b(der)g(h)n(ttp)r(d)h(nic)n(h)n(t)f(gestartet)228 +1916 y(w)n(erden)20 2047 y +SDict begin H.S end + 20 2047 a 20 2047 a +SDict begin 12 H.A end + 20 2047 +a 20 2047 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.4.4) cvn /DEST pdfmark +end + 20 2047 a 120 x Fi(9.4.4.)57 b(Neusta)m(rten)20 +2326 y Fd(Signal:)41 b(HUP)20 2526 y(apachectl)f(restart)1348 +b(sendet)41 b(das)h(HUP)g(signal)f(an)2112 2625 y(den)h(Elternprozess) +20 2725 y(rcapache)e(restart)1392 b(Apache)41 b(stoppen)f(und)j(dann)f +(starten)2112 2824 y(bei)g(SuSE-Linux)20 2924 y(kill)g(-HUP)g(`cat)g +(/var/log/apache)o(2/h)o(tt)o(pd)o(.pi)o(d`)255 b(sendet)41 +b(das)h(HUP)g(signal)f(an)2112 3024 y(den)h(Elternprozess)145 +3217 y Fb(\210)f Fk(das)33 b(Senden)i(des)f(HUP\(wie)h(TERM\)-Signals)f +(an)g(den)h(Elternprozess)e(v)n(eranlasst)f(alle)228 +3316 y(seine)27 b(Kindprozesse)f(sic)n(h)h(zu)h(b)r(eenden)145 +3496 y Fb(\210)41 b Fk(der)34 b(Elternprozess)g(liest)h(seine)f(K)n +(on\034gurationsdateien)f(erneut)h(ein)h(und)h(\366\033net)f(seine)228 +3595 y(Logdateien)26 b(neu)145 3775 y Fb(\210)41 b Fk(die)20 +b(Kindprozesse)e(w)n(erden)h(wieder)g(gestartet)g(und)i(setzen)f(die)g +(Bedien)n(ung)f(v)n(on)g(Zugri\033en)228 3875 y(fort)145 +4054 y Fb(\210)41 b Fk(die)27 b(Serv)n(erstatistik)n(en\(mo)r +(d_status\))f(w)n(erden)h(auf)g(Null)h(zur\374c)n(kgesetzt)145 +4234 y Fb(\210)41 b Fk(ist)25 b(die)g(K)n(on\034gurationsdatei)d +(fehlerhaft,)j(wird)g(der)f(Elternprozess)g(nic)n(h)n(t)h(neu)g +(gestartet)20 4381 y +SDict begin H.S end + 20 4381 a 20 4381 a +SDict begin 12 H.A end + 20 4381 a 20 +4381 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.4.5) cvn /DEST pdfmark +end + 20 4381 a 103 x Fi(9.4.5.)57 b(Anhang:)36 b(Syntax)i(\374b)s +(erp)m(r\374fen)20 4644 y Fd(apachectl)i(-t)522 b(\374berpr\374ft)40 +b(den)i(Syntax)f(der)h(Konfigurationsdat)o(ei)o(,)37 +b(so)43 b(kann)1066 4744 y(vermieden)d(werden)h(das)h(der)g(Apache)f +(nicht)h(neu)g(startet)3037 5092 y Fk(81)p eop end +%%Page: 82 82 +TeXDict begin 82 81 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.82) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(9.)41 +b(Apac)n(he)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 +277 a +SDict begin [/View [/XYZ H.V]/Dest (section.9.5) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(9.5.)68 b(Anhang)640 468 y +SDict begin H.S end + 640 +468 a 640 468 a +SDict begin 12 H.A end + 640 468 a 640 468 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.5.1) cvn /DEST pdfmark +end + 640 468 a 95 x Fi(9.5.1.)57 +b(Zu)37 b(den)g(Dateien)640 718 y Fd(/etc/apache/)640 +818 y(/etc/apache2/)640 917 y(/etc/httpd/)640 1017 y(/etc/httpd2/)1337 +1117 y(access.conf)562 b(Zugriffs-Konfigu)o(rat)o(io)o(n)1337 +1216 y(httpd.conf)606 b(Apache)41 b(Konfigurationsda)o(tei)1337 +1316 y(mime.types)606 b(Zuweisung)40 b(von)i(Dateiendungen)1337 +1416 y(srm.conf)694 b(Resource-Konfigu)o(rat)o(io)o(n)640 +1615 y(/var/log/apache/)640 1715 y(/var/log/apach2/)640 +1814 y(/var/log/httpd/)640 1914 y(/var/log/httpd2/)1337 +2013 y(access_log)606 b(Zugriffsmeldunge)o(n)1337 2113 +y(error_log)650 b(Fehlermeldungen)1337 2213 y(httpd.pid)g +(Hauptprozessnumm)o(er)640 2362 y +SDict begin H.S end + 640 2362 a 640 2362 +a +SDict begin 12 H.A end + 640 2362 a 640 2362 a +SDict begin [/View [/XYZ H.V]/Dest (section.9.6) cvn /DEST pdfmark +end + 640 2362 a 132 x Fe(9.6.)68 b(Benutzerhandbuch) +640 2577 y +SDict begin H.S end + 640 2577 a 640 2577 a +SDict begin 12 H.A end + 640 2577 a 640 2577 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.6.1) cvn /DEST pdfmark +end + 640 2577 a 118 x Fi(9.6.1.)57 b(http)s(d.conf)640 2851 +y Fd(ServerType)39 b(standalone)476 b(Apache)41 b(nicht)g(ueber)h(den)g +(inetd)f(starten.)640 3050 y(ServerRoot)e("/www/")608 +b(Diese)41 b(Einstellung)e(sorgt)i(daf\374r,)g(dass)h(der)h(Apache)2035 +3150 y(ausgehend)c(von)k(diesem)e(Verzeichnis)e(die)2035 +3249 y(Verzeichnisse)f(fuer)k(Dokumente,)d(Logfiles)h(und)2035 +3349 y(Konfigurationsd)o(at)o(eie)o(n)d(sucht.)640 3548 +y(LockFile)j(/var/lock/subsys/)o(ht)o(tp)o(d/h)o(tt)o(pd)o(.ac)o(ce)o +(pt)o(.lo)o(ck)298 b(Spezifizert)39 b(das)k(Lock)3080 +3648 y(File.)640 3847 y(PidFile)e(/var/run/httpd.)o(pid)255 +b(Datei,)41 b(in)h(der)h(sich)f(die)g(Prozess)e(ID)j(des)f(Httpd-)2035 +3947 y(Daemons)e(befindet.)640 4146 y(ResourceConfig)e(/etc/httpd/srm.) +o(con)o(f)255 b(Diese)42 b(Datei)f(enthaelt)f(Angaben)h(zur)2383 +4245 y(Formatierung)e(und)j(dem)g(Aussehen)e(der)2035 +4345 y(automatisch)e(erzeugten)i(Verzeichnisindiz)o(es)2035 +4445 y(\(FancyIndexing\))d(sowie)k(Angaben)g(zu)i(den)f(einzelnen)2035 +4544 y(Dateitypen.)640 4744 y(AccessConfig)d(/etc/httpd/acce)o(ss)o +(.co)o(nf)211 b(Datei)42 b(zur)g(Definition)d(der)k(Funktionen)c(und) +640 5092 y Fk(82)p eop end +%%Page: 83 83 +TeXDict begin 83 82 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.83) cvn /DEST pdfmark end + 12 -5 a 2273 128 a Fh(9.6.)41 b(Ben)n +(utzerhandbuc)n(h)1763 360 y Fd(Zugriffsrechte)d(bestimmter)h +(Verzeichnisse)20 559 y(Timeout)i(300)914 b(Zeitlimit)39 +b(fuer)j(Client-Anfragen)37 b(in)43 b(Sekunden.)20 758 +y(KeepAlive)d(On)871 b(Unterstuezung)38 b(der)k(HTTP/1.1)e(Persistent) +1415 858 y(Connections.)e(Dardurch)i(koennen)h(ueber)g(eine)h(TCP-)1415 +958 y(Verbindung)d(mehrere)h(Anfragen)h(an)h(den)h(Server)1415 +1057 y(geschickt)c(werden.)20 1257 y(MaxKeepAliveRequ)o(es)o(ts)e(10) +392 b(Es)42 b(werden)f(10)i(aufeinanderfolge)o(nd)o(e)38 +b(Anfragen)1415 1356 y(innerhalb)h(einer)j(Keep-Alive-Verb)o(ind)o(un)o +(g)37 b(erlaubt.)20 1556 y(KeepAliveTimeout)g(15)566 +b(Der)42 b(Server)f(wartet)g(maximal)f(15)j(Sekunden)d(auf)1415 +1655 y(weitere)g(Anfragen)g(des)j(Clients)d(bei)j(einer)e(Keep-)1415 +1755 y(Alive-Verbindun)o(g.)20 1954 y(MinSpareServers)c(5)654 +b(Es)42 b(existieren)e(immer)h(mindestens)e(5)44 b(und)e(hoechstens)20 +2054 y(MaxSpareServers)37 b(10)610 b(10)42 b(leerlaufende)d(Prozesse.) +20 2253 y(StartServers)g(5)784 b(Es)42 b(werden)f(automatisch)e(5)k +(Kindprozesse)c(des)j(Apache)1415 2353 y(gestartet.)20 +2552 y(MaxClients)d(150)784 b(Maximum)40 b(von)i(gleichzeitig)d +(laufenden)1415 2651 y(Server-Prozesse)o(n.)20 2851 y(MaxRequestsPerCh) +o(il)o(d)f(30)435 b(Nach)41 b(30)i(Anfragen)d(wird)i(der)g(Kindprozess) +d(beendet)1415 2950 y(und)j(gegebenfalls)c(ein)43 b(neuer)e(gestartet.) +20 3150 y(Listen)g(12.34.56.78:80)474 b(Falls)41 b(mehrere)g +(Interfaces)e(bzw.)j(IP)h(Adressen)d(fuer)1415 3249 y(den)i(Rechner)e +(vorhanden)g(sind,)i(kann)g(mit)g(Listen)1415 3349 y(festgelegt)d +(werden,)h(welche)h(Ports)h(fuer)g(welche)1415 3448 y(Adresse)e +(abgehoert)g(werden)h(sollen.)20 3648 y(Port)h(80)1089 +b(Standalone)39 b(Server)i(Port)h(80)20 3847 y(User)g(wwwrun)913 +b(Nach)41 b(dem)i(Oeffnen)d(des)j(Ports)e(\(als)h(root\),)f(wechselt)20 +3947 y(Group)h(nogroup)825 b(Apache)41 b(zu)h(der)h(als)f(User)g(und)g +(Group)g(angegebenen)1415 4046 y(UID)g(bzw.)g(GID.)g(Die)g(Zuweisung)e +(kann)i(entweder)e(durch)1415 4146 y(angeben)g(des)i(Namens)f(oder)h +(durch)g(#)h(gefolgt)e(von)h(der)1415 4245 y(ID)g(erfolgen.)20 +4445 y(ServerAdmin)d(dv@mynet.loc)344 b(Bei)42 b(Fehlermeldungen)37 +b(wird)42 b(diese)f(Adresse)g(dem)1415 4544 y(Client)g(zurueckgeliefer) +o(t.)20 4744 y(ServerName)e(www.mynet.loc)344 b(Wird)41 +b(bei)i(Redirects)c(benoetigt)h(\(wenn)i(man)3037 5092 +y Fk(83)p eop end +%%Page: 84 84 +TeXDict begin 84 83 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.84) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(9.)41 +b(Apac)n(he)2035 360 y Fd(beispielsweise)c(durch)42 b(Eingabe)e(von) +2035 460 y(http://www.myne)o(t.)o(loc)o(/m)o(ai)o(n)e(auf)k(das)g +(Verzeichnis)2035 559 y(main)f(zugreifen)f(will,)i(erzeugt)e(der)j +(Apache)e(einen)2035 659 y(Redirect)f(auf)i(http://www.mynet)o(.l)o +(oc/)o(ma)o(in)o(/)c(.)43 b(Ohne)2035 758 y(ServerName)c(w\374rde)i +(der)i(richtige)d(Hostname)g(des)2035 858 y(Rechners)g +(zur\374ckgeliefert)d(werden.)640 1057 y(DocumentRoot)i("/www/htdocs/") +212 b(Hier)41 b(werden)g(die)i(HTML)f(Seiten)f(abgelegt.)640 +1257 y(AllowOverride)d(All)653 b(Konfigurationsa)o(nw)o(eis)o(un)o(ge)o +(n)38 b(in)k(der)h(.htaccess)2035 1356 y(beachten)640 +1556 y(UserDir)e(public_html)562 b(Homepage-Direct)o(or)o(y)38 +b(der)k(Benutzer)2035 1655 y(http://server/~)o(be)o(nut)o(ze)o(r/)640 +1854 y(DirectoryIndex)c(index.html)h(index.htm)h(index.php)127 +b(Wird)42 b(nur)g(ein)g(Directory)2732 1954 y(angegeben,)d(wird)j +(automatisch)d(die)2035 2054 y(angegebene)g(Datei)i(gesucht)g(und)h +(angezeigt.)640 2253 y(AccessFileName)c(.htaccess)345 +b(Name)41 b(der)i(.htaccess)640 2452 y(DefaultType)c(text/plain)432 +b(Dateien)40 b(ohne)i(Endung)f(werden)g(wie)h(Text-Files)2035 +2552 y(behandelt.)640 2751 y(HostnameLookups)37 b(Off)566 +b(Es)42 b(sollen)f(keine)h(DNS-Lookups)d(ausgefuert)g(werden.)640 +2950 y(ErrorLog)h(/var/log/httpd/er)o(ro)o(r_)o(log)298 +b(Datei)42 b(zur)g(Aufnahme)e(von)i(Fehlermeldungen)2383 +3050 y(und)g(sonstigen)e(Info)i(Meldungen)2035 3150 y(\(mod_log_config) +o(\).)640 3349 y(LogLevel)e(warn)827 b(LogLevel)40 b(:-\))i(debug,)f +(info,)h(notice,)e(warn,)i(error,)2035 3448 y(crit,alert,emer)o(g.)640 +3648 y(LogFormat)e(...)827 b(Legt)41 b(das)i(Format)e(der)h +(Logdatei\(en\))d(fest.)640 3847 y(CustomLog)h(/var/log/httpd/a)o(cc)o +(es)o(s_l)o(og)d(common)259 b(Erzeugt)40 b(die)j(Datei)e(http.access)e +(im)2732 3947 y(Common)i(Log)h(Format.)640 4146 y(ServerSignature)37 +b(Off)566 b(ServerSignature)37 b(kann)42 b(man)g(auf)g("Off")g +(stellen,)2035 4245 y(damit)f(ein)h(Zugriff)f(auf)h(eine)g +(nichtexistente)c(Seite)2035 4345 y(nicht)j(Software)f(und)j +(Versionsnummer)37 b(anzeigt,)2035 4445 y(jedoch)k(bringt)g(das)h +(nicht)f(allzuviel,)f(da)i(im)h(HTTP)2035 4544 y(Header)e(diese)g(und)h +(wesentlich)e(mehr)i(Informationen)2035 4644 y(zu)g(finden)f(sind.)640 +5092 y Fk(84)p eop end +%%Page: 85 85 +TeXDict begin 85 84 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.85) cvn /DEST pdfmark end + 12 -5 a 2273 128 a Fh(9.6.)41 b(Ben)n +(utzerhandbuc)n(h)20 360 y Fd(Alias)h(/icons/)e("/www/icons/")213 +b(Alias-Namen)38 b(fuer)k(bestimmte)e(Verzeichnisse.)e(Diese)1415 +460 y(werden)j(anschliessend)d(behandelt,)h(als)j(wenn)g(sie)1415 +559 y(sich)f(unter)h(Document-Root)c(befinden)i(wuerden.)1415 +659 y(Achtung!)g(Die)i(Einstellungen)c(gelten)j(auch)h(fuer)1415 +758 y(virtuelle)d(Hosts.)20 958 y(IndexOptions)g(FancyIndexing)256 +b(Als)42 b(Optionen)e(sind)i(angebbar:)1415 1057 y(Fancyindexing)c(-)43 +b(ausf\374hrliche)38 b(Verzeichnisliste)1502 1157 y(\(Icons,)i(Name,)i +(Gr\366\377e,)f(Kurzbeschreibun)o(g)d(etc.\))1415 1257 +y(SuppressLastMod)o(if)o(ie)o(d)g(-)43 b(keine)e(Angabe)g(der)i +(letzten)1502 1356 y(Modifikationsze)o(it)1415 1456 y(SuppressSize)38 +b(-)43 b(keine)f(Angabe)f(der)h(Filegr\366\377e)1415 +1556 y(SuppressDescrip)o(ti)o(on)37 b(-)43 b(keine)f(Angabe)f(einer) +1502 1655 y(Kurzbeschreibun)o(g)1415 1755 y(ScanHTMLTitles)c(-)43 +b(HTML-Titel)d(als)i(Kurzbeschreibung)1502 1854 y(\(Achtung:)d +(Rechnerlast!\))20 2054 y(ReadmeName)g(README)652 b(Die)42 +b(Datei)f(README)g(wird)h(bei)g(der)h(Ausgabe)d(des)1415 +2153 y(Verzeichnisbaum)o(s)d(angezeigt.)20 2353 y(HeaderName)i(HEADER) +652 b(Die)42 b(Datei)f(HEADER)g(wird)h(am)h(Anfangs-Tag)c(in)k(den)1415 +2452 y(Verzeichnisbaum)o(s)37 b(angezeigt.)20 2651 y(IndexIgnore)i +(.??*)j(*~)h(*#)129 b(RCS)43 b(CVS)f(*,v)g(*,t)348 b(Diese)41 +b(Dateien)g(werden)g(nicht)g(durch)2112 2751 y(FancyIndexing)d +(angezeigt.)20 2950 y(TypesConfig)h(/etc/httpd/mime.)o(ty)o(pes)298 +b(Enthaelt)40 b(die)j(Zuweisungen)c(Dateiendung)1763 +3050 y(zu)k(Mime-Typ)20 3249 y(BrowserMatch)c("Mozilla/2")f +(nokeepalive)170 b(Hiermit)41 b(wird)h(der)g(Apache)f(angewiesen,)e +(auf)1763 3349 y(bestimmte)h(Browser)g(unterschiedlich)e(zu)1763 +3448 y(reagieren.)20 3593 y +SDict begin H.S end + 20 3593 a 20 3593 a +SDict begin 12 H.A end + 20 3593 +a 20 3593 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.6.2) cvn /DEST pdfmark +end + 20 3593 a 101 x Fi(9.6.2.)57 b(A)m(ccess)36 +b(Control)h(List)g(File)f(\(.htaccess\))20 3851 y Fk(Die)28 +b(Datei)g(.h)n(taccess)e(m)n(u\377)h(in)h(dem)g(zu)g(sc)n(h)n +(\374tzenden)f(Ordner)f(angelegt)h(w)n(erden.)20 4046 +y Fd(AuthUserFile)39 b(/www/.htpasswd)212 b(Pfad)41 b(zu)i(einer)f +(Passwortdatei)20 4146 y(AuthGroupFile)c(/dev/null)20 +4245 y(AuthName)i("Tux)i(;-\)")20 4345 y(AuthType)e(Basic)20 +4445 y()369 4544 y(require)e(user)i +(webmaster)20 4644 y()3037 5092 y Fk(85)p eop +end +%%Page: 86 86 +TeXDict begin 86 85 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.86) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(9.)41 +b(Apac)n(he)640 360 y Fd(AuthUserFile)e(/www/.htpasswd)212 +b(Pfad)41 b(zu)i(einer)f(Passwortdatei)640 460 y(AuthGroupFile)c +(/www/.htgroup)213 b(Pfad)41 b(zu)i(einer)f(Gruppendatei)640 +559 y(AuthName)e("Tux)i(;-\)")640 659 y(AuthType)e(Basic)640 +758 y()989 858 y(require)f(group)i(logins)640 +958 y()640 1107 y +SDict begin H.S end + 640 1107 a 640 1107 a +SDict begin 12 H.A end + 640 1107 +a 640 1107 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.6.3) cvn /DEST pdfmark +end + 640 1107 a 115 x Fi(9.6.3.)57 b(Grupp)s(endatei)35 +b(\(.htgroup\))640 1386 y Fd(cat)42 b(.htgroup)f(-->)989 +1486 y(logins:)f(benutzer1)g(benutzer2)g(...)640 1647 +y +SDict begin H.S end + 640 1647 a 640 1647 a +SDict begin 12 H.A end + 640 1647 a 640 1647 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.6.4) cvn /DEST pdfmark +end + 640 1647 +a 103 x Fi(9.6.4.)57 b(P)m(assw)m(o)m(rt-Datei)37 b(\(.htpasswd\))640 +1915 y Fd(htpasswd)j(-c)j(Passwortdatei)38 b(Benutzername)431 +b(erzeugt)40 b(eine)i(neue)g(Passwortdatei)2732 2014 +y(und)g(ein)g(Benutzer)640 2114 y(htpasswd)e(Passwortdatei)e +(Benutzername)562 b(erzeugt)40 b(ein)j(Benutzer)640 2275 +y +SDict begin H.S end + 640 2275 a 640 2275 a +SDict begin 12 H.A end + 640 2275 a 640 2275 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.6.5) cvn /DEST pdfmark +end + 640 2275 +a 103 x Fi(9.6.5.)57 b(Erstellen)36 b(eines)g(SSL-Zerti\034k)m(ats)640 +2543 y Fd(openssl)41 b(req)h(-new)g(>)h(firma.csr)640 +2642 y(openssl)e(rsa)h(-in)g(privkey.pem)d(-out)j(firma.key)640 +2742 y(openssl)f(x509)h(-in)g(firma.csr)e(-out)i(firma.crt)d(-req)j +(-signkey)e(firma.key)g(-days)i(10000)640 2842 y(cp)h(firma.key)d +(/etc/httpd/ssl.)o(ke)o(y/s)o(er)o(ve)o(r.k)o(ey)640 +2941 y(cp)j(firma.crt)d(/etc/httpd/ssl.)o(cr)o(t/s)o(er)o(ve)o(r.c)o +(rt)640 3041 y(cp)j(firma.csr)d(/etc/httpd/ssl.)o(cs)o(r/s)o(er)o(ve)o +(r.c)o(sr)640 3141 y(chown)i(root)f(privkey.pem)640 3240 +y(chmod)h(400)g(privkey.pem)640 3401 y +SDict begin H.S end + 640 3401 a 640 +3401 a +SDict begin 12 H.A end + 640 3401 a 640 3401 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.9.6.6) cvn /DEST pdfmark +end + 640 3401 a 104 x Fi(9.6.6.)57 +b(LinkIcon)35 b(\(favicon.ico\))640 3588 y +SDict begin H.S end + 640 3588 a +640 3588 a +SDict begin 12 H.A end + 640 3588 a 640 3588 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.9) cvn /DEST pdfmark +end + 640 3588 a 640 3669 +a +SDict begin H.S end + 640 3669 a 640 3669 a +SDict begin 12 H.A end + 640 3669 a 640 3669 a +SDict begin [/View [/XYZ H.V]/Dest (section*.8) cvn /DEST pdfmark end + 640 3669 +a Fj(W)m(as)c(ist)f(ein)h(favicon.ico?)640 3833 y Fk(Immer)36 +b(w)n(enn)h(ein)f(IE5)h(Ben)n(utzer)e(eine)i(Seite)f(seinen)h(F)-7 +b(a)n(v)n(oriten)34 b(hinzuf\374gt,)k(suc)n(h)n(t)e(der)g(IE5)640 +3933 y(nac)n(h)25 b(einem)h(Icon)g(das)f(er)g(anstatt)h(des)g +(Standardicons)e(in)i(der)f(F)-7 b(a)n(v)n(oritenliste)25 +b(anzeigen)g(k)-5 b(ann.)640 4033 y(Er)30 b(suc)n(h)n(t)f(zuerst)g(im)h +(aktuellen)f('V)-7 b(erzeic)n(hnis')29 b(und)h(geh)n(t)f(dann)g(Eb)r +(ene)i(f\374r)e(Eb)r(ene)i(w)n(eiter)e(bis)640 4132 y(zum)e(W)-7 +b(urzelv)n(erzeic)n(hnis.)25 b(Nehmen)i(wir)f(mal)h(an,)f(das)g +(aktuelle)g(Dokumen)n(t)h(b)r(e\034ndet)g(sic)n(h)g(un-)640 +4232 y(ter)32 b(h)n(ttp://www.b)5 b(jo)r(ernsw)n(orld.de/suc)n(hmasc)n +(hinen/)27 b(optimieren/aufraeumen.h)n(tml,)k(dann)640 +4332 y(wird)c(der)h(IE)g(5)f(so)g(nac)n(h)g(dem)h(Icon)f(suc)n(hen:)640 +4544 y Fd(http://www.bjoer)o(nsw)o(or)o(ld)o(.de)o(/s)o(uc)o(hma)o(sc)o +(hi)o(nen)o(/o)o(pt)o(imi)o(er)o(en/)o(fa)o(vi)o(con)o(.i)o(co)640 +4644 y(http://www.bjoer)o(nsw)o(or)o(ld)o(.de)o(/s)o(uc)o(hma)o(sc)o +(hi)o(nen)o(/f)o(av)o(ico)o(n.)o(ico)640 4744 y(http://www.bjoer)o(nsw) +o(or)o(ld)o(.de)o(/f)o(av)o(ico)o(n.)o(ic)o(o)640 5092 +y Fk(86)p eop end +%%Page: 87 87 +TeXDict begin 87 86 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.87) cvn /DEST pdfmark end + 12 -5 a 2273 128 a Fh(9.6.)41 b(Ben)n +(utzerhandbuc)n(h)103 360 y Fk(Er)33 b(suc)n(h)n(t)f(solange,)e(bis)j +(er)f(eines)g(gefunden)g(hat)h(o)r(der)e(b)r(ei)i(/fa)n(vicon.ico)e +(angek)n(ommen)f(ist.)20 460 y(Das)23 b(gilt)f(n)n(ur)h(f\374r)g(den)g +(In)n(ternet)f(Explorer)g(V)-7 b(ersion)22 b(5.0)g(und)h(5.01;)f(V)-7 +b(ersion)22 b(5.5)g(suc)n(h)n(t)h(n)n(ur)f(no)r(c)n(h)20 +559 y(nac)n(h)28 b(/fa)n(vicon.ico)f(selbstst\344ndig.)h(Hat)h(er)f +(eins)g(gefunden,)h(zeigt)f(er)h(es)f(in)h(der)f(F)-7 +b(a)n(v)n(oritenliste)20 659 y(an)27 b(und)h(b)r(eim)h(erneuten)e +(Besuc)n(h)g(der)g(Seite)h(auc)n(h)f(links)g(neb)r(en)h(der)g(URL)g(in) +f(der)h(A)n(dresszeile:)20 792 y +SDict begin H.S end + 20 792 a 20 792 a +SDict begin 12 H.A end + 20 +792 a 20 792 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.11) cvn /DEST pdfmark +end + 20 792 a 20 895 a +SDict begin H.S end + 20 895 a 20 895 a +SDict begin 12 H.A end + 20 +895 a 20 895 a +SDict begin [/View [/XYZ H.V]/Dest (section*.10) cvn /DEST pdfmark +end + 20 895 a Fj(W)m(elches)j(F)m(o)m(rmat)f(hat)f(das)h +(favicon.ico?)20 1056 y Fk(Das)36 b(fa)n(vicon.ico)e(ist)i(ein)g(Icon)g +(im)g(Microsoft)f(Windo)n(ws)h(Icon)f(File)h(F)-7 b(ormat.)36 +b(Windo)n(ws)f(Be-)20 1155 y(n)n(utzer)29 b(sehen)h(t\344glic)n(h)f +(solc)n(he)f(Icons)h(auf)h(ihrem)g(Desktop,)f(in)h(ihrem)g(Startmen)n +(\374,)f(etc.)h(In)g(der)20 1255 y(F)-7 b(a)n(v)n(oritenliste)27 +b(wird)h(dieses)g(Icon)g(in)g(der)g(Gr\366\377e)f(16x16)f(Pixel)j +(dargestellt,)e(daher)h(sollte)g(man)20 1355 y(das)f(Icon)g(auc)n(h)f +(in)i(dieser)e(Gr\366\377e)g(erstellen.)h(Die)h(F)-7 +b(arbzahl)26 b(b)r(esc)n(hr\344nkt)g(sic)n(h)h(auf)g(16)g(bzw.)g(256)20 +1454 y(F)-7 b(arb)r(en,)27 b(w)n(ob)r(ei)h(eine)f(als)g(transparen)n +(te)f(F)-7 b(arb)r(e)27 b(gilt.)20 1603 y +SDict begin H.S end + 20 1603 a 20 +1603 a +SDict begin 12 H.A end + 20 1603 a 20 1603 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.13) cvn /DEST pdfmark +end + 20 1603 a 20 1691 a +SDict begin H.S end + 20 1691 +a 20 1691 a +SDict begin 12 H.A end + 20 1691 a 20 1691 a +SDict begin [/View [/XYZ H.V]/Dest (section*.12) cvn /DEST pdfmark +end + 20 1691 a Fj(W)m(elchen)k(MIME-T)-8 +b(yp)s(e)31 b(hat)e(das)g(favicon.ico?)20 1851 y Fk(Der)20 +b(k)n(orrekte)d(MIME-T)n(yp)r(e)j(f\374r)g(das)f(fa)n(vicon.ico)g(ist)g +(image/x-icon.)f(Beim)i(Apac)n(he)f(W)-7 b(ebserv)n(er)20 +1951 y(k)i(ann)28 b(man)f(das)g(in)h(einer)f(.h)n(taccess)g(mit)h(der)f +(Zeile:)20 2153 y Fd(AddType)41 b(image/x-icon)d(.ico)103 +2351 y Fk(k)n(on\034gurieren.)20 2500 y +SDict begin H.S end + 20 2500 a 20 +2500 a +SDict begin 12 H.A end + 20 2500 a 20 2500 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.15) cvn /DEST pdfmark +end + 20 2500 a 20 2588 a +SDict begin H.S end + 20 2588 +a 20 2588 a +SDict begin 12 H.A end + 20 2588 a 20 2588 a +SDict begin [/View [/XYZ H.V]/Dest (section*.14) cvn /DEST pdfmark +end + 20 2588 a Fj(Wie)31 b(erstelle)h(ich)e +(ein)g(favicon.ico?)20 2748 y Fk(Man)20 b(brauc)n(h)n(t)f(daf\374r)h +(einen)g(Icon)f(Editor)i(wie)f(man)f(sie)h(zuhauf)g(b)r(ei)h(T)-7 +b(uco)n(ws)19 b(o)r(der)g(Win\034les.)i(com)20 2848 y(\034nden)35 +b(k)-5 b(ann.)34 b(Mit)g(z.B.)g(dem)g(F)-7 b(reew)n(are)33 +b(T)-7 b(o)r(ol)33 b(Irfan)h(View)g(ist)g(es)g(ohne)g(Probleme)f +(m\366glic)n(h,)20 2947 y(eine)38 b(Gifdatei)h(in)f(das)f(Icon)h(F)-7 +b(ormat)37 b(zu)h(k)n(on)n(v)n(ertieren.)e(Macin)n(tosh)h(Ben)n(utzer)g +(k)n(\366nnen)g(den)20 3047 y(GraphicCon)n(v)n(erter)c(v)n(on)h +(Thorsten)h(Lemk)n(e)f(o)r(der)h(den)g(Iconographer)e(v)n(on)h(Mscap)r +(eSoft)n(w)n(are)20 3146 y(b)r(en)n(utzen)k(um)g(das)f(Icon)g(zu)g +(erstellen.)h(Bei)f(fa)n(vicon.com)f(gibt)i(es)f(einen)g(Online)h +(Editor)f(in)20 3246 y(Ja)n(v)-5 b(a,)26 b(mit)j(dem)e(man)h(online)f +(sein)h(eigenes)e(fa)n(vicon.ico)g(erstellen)i(k)-5 b(ann.)20 +3395 y +SDict begin H.S end + 20 3395 a 20 3395 a +SDict begin 12 H.A end + 20 3395 a 20 3395 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.17) cvn /DEST pdfmark +end + 20 3395 +a 20 3483 a +SDict begin H.S end + 20 3483 a 20 3483 a +SDict begin 12 H.A end + 20 3483 a 20 3483 a +SDict begin [/View [/XYZ H.V]/Dest (section*.16) cvn /DEST pdfmark +end + 20 +3483 a Fj(W)m(ohin)30 b(muss)g(das)g(favicon.ico?)20 +3643 y Fk(Wie)21 b(ob)r(en)g(sc)n(hon)f(gesagt,)g(suc)n(h)n(t)g(der)h +(IE5,)g(v)n(or)e(V)-7 b(ersion)21 b(5.5,)f(zuerst)g(im)h(aktuellen)g +('V)-7 b(erzeic)n(hnis')20 3743 y(und)33 b(geh)n(t)g(dann)f(Eb)r(ene)i +(um)f(Eb)r(ene)h(nac)n(h)e(ob)r(en,)h(bis)g(er)f(un)n(ter)g(h)n +(ttp://host/fa)n(vicon.ico)e(ein)20 3842 y(Icon)k(\034ndet)h(o)r(der)f +(eb)r(en)g(nic)n(h)n(t.)h(Man)f(k)-5 b(ann)34 b(en)n(t)n(w)n(eder)f(in) +i(jedes)f(V)-7 b(erzeic)n(hnis)34 b(ein)g(fa)n(vicon.ico)20 +3942 y(plazieren,)27 b(o)r(der)g(im)h()g(einer)f(jeden)h(HTML)g +(Datei)g(auf)f(ein)h(Icon)f(v)n(erw)n(eisen:)20 4144 +y Fd()103 +4342 y Fk(W)-7 b(enn)30 b(der)f(Apac)n(he)h(W)-7 b(ebserv)n(er)28 +b(mit)i(mo)r(d_rewrite)e(b)r(en)n(utzt)j(wird,)e(k)-5 +b(ann)30 b(man)f(mit)h(dieser)20 4442 y(Regel:)20 4644 +y Fd(RewriteEngine)38 b(on)20 4744 y(RewriteRule)h(^\(.+\)/favicon\\.i) +o(co)o($)f(/favicon.ico)g([R=permanent])g([L])3037 5092 +y Fk(87)p eop end +%%Page: 88 88 +TeXDict begin 88 87 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.88) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(9.)41 +b(Apac)n(he)723 360 y Fk(\(z.B.)g(in)f(der)g(.h)n(taccess\))f(alle)h +(Anfragen)g(f\374r)g(fa)n(vicons)f(in)i(Un)n(terv)n(erzeic)n(hnissen)d +(auf)i(das)640 460 y(fa)n(vicon.ico)26 b(im)i(Ro)r(ot-V)-7 +b(erzeic)n(hnis)26 b(der)i(Domain)f(umleiten.)723 559 +y(W)-7 b(enn)34 b(mo)r(d_rewrite)e(nic)n(h)n(t)h(zur)f(V)-7 +b(erf\374gung)33 b(steh)n(t,)g(w)n(ohl)f(ab)r(er)h(Zugri\033)f(auf)h +(die)g(K)n(on\034gu-)640 659 y(rationsdateien)38 b(Apac)n(he)h(W)-7 +b(eb)39 b(Serv)n(ers,)f(k)-5 b(ann)39 b(man)g(in)g(z.B.)g(der)g +()f(Sektion)640 758 y(folgenden)27 b(Befehl)h +(einf\374gen:)640 941 y Fd(RedirectMatch)38 b(Permanent)i +(^\(.+\)/favicon\\.i)o(co)o($)d(http://server.de/)o(fa)o(vic)o(on)o(.i) +o(co)640 1076 y +SDict begin H.S end + 640 1076 a 640 1076 a +SDict begin 12 H.A end + 640 1076 a 640 +1076 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.19) cvn /DEST pdfmark +end + 640 1076 a 640 1157 a +SDict begin H.S end + 640 1157 a 640 1157 a +SDict begin 12 H.A end + 640 +1157 a 640 1157 a +SDict begin [/View [/XYZ H.V]/Dest (section*.18) cvn /DEST pdfmark +end + 640 1157 a Fj(Wie)31 b(k)m(ann)f(man)g(diese)h(F)m +(unktion)d(abstellen?)640 1310 y Fk(Es)k(gibt)f(meines)g(Wissens)g(nac) +n(h)g(k)n(eine)f(M\366glic)n(hk)n(eit)g(den)i(IE5)f(dazu)g(zu)g +(bringen,)g(nic)n(h)n(t)g(nac)n(h)640 1410 y(dem)d(fa)n(vicon.ico)e(zu) +i(suc)n(hen.)640 1526 y +SDict begin H.S end + 640 1526 a 640 1526 a +SDict begin 12 H.A end + 640 1526 +a 640 1526 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.21) cvn /DEST pdfmark +end + 640 1526 a 640 1626 a +SDict begin H.S end + 640 1626 a 640 1626 +a +SDict begin 12 H.A end + 640 1626 a 640 1626 a +SDict begin [/View [/XYZ H.V]/Dest (section*.20) cvn /DEST pdfmark +end + 640 1626 a Fj(Links)j(zum)e(Thema:)640 +1779 y Fd(http://www.favic)o(on.)o(de)o(/)640 1878 y(http://www.favic)o +(on.)o(co)o(m/)640 1978 y(http://wdvl.com/)o(Aut)o(ho)o(ri)o(ng/)o(De)o +(si)o(gn/)o(Im)o(ag)o(es/)o(Fa)o(vi)o(con)o(/i)o(nde)o(x.)o(ht)o(ml)640 +2078 y(http://msdn.micr)o(oso)o(ft)o(.c)o(om/)o(wo)o(rk)o(sho)o(p/)o +(es)o(sen)o(ti)o(al)o(s/v)o(er)o(sio)o(ns)o(/I)o(CPI)o(E5)o(.a)o(sp)640 +2177 y(http://msdn.micr)o(oso)o(ft)o(.c)o(om/)o(wo)o(rk)o(sho)o(p/)o +(Au)o(tho)o(r/)o(dh)o(tml)o(/h)o(owt)o(o/)o(Sh)o(ort)o(cu)o(tI)o(con)o +(.a)o(sp)640 2277 y(http://www.winfi)o(les)o(.c)o(om)o(/ap)o(ps)o(/9)o +(8/i)o(co)o(ns)o(-ed)o(it)o(.h)o(tml)640 2377 y(http://web.cip.c)o(om.) +o(br)o(/f)o(lav)o(io)o(vs)o(/se)o(c/)o(fa)o(vic)o(on)o(/p)o(riv)o(ac)o +(y.h)o(tm)o(l)640 2476 y(http://web.cip.c)o(om.)o(br)o(/f)o(lav)o(io)o +(vs)o(/se)o(c/)o(fa)o(vic)o(on)o(/i)o(nde)o(x.)o(htm)o(l)640 +2576 y(http://www.bjoer)o(nsw)o(or)o(ld)o(.de)o(/i)o(e/)o(398)o(da)o +(66)o(c.2)o(42)o(34)o(236)o(@n)o(ews)o(.b)o(jo)o(ern)o(.h)o(oe)o(hrm)o +(an)o(n.)o(de.)o(tx)o(t)640 5092 y Fk(88)p eop end +%%Page: 89 89 +TeXDict begin 89 88 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.89) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.10) cvn /DEST pdfmark end + 20 277 a 521 x Fm(10.)100 b(MySQL)20 +1005 y +SDict begin H.S end + 20 1005 a 20 1005 a +SDict begin 12 H.A end + 20 1005 a 20 1005 a +SDict begin [/View [/XYZ H.V]/Dest (section.10.1) cvn /DEST pdfmark +end + 20 1005 +a 117 x Fe(10.1.)68 b(Einleitung)20 1307 y Fk(MySQL)32 +b(ist)h(eine)g(Daten)n(bank)f(und)h(phpMyA)n(dmin)g(eine)g(W)-7 +b(eb-Ob)r(er\035\344c)n(he,)31 b(um)i(MySQL)f(zu)20 1406 +y(k)n(on\034gurieren.)20 1553 y +SDict begin H.S end + 20 1553 a 20 1553 a +SDict begin 12 H.A end + 20 +1553 a 20 1553 a +SDict begin [/View [/XYZ H.V]/Dest (section.10.2) cvn /DEST pdfmark +end + 20 1553 a 135 x Fe(10.2.)68 b(K)l(ompilieren)45 +b(und)f(Installieren)20 1794 y +SDict begin H.S end + 20 1794 a 20 1794 a +SDict begin 12 H.A end + 20 +1794 a 20 1794 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.10.2.1) cvn /DEST pdfmark +end + 20 1794 a 95 x Fi(10.2.1.)57 b(Anfo)m(rderungen)145 +2045 y Fb(\210)41 b Fk(MySQL-Quellco)r(de)26 b(4.x.xx,)h(erh\344ltlic)n +(h)f(b)r(ei)i(h)n(ttp://www.m)n(ysql.com/)145 2216 y +Fb(\210)41 b Fk(Lin)n(ux)27 b(2.x.xx)145 2387 y Fb(\210)41 +b Fk(ANSI-C-Compiler)20 b(und)h(Generierungsw)n(erkzeuge,)c(GNU)22 +b(C)e(Compiler)g(\(GCC\))i(ab)e(V)-7 b(er-)228 2487 y(sion)27 +b(2.95.4,)f(w)n(esen)n(tlic)n(he)g(Generierungsw)n(erkzeuge)e(wie)k +(mak)n(e)145 2658 y Fb(\210)41 b Fk(phpMyA)n(dmin)19 +b(2.x.x\(optional\),)e(erh\344ltlic)n(h)h(b)r(ei)h(h)n(ttp://www.phpm)n +(y)n(admin.net/,)e(W)-7 b(eb-)228 2758 y(Serv)n(er,)26 +b(Apac)n(he)h(1)g(o)r(der)g(2)g(mit)h(PHP)h(4)e(o)r(der)g(5)20 +2896 y +SDict begin H.S end + 20 2896 a 20 2896 a +SDict begin 12 H.A end + 20 2896 a 20 2896 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.10.2.2) cvn /DEST pdfmark +end + 20 2896 +a 101 x Fi(10.2.2.)57 b(V)m(o)m(rb)s(ereitungen)20 3153 +y Fd(su)1655 b(als)42 b(root)g(anmelden)20 3253 y(mkdir)g +(/usr/local/src)865 b(das)42 b(Verzeichnis)d(/usr/local/src)f(anlegen,) +1763 3352 y(wenn)k(es)h(noch)f(nicht)f(vorhanden)f(ist)20 +3452 y(chmod)i(777)g(/usr/local/src)691 b(Verzeichnis-Rech)o(te)37 +b(setzen)20 3551 y(exit)1567 b(root)42 b(abmelden)20 +3651 y(cp)h(Quelldateien)38 b(/usr/local/src)430 b(Quelldateien)39 +b(kopieren)20 3791 y +SDict begin H.S end + 20 3791 a 20 3791 a +SDict begin 12 H.A end + 20 3791 a 20 +3791 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.10.2.3) cvn /DEST pdfmark +end + 20 3791 a 99 x Fi(10.2.3.)57 b(MySQL)20 4046 y +Fd(cd)43 b(/usr/local/src)996 b(Verzeichnis)39 b(wechseln)20 +4146 y(tar)j(xvfz)g(mysql-4.0.21.tar)o(.gz)516 b(Quelldateien)39 +b(entpacken)20 4245 y(cd)k(mysql-4.0.21)1084 b(in)43 +b(das)f(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)20 +4345 y(./configure)i(--help)956 b(Hilfe)42 b(zu)g(den)h(mi\366glichen)c +(Optionen)20 4445 y(./configure)g(--prefix=/usr/lo)o(ca)o(l/m)o(ys)o +(ql)o(/4.)o(0.)o(21)e(--localstatedir=)o(/v)o(ar/)o(my)o(sq)o(l/d)o(at) +o(a)1763 4544 y(prefix:)k(Installations-V)o(erz)o(ei)o(ch)o(nis)1763 +4644 y(localstatedir:)d(Daten-Verzeichn)o(is)20 4744 +y(make)1567 b(Programm)40 b(herstellen)3037 5092 y Fk(89)p +eop end +%%Page: 90 90 +TeXDict begin 90 89 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.90) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(10.)41 +b(MySQL)640 360 y Fd(su)1655 b(als)42 b(root)g(anmelden)640 +460 y(make)g(install)1217 b(Programm)40 b(installieren)f(\(als)j +(root!\))640 559 y(ln)h(-s)g(/usr/local/mysq)o(l/)o(4.0)o(.2)o(1)37 +b(/usr/local/mysql/)o(cu)o(rre)o(nt)2383 659 y(Link)42 +b(zu)h(MySQL)640 758 y(cp)g(support-files/my)o(sq)o(l.)o(ser)o(ve)o(r) +37 b(/etc/init.d/mysql)2383 858 y(Startdatei)j(kopieren)640 +958 y(chmod)i(755)g(/etc/init.d/mysq)o(l)2383 1057 y(Dateirechte)d +(einstellen)640 1157 y(ln)k(-s)g(/etc/init.d/mys)o(ql)37 +b(/etc/rc5.d/S20my)o(sq)o(l)2383 1257 y(Link)42 b(zum)g(Starten)f(in)i +(Runlevel5)c(anlegen)640 1356 y(ln)k(-s)g(/etc/init.d/mys)o(ql)37 +b(/etc/rc6.d/K20my)o(sq)o(l)2383 1456 y(Link)42 b(zum)g(Beenden)f(in)i +(Runlevel6)c(anlegen)640 1556 y(ln)k(-s)g(/etc/init.d/mys)o(ql)37 +b(/etc/rc0.d/K20my)o(sq)o(l)2383 1655 y(Link)42 b(zum)g(Beenden)f(in)i +(Runlevel0)c(anlegen)640 1755 y(groupadd)h(mysql)1131 +b(Gruppe)41 b(mysql)h(anlegen)640 1854 y(useradd)f(-g)h(mysql)g(-d)h +(/usr/local/mysq)o(l/)o(cur)o(re)o(nt)37 b(-s)43 b(/bin/false)c(mysql) +2383 1954 y(Benutzer)h(mysql)i(anlengen)640 2054 y(mkdir)g(-p)g +(/var/mysql/data)691 b(Daten-Verzeichni)o(s)38 b(anlegen)640 +2153 y(./scripts/mysql_)o(ins)o(ta)o(ll)o(_db)f(--user=mysql)h +(initiale)i(Datenbank)g(installieren)640 2253 y(cd)j(/usr/local/mysql)o +(/c)o(ur)o(ren)o(t)560 b(in)43 b(das)f(mysql)g(Verzeichnis)d(wechseln) +640 2353 y(cp)k(share/mysql/my-m)o(ed)o(iu)o(m.c)o(nf)37 +b(/var/mysql/data)o(/my)o(.c)o(nf)2383 2452 y(Konfiguration)h(anlegen) +640 2552 y(chown)k(-R)g(root:mysql)e(.)827 b(Benutzer-Gruppen)o(-Re)o +(ch)o(te)37 b(setzen)640 2651 y(chown)42 b(-R)g(mysql:mysql)d +(/var/mysql/data)168 b(Rechte)41 b(f\374r)i(das)f(Daten-Verzeichn)o(is) +37 b(setzen)640 2751 y(/etc/init.d/mysq)o(l)h(start)738 +b(mysql)42 b(starten)640 2851 y(./bin/mysqladmin)37 b(-u)43 +b(root)f(password)e('geheim')2383 2950 y(Datenbank-Passwo)o(rt)d +(setzen)2383 3050 y(Achtung)k(!)i(das)f(Passwort)e(steht)i(danach)f(in) +2383 3150 y(der)h(~/.bash_history)640 3292 y +SDict begin H.S end + 640 3292 +a 640 3292 a +SDict begin 12 H.A end + 640 3292 a 640 3292 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.10.2.4) cvn /DEST pdfmark +end + 640 3292 a 99 x Fi(10.2.4.)57 +b(MySQL)37 b(T)-9 b(esten)640 3548 y Fd(./bin/mysql)39 +b(-D)k(mysql)e(-u)i(root)f(-p)391 b(Client)41 b(starten)g(und)h +(zugriff)f(auf)h(die)2383 3648 y(Steuerungs-Daten)o(ban)o(k)37 +b(nehmen)640 3847 y(mysql>)k(show)h(tables;)912 b(Tabelle)41 +b(anzeigen)640 3947 y(+---------------)o(--+)640 4046 +y(|)i(Tables_in_mysql)38 b(|)640 4146 y(+---------------)o(--+)640 +4245 y(|)43 b(columns_priv)170 b(|)640 4345 y(|)43 b(db)610 +b(|)640 4445 y(|)43 b(func)522 b(|)640 4544 y(|)43 b(host)522 +b(|)640 4644 y(|)43 b(tables_priv)214 b(|)640 4744 y(|)43 +b(user)522 b(|)640 5092 y Fk(90)p eop end +%%Page: 91 91 +TeXDict begin 91 90 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.91) cvn /DEST pdfmark end + 12 -5 a 1870 128 a Fh(10.2.)40 b(K)n(ompilieren)26 +b(und)i(Installieren)20 360 y Fd(+---------------)o(--)o(+)20 +460 y(6)43 b(rows)f(in)h(set)f(\(0.00)g(sec\))20 559 +y(mysql>)f(exit;)1218 b(Client)41 b(beenden)20 659 y(Bye)20 +858 y(exit)1567 b(root)42 b(abmelden)20 982 y +SDict begin H.S end + 20 982 +a 20 982 a +SDict begin 12 H.A end + 20 982 a 20 982 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.10.2.5) cvn /DEST pdfmark +end + 20 982 a 118 x Fi(10.2.5.)57 +b(phpMyA)m(dmin)20 1257 y Fd(su)1655 b(als)42 b(root)g(anmelden)20 +1356 y(cd)h(/srv/www/htdocs)952 b(in)43 b(das)f(Apache1.3-Verzei)o(chn) +o(is)37 b(wechseln)20 1456 y(cd)43 b(/srv/www2/htdoc)o(s)909 +b(in)43 b(das)f(Apache2-Verzeich)o(nis)37 b(wechseln)20 +1556 y(tar)42 b(xvfj)g(/usr/local/src/p)o(hpM)o(yA)o(dmi)o(n-)o(2.)o +(5.7)o(-p)o(l1)o(.ta)o(r.)o(bz)o(2)1763 1655 y(Dateien)f(entpacken)20 +1755 y(ln)i(-s)g(phpMyAdmin-2.5.)o(7-)o(pl)o(1)38 b(phpMyAdmin)126 +b(Link)42 b(zu)h(phpMyAdmin)c(anlegen)20 1954 y(vi)k(phpMyAdmin/conf)o +(ig.)o(in)o(c.)o(php)516 b(phpMyAdmin)39 b(anpassen)64 +2054 y($cfg['PmaAbsolu)o(te)o(Uri)o('])e(=)43 b('http://localhos)o(t/)o +(php)o(My)o(Ad)o(min)o(/')o(;)1763 2153 y(URL)f(zu)h(Apache1.3)64 +2253 y($cfg['PmaAbsolu)o(te)o(Uri)o('])37 b(=)43 b('http://localhos)o +(t:)o(81/)o(ph)o(pM)o(yAd)o(mi)o(n/)o(';)1763 2353 y(URL)f(zu)h +(Apache2)64 2452 y($cfg['Servers'])o([$)o(i][)o('u)o(se)o(r'])429 +b(=)43 b('root';)128 b(//)43 b(MySQL)e(user)64 2552 y($cfg['Servers'])o +([$)o(i][)o('p)o(as)o(swo)o(rd)o('])255 b(=)43 b('geheim';)d(//)j +(MySQL)e(password)20 2751 y(vi)i(phpMyAdmin/.hta)o(cce)o(ss)734 +b(htaccess)40 b(anlegen)64 2851 y(AuthType)g(Basic)64 +2950 y(AuthName)g("PhpMyAdmin")64 3050 y(AuthUserFile)e +(/srv/www/htdocs/)o(php)o(My)o(Ad)o(min)o(/.)o(ht)o(pas)o(sw)o(d)1763 +3150 y(Apache1.3)64 3249 y(AuthUserFile)g(/srv/www2/htdocs)o(/ph)o(pM)o +(yA)o(dmi)o(n/)o(.h)o(tpa)o(ss)o(wd)1763 3349 y(Apache2)64 +3448 y(AuthGroupFile)g(/dev/null)64 3548 y()151 +3648 y(require)e(valid-user)64 3747 y()20 3947 +y(cd)j(/usr/local/apac)o(he/)o(cu)o(rr)o(ent)o(/b)o(in)342 +b(Verzeichnis)39 b(wechseln,)h(Apache1.3)20 4046 y(cd)j +(/usr/local/apac)o(he2)o(/c)o(ur)o(ren)o(t/)o(bin)298 +b(Verzeichnis)39 b(wechseln,)h(Apache2)20 4146 y(./htpasswd)f(--help) +1000 b(Hilfe)42 b(zu)g(htpasswd)20 4245 y(./htpasswd)d(-c)k +(/srv/www/htdocs/)o(php)o(My)o(Ad)o(min)o(/.)o(ht)o(pas)o(sw)o(d)37 +b(root)1763 4345 y(Apache1.3)20 4445 y(./htpasswd)i(-c)k +(/srv/www2/htdocs)o(/ph)o(pM)o(yA)o(dmi)o(n/)o(.h)o(tpa)o(ss)o(wd)37 +b(root)1763 4544 y(Apache2)20 4744 y(vi)43 b(/etc/apache/htt)o(pd.)o +(co)o(nf)647 b(Apache1.3)40 b(anpassen)3037 5092 y Fk(91)p +eop end +%%Page: 92 92 +TeXDict begin 92 91 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.92) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(10.)41 +b(MySQL)640 360 y Fd(vi)i(/etc/apache2/htt)o(pd)o(.c)o(onf)603 +b(Apache2)41 b(anpassen)684 460 y() +771 559 y(Options)h(Indexes)h(FollowSymLinks)d(MultiViews)771 +659 y(AllowOverride)g(AuthConfig)562 b(None)42 b(->)h(AuthConfig)771 +758 y(Order)e(allow,deny)771 858 y(Allow)g(from)h(all)684 +958 y()640 1157 y(/etc/init.d/apac)o(he)37 +b(graceful)563 b(Einstellungen)38 b(neu)43 b(einlesen,)c(Apache1.3)640 +1257 y(/etc/init.d/apac)o(he2)e(graceful)519 b(Einstellungen)38 +b(neu)43 b(einlesen,)c(Apache2)640 1456 y(exit)1567 b(root)42 +b(abmelden)640 5092 y Fk(92)p eop end +%%Page: 93 93 +TeXDict begin 93 92 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.93) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.11) cvn /DEST pdfmark end + 20 277 a 522 x Fm(11.)100 b(PHP)20 +973 y +SDict begin H.S end + 20 973 a 20 973 a +SDict begin 12 H.A end + 20 973 a 20 973 a +SDict begin [/View [/XYZ H.V]/Dest (section.11.1) cvn /DEST pdfmark +end + 20 973 a 152 +x Fe(11.1.)68 b(Einleitung)20 1310 y Fd(Wer)42 b(hat)h(PHP)f(erfunden)e +(?)436 b(Der)42 b(Kanada-D\344ne)d(Rasmus)i(Lerdorf)f(!)20 +1410 y(Was)i(heist)g(PHP)g(?)741 b(Personal)40 b(Home)i(Page)f(Tools)20 +1509 y(Was)h(ist)h(PHP)f(?)828 b(Eine)41 b(einfache)g(Skriptsprache.)c +(Sie)43 b(wird)e(direkt)1415 1609 y(in)h(HTML-Seiten)d(eingef\374gt)h +(und)i(vom)h(Webserver)1415 1709 y(interpretiert.)20 +1808 y(Wie)f(funktioniert)d(PHP)j(?)436 b(Der)42 b(Browser)e(schickt)h +(einen)g(HTTP-Request)e(an)k(den)1415 1908 y(Webserver.)c(Der)j(Server) +f(reagiert,)f(liest)h(die)1415 2008 y(PHP-Seite)e(ein,)j(und)g +(f\374hrt)g(die)g(Skripte)f(aus)h(und)1415 2107 y(schickt)e(erst)i(das) +g(fertig)f(zusammengesetzte)1415 2207 y(Dokument)f(zur\374ck)h(an)h +(den)h(Browser)d(!)20 2406 y(LAMP)i(-)h(Linux-Apache-MyS)o(QL)o(-PH)o +(P)20 2506 y(WAMP)f(-)h(Windows-Apache-M)o(yS)o(QL-)o(PH)o(P)20 +2658 y +SDict begin H.S end + 20 2658 a 20 2658 a +SDict begin 12 H.A end + 20 2658 a 20 2658 a +SDict begin [/View [/XYZ H.V]/Dest (section.11.2) cvn /DEST pdfmark +end + 20 2658 +a 133 x Fe(11.2.)68 b(K)l(ompilieren)45 b(und)f(Installieren)20 +2898 y +SDict begin H.S end + 20 2898 a 20 2898 a +SDict begin 12 H.A end + 20 2898 a 20 2898 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.11.2.1) cvn /DEST pdfmark +end + 20 2898 +a 95 x Fi(11.2.1.)57 b(Anfo)m(rderungen)145 3150 y Fb(\210)41 +b Fk(PHP)29 b(4)e(o)r(der)g(5,)g(erh\344ltlic)n(h)g(b)r(ei)h(h)n +(ttp://www.php.net/)145 3324 y Fb(\210)41 b Fk(Lin)n(ux)27 +b(ab)g(2.4.xx\(z.B.Debian)g(Sarge)f(3.1\))145 3498 y +Fb(\210)41 b Fk(ANSI-C-Compiler)20 b(und)h(Generierungsw)n(erkzeuge,)c +(GNU)22 b(C)e(Compiler)g(\(GCC\))i(ab)e(V)-7 b(er-)228 +3597 y(sion)27 b(2.7.2,)f(w)n(esen)n(tlic)n(he)h(Generierungsw)n +(erkzeuge)d(wie)j(mak)n(e)145 3771 y Fb(\210)41 b Fk(W)-7 +b(ebserv)n(er)26 b(z.B.)h(Apac)n(he)g(1.3)g(o)r(der)g(2)145 +3945 y Fb(\210)41 b Fk(GD-Library)34 b(ab)i(2.x.x,)f(erh\344ltlic)n(h)h +(b)r(ei)g(h)n(ttp://www.b)r(outell.com/gd/,)e(F)-7 b(reet)n(yp)r(e)36 +b(ab)228 4045 y(2.x.x,)17 b(erh\344ltlic)n(h)h(b)r(ei)h(h)n +(ttp://www.freet)n(yp)r(e.org/,)d(Zlib)i(ab)g(1.x.x,)g(erh\344ltlic)n +(h)f(b)r(ei)i(h)n(ttp://www.gzip.org/zlib/,)228 4145 +y(IJG)27 b(JPEG,)i(erh\344ltlic)n(h)d(b)r(ei)i(h)n(ttp://www.ijg.org/) +20 4290 y +SDict begin H.S end + 20 4290 a 20 4290 a +SDict begin 12 H.A end + 20 4290 a 20 4290 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.11.2.2) cvn /DEST pdfmark +end + 20 +4290 a 97 x Fi(11.2.2.)57 b(V)m(o)m(rb)s(ereitungen)20 +4544 y Fd(su)1655 b(als)42 b(root)g(anmelden)20 4644 +y(mkdir)g(/usr/local/src)865 b(das)42 b(Verzeichnis)d(/usr/local/src)f +(anlegen,)1763 4744 y(wenn)k(es)h(noch)f(nicht)f(vorhanden)f(ist)3037 +5092 y Fk(93)p eop end +%%Page: 94 94 +TeXDict begin 94 93 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.94) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(11.)41 +b(PHP)640 360 y Fd(chmod)h(777)g(/usr/local/src)691 b(Verzeichnis-Rech) +o(te)37 b(setzen)640 460 y(exit)1567 b(root)42 b(abmelden)640 +559 y(cp)h(Quelldateien)38 b(/usr/local/src)430 b(Quelldateien)39 +b(kopieren)640 701 y +SDict begin H.S end + 640 701 a 640 701 a +SDict begin 12 H.A end + 640 701 a 640 +701 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.11.2.3) cvn /DEST pdfmark +end + 640 701 a 99 x Fi(11.2.3.)57 b(Lib)m(ra)m(ries)35 +b(f\374r)i(Zusatzfunktionen)640 855 y +SDict begin H.S end + 640 855 a 640 855 +a +SDict begin 12 H.A end + 640 855 a 640 855 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.23) cvn /DEST pdfmark +end + 640 855 a 640 956 a +SDict begin H.S end + 640 956 a 640 +956 a +SDict begin 12 H.A end + 640 956 a 640 956 a +SDict begin [/View [/XYZ H.V]/Dest (section*.22) cvn /DEST pdfmark +end + 640 956 a Fj(F)m(reet)m(yp)s(e)640 +1112 y Fd(cd)43 b(/usr/local/src)996 b(Verzeichnis)39 +b(wechseln)640 1212 y(tar)j(xvfj)g(freetype-2.1.9.ta)o(r.)o(bz)o(2)386 +b(Quelldateien)39 b(entpacken)640 1311 y(cd)k(freetype-2.1.9)996 +b(in)43 b(das)f(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)640 +1411 y(./configure)1259 b(Codebaum)40 b(konfigurieren)640 +1511 y(make)1567 b(Programm)40 b(herstellen)640 1610 +y(su)1655 b(als)42 b(root)g(anmelden)640 1710 y(make)g(install)1217 +b(Programm)40 b(installieren)640 1810 y(exit)1567 b(root)42 +b(abmelden)640 1932 y +SDict begin H.S end + 640 1932 a 640 1932 a +SDict begin 12 H.A end + 640 1932 +a 640 1932 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.25) cvn /DEST pdfmark +end + 640 1932 a 640 2034 a +SDict begin H.S end + 640 2034 a 640 2034 +a +SDict begin 12 H.A end + 640 2034 a 640 2034 a +SDict begin [/View [/XYZ H.V]/Dest (section*.24) cvn /DEST pdfmark +end + 640 2034 a Fj(Zlib)640 2190 y +Fd(cd)h(/usr/local/src)996 b(Verzeichnis)39 b(wechseln)640 +2289 y(tar)j(xvfz)g(zlib-1.2.1.tar.gz)603 b(Quelldateien)39 +b(entpacken)640 2389 y(cd)k(zlib-1.2.1)1172 b(in)43 b(das)f +(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)640 2489 +y(./configure)1259 b(Codebaum)40 b(konfigurieren)640 +2588 y(make)1567 b(Programm)40 b(herstellen)640 2688 +y(su)1655 b(als)42 b(root)g(anmelden)640 2788 y(make)g(install)1217 +b(Programm)40 b(installieren)640 2887 y(exit)1567 b(root)42 +b(abmelden)640 3010 y +SDict begin H.S end + 640 3010 a 640 3010 a +SDict begin 12 H.A end + 640 3010 +a 640 3010 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.27) cvn /DEST pdfmark +end + 640 3010 a 640 3111 a +SDict begin H.S end + 640 3111 a 640 3111 +a +SDict begin 12 H.A end + 640 3111 a 640 3111 a +SDict begin [/View [/XYZ H.V]/Dest (section*.26) cvn /DEST pdfmark +end + 640 3111 a Fj(IJG)31 b(JPEG)640 +3267 y Fd(cd)43 b(/usr/local/src)996 b(Verzeichnis)39 +b(wechseln)640 3367 y(tar)j(xvfz)g(jpegsrc.v6b.tar.g)o(z)560 +b(Quelldateien)39 b(entpacken)640 3467 y(cd)k(jpeg-6b)1304 +b(in)43 b(das)f(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)640 +3566 y(./configure)i(--help)956 b(Hilfe)42 b(zu)g(den)h(m\366glichen)c +(Optionen)640 3666 y(./configure)g(--enable-shared)1163 +3766 y(--enable-static)1163 3865 y(--prefix=/usr/lo)o(ca)o(l)640 +3965 y(make)1567 b(Programm)40 b(herstellen)640 4064 +y(make)i(test)1349 b(Programm)40 b(testen)640 4164 y(su)1655 +b(als)42 b(root)g(anmelden)640 4264 y(make)g(install)1217 +b(Programm)40 b(installieren)640 4363 y(exit)1567 b(root)42 +b(abmelden)640 4486 y +SDict begin H.S end + 640 4486 a 640 4486 a +SDict begin 12 H.A end + 640 4486 +a 640 4486 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.29) cvn /DEST pdfmark +end + 640 4486 a 640 4587 a +SDict begin H.S end + 640 4587 a 640 4587 +a +SDict begin 12 H.A end + 640 4587 a 640 4587 a +SDict begin [/View [/XYZ H.V]/Dest (section*.28) cvn /DEST pdfmark +end + 640 4587 a Fj(GD-Lib)m(ra)m(ry)640 +4744 y Fd(cd)h(/usr/local/src)996 b(Verzeichnis)39 b(wechseln)640 +5092 y Fk(94)p eop end +%%Page: 95 95 +TeXDict begin 95 94 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.95) cvn /DEST pdfmark end + 12 -5 a 1870 128 a Fh(11.2.)40 b(K)n(ompilieren)26 +b(und)i(Installieren)20 360 y Fd(tar)42 b(xvfz)g(gd-2.0.28.tar.gz)647 +b(Quelldateien)39 b(entpacken)20 460 y(cd)k(gd-2.0.28)1216 +b(in)43 b(das)f(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)20 +559 y(./configure)1259 b(Codebaum)40 b(konfigurieren)20 +659 y(make)1567 b(Programm)40 b(herstellen)20 758 y(su)1655 +b(als)42 b(root)g(anmelden)20 858 y(make)g(install)1217 +b(Programm)40 b(installieren)20 958 y(exit)1567 b(root)42 +b(abmelden)20 1141 y +SDict begin H.S end + 20 1141 a 20 1141 a +SDict begin 12 H.A end + 20 1141 a 20 +1141 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.11.2.4) cvn /DEST pdfmark +end + 20 1141 a 132 x Fi(11.2.4.)57 b(PHP)20 1456 y +Fd(cd)43 b(/usr/local/src)996 b(Verzeichnis)39 b(wechseln)20 +1556 y(tar)j(xvfj)g(php-5.0.1.tar.bz)o(2)604 b(Quelldateien)39 +b(entpacken)20 1655 y(cd)k(php-5.0.1)1216 b(in)43 b(das)f +(Quelldatei-Verze)o(ich)o(ni)o(s)37 b(wechseln)20 1755 +y(./configure)i(--help)956 b(Hilfe)42 b(zu)g(den)h(m\366glichen)c +(Optionen)20 1854 y(./configure)g(--with-apxs=/usr)o(/l)o(oca)o(l/)o +(ap)o(ach)o(e/)o(cu)o(rre)o(nt)o(/b)o(in/)o(ap)o(xs)255 +b(Apache)41 b(1.3)h(oder)543 1954 y(--with-apxs2=/us)o(r/)o(loc)o(al)o +(/a)o(pac)o(he)o(2/)o(cur)o(re)o(nt)o(/bi)o(n/)o(ap)o(xs)168 +b(Apache)41 b(2)543 2054 y(--with-mysql=/us)o(r/)o(loc)o(al)o(/m)o(ysq) +o(l/)o(cu)o(rre)o(nt)543 2153 y(--with-zlib)543 2253 +y(--with-ftp)543 2353 y(--with-gd)543 2452 y(--with-jpeg-dir=)o(/u)o +(sr/)o(lo)o(ca)o(l/l)o(ib)543 2552 y(--enable-version)o(in)o(g)543 +2651 y(--enable-track-v)o(ar)o(s=y)o(es)543 2751 y(--enable-url-inc)o +(lu)o(des)543 2851 y(--enable-sysvshm)o(=y)o(es)543 2950 +y(--enable-sysvsem)o(=y)o(es)543 3050 y(--with-config-fi)o(le)o(-pa)o +(th)o(=/)o(etc)20 3150 y(make)1567 b(Programm)40 b(herstellen)20 +3249 y(su)1655 b(als)42 b(root)g(anmelden)20 3349 y(make)g(install)1217 +b(Programm)40 b(installieren)20 3448 y(cp)j(php.ini-dist)38 +b(/etc/php.ini)518 b(PHP-Konfiguratio)o(n)37 b(kopieren)20 +3648 y(vi)43 b(/etc/apache/htt)o(pd.)o(co)o(nf)647 b(Apache1.3)40 +b(anpassen)20 3747 y(vi)j(/etc/apache2/ht)o(tpd)o(.c)o(on)o(f)604 +b(Apache2)41 b(anpassen)64 3847 y(LoadModule)e(php5_module)344 +b(modules/libphp5.)o(so)1763 3947 y(Apache2)64 4046 y(LoadModule)39 +b(php5_module)344 b(libexec/libphp5.)o(so)1763 4146 y(Apache1.3)64 +4245 y(AddModule)39 b(mod_php5.c)824 b(Apache1.3)64 4345 +y(DirectoryIndex)37 b(index.html)j(index.htm)f(index.html.var)f +(index.php)i(index.phtml)64 4445 y(AddType)g(application/x-ht)o(tpd)o +(-p)o(hp)d(.php)64 4544 y(AddType)j(application/x-ht)o(tpd)o(-p)o(hp-)o +(so)o(ur)o(ce)d(.phps)20 4744 y(exit)1567 b(root)42 b(abmelden)3037 +5092 y Fk(95)p eop end +%%Page: 96 96 +TeXDict begin 96 95 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.96) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(11.)41 +b(PHP)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 277 +a +SDict begin [/View [/XYZ H.V]/Dest (section.11.3) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(11.3.)68 b(Referenz)640 444 y +SDict begin H.S end + 640 +444 a 640 444 a +SDict begin 12 H.A end + 640 444 a 640 444 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.11.3.1) cvn /DEST pdfmark +end + 640 444 a 116 x Fi(11.3.1.)57 +b(Grundlagen)640 713 y Fd()h(oder)f(\045>)958 +b(Ende)41 b(des)i(PHP-Abschnitts)640 913 y(;)1351 b(Zeilenende)640 +1012 y(//)43 b(Kommentartext)692 b(Einzeiliger)38 b(Kommentartext)640 +1112 y(/*)43 b(Kommentartext)692 b(Einleitung,)38 b(mehrzeiliger)h +(Kommentartext)640 1211 y(Kommentartext)f(*/)697 b(Abschluss,)39 +b(mehrzeiliger)f(Kommentartext)640 1311 y($)1351 b(Variablen)39 +b(anfang)640 1411 y(echo)j("Text")f(;)828 b(Text)41 b(ausgeben)640 +1510 y(echo)h("Text)f($Variable)f(Text")i(;)174 b(Variable)40 +b(ausgeben)640 1610 y(echo)i("Text".$Variable)o(.")o(Tex)o(t")37 +b(;)87 b(.)43 b(Verketten)c(von)k(Zeichenfolgen)640 1710 +y(echo)f("Text\\n")e(;)741 b(\\n)42 b(Erzeugt)f(eine)h(neue)g(Zeile)640 +1809 y(echo)g("Text\\r")e(;)741 b(\\r)42 b(Erzeugt)f(einen)g(neuen)h +(Absatz)f(\(return\))640 1909 y(echo)h("Text\\tText")d(;)566 +b(\\t)42 b(Erzeugt)f(ein)h(Tabulatorschritt)640 2008 +y(echo)g("\\"Text\\"")d(;)654 b(\\")42 b(G\344nsef\374\377chen)d +(ausgeben)640 2108 y(echo)j("\\'Text\\'")d(;)654 b(\\')42 +b(Einfache)e(Anf\374hrungszeichen)d(ausgeben)640 2208 +y(echo)42 b("\\$Text\\$")d(;)654 b(\\$)42 b(Dollar-Zeichen)c(ausgeben) +640 2307 y(echo)k("\\\\Text\\\\")d(;)654 b(\\\\)42 b(Backslash)e +(ausgeben)640 2407 y($Array[Indexwert)o(]=")o(We)o(rt)o(")e(;)261 +b(Wert)41 b(einer)h(Array-Variable)c(zuweisen)i(\(Langform\))640 +2507 y($Array=array\("W0)o(",")o(W1)o("\))d(;)305 b(Werte)41 +b(einer)g(Array-Variable)d(zuweisen)i(\(Kurzform\))640 +2606 y(echo)i($Array[Indexwert)o(])37 b(;)349 b(Wert)41 +b(einer)h(Array-Variable)c(ausgeben)640 2706 y($Array[Index-Ers)o(atz)o +(]=)o("W)o(ert)o(")f(;)131 b(Wert)41 b(eines)h(Assoziativen-Arr)o(ay)o +(s)37 b(zuweisen)k(\(Langf.\))640 2806 y($Array=array\("I-)o(E0")o(=>)o +("W)o(0",)o("I)o(-E)o(1"=)o(>")o(W1)o("\))c(;)2035 2905 +y(Werte)k(eines)g(Assoziativen-Arra)o(ys)c(zuweisen\(Kurzf.\))640 +3005 y(echo)42 b($Array[Index-Ers)o(at)o(z])37 b(;)218 +b(Wert)41 b(eines)h(Assoziativen-Arr)o(ay)o(s)37 b(ausgeben)640 +3104 y($a=$b+$c)j(;)959 b(Addition)40 b(von)i($b)h(und)f($c)h(gleich)e +($a)640 3204 y($a=$b-$c)f(;)959 b(Subtraktion)38 b(von)43 +b($b)g(minus)e($c)i(gleich)e($a)640 3304 y($a=$b*$c)f(;)959 +b(Multiplikation)37 b(von)43 b($b)f(mal)h($c)f(gleich)f($a)640 +3403 y($a=$b/$c)f(;)959 b(Division)40 b($b)i(geteilt)f(durch)h($c)g +(gleich)f($a)640 3503 y($a++)h(;)1133 b($a=$a+1)40 b(;)640 +3603 y($a--)i(;)1133 b($a=$a-1)40 b(;)640 3702 y($a=3.1415)g(;)915 +b(.)43 b(Dezimaltrenner)640 3830 y +SDict begin H.S end + 640 3830 a 640 3830 +a +SDict begin 12 H.A end + 640 3830 a 640 3830 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.11.3.2) cvn /DEST pdfmark +end + 640 3830 a 105 x Fi(11.3.2.)57 +b(F)m(unktionen)640 4088 y Fd(phpinfo\(\))40 b(;)915 +b(PHP-Information)o(en)37 b(ausgeben)640 4187 y($Wochentag=date\()o +("w")o(\))g(;)436 b(Wochentag)39 b(ermitteln)h(0-So)i(bis)g(6-Sa)640 +4287 y($Monatszahl=date)o(\("m)o("\))37 b(;)392 b(Monatszahl)39 +b(ermitteln)640 4387 y($Anzahl=count\($A)o(rra)o(y\))e(;)392 +b(Elemet-Anzahl)38 b(eines)j(Arrays)g(ermitteln)640 4486 +y($Wert=round\($Wer)o(t,N)o(ac)o(hk)o(omm)o(as)o(te)o(lle)o(n\))c(;)130 +b(Rundet)41 b(den)i(Wert)e(mit)i(Nachkommastelle)o(n)640 +4586 y($Wert=sprintf\("\045)o(01.)o(2f)o(",)o($We)o(rt)o(\))37 +b(;)44 b(Rundet)d(den)h(Wert)g(auf)g(2)h(:Nachkommastelle)o(n)640 +5092 y Fk(96)p eop end +%%Page: 97 97 +TeXDict begin 97 96 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.97) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 277 +a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.12) cvn /DEST pdfmark end + 20 277 a 522 x Fm(12.)100 b(Squid)20 +1007 y +SDict begin H.S end + 20 1007 a 20 1007 a +SDict begin 12 H.A end + 20 1007 a 20 1007 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.1) cvn /DEST pdfmark +end + 20 1007 +a 118 x Fe(12.1.)68 b(Pro)l(xy)20 1311 y Fk(Squid)28 +b(=)f(Pro)n(xy-Cac)n(he)e(=)j(Stellv)n(ertreter-Zwisc)n(hensp)r(eic)n +(her)20 1461 y +SDict begin H.S end + 20 1461 a 20 1461 a +SDict begin 12 H.A end + 20 1461 a 20 1461 +a +SDict begin [/View [/XYZ H.V]/Dest (section.12.2) cvn /DEST pdfmark +end + 20 1461 a 136 x Fe(12.2.)68 b(Einfacher)45 b(Cache)64 +1782 y Fd(*--------------)o(-*)211 b(*------------*)82 +b(|)k(*---------*)d(|)j(*------------*)64 1882 y(|)43 +b(lokaler)d(Cache)i(|<--->|)e(WWW-Client)g(|<--->|)g(Intenet)h(|<--->|) +g(WWW-Server)e(|)64 1982 y(*--------------)o(-*)211 b(*------------*)82 +b(|)k(*---------*)d(|)j(*------------*)64 2081 y(Die)42 +b(einfachste)d(form)j(des)g(Caches)347 b(|)653 b(|)20 +2222 y +SDict begin H.S end + 20 2222 a 20 2222 a +SDict begin 12 H.A end + 20 2222 a 20 2222 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.3) cvn /DEST pdfmark +end + 20 2222 +a 145 x Fe(12.3.)68 b(Pro)l(xy)45 b(Cache)64 2553 y Fd(*------------*) +64 2653 y(|)e(WWW-Client)c(|<-+)826 b(|)654 b(|)64 2752 +y(*------------*)81 b(|)827 b(|)654 b(|)761 2852 y(|)827 +b(|)654 b(|)64 2951 y(*------------*)81 b(|)87 b(*-------------*)80 +b(|)87 b(*---------*)c(|)j(*------------*)64 3051 y(|)43 +b(WWW-Client)c(|<-+->|)i(Proxy)g(Cache)h(|<--->|)e(Intenet)h(|<--->|)f +(WWW-Server)g(|)64 3151 y(*------------*)81 b(|)87 b(*-------------*)80 +b(|)87 b(*---------*)c(|)j(*------------*)761 3250 y(|)827 +b(|)654 b(|)64 3350 y(*------------*)81 b(|)827 b(|)654 +b(|)64 3450 y(|)43 b(WWW-Client)c(|<-+)826 b(|)654 b(|)64 +3549 y(*------------*)20 3683 y +SDict begin H.S end + 20 3683 a 20 3683 a +SDict begin 12 H.A end + 20 +3683 a 20 3683 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.4) cvn /DEST pdfmark +end + 20 3683 a 152 x Fe(12.4.)68 b(Aufgab)t(en)145 +4021 y Fb(\210)41 b Fk(Zwisc)n(hensp)r(eic)n(hern)27 +b(v)n(on)h(In)n(ternetseitten)h(->)f(Besc)n(hleunigter)g(Zugri\033)g +(auf)h(In)n(ternetin-)228 4120 y(halte)145 4295 y Fb(\210)41 +b Fk(Abk)n(opp)r(elung)f(v)n(om)g(direkten)h(Zugri\033)f(auf)h(das)f +(In)n(ternet)h(->)f(Erh\366te)h(Sic)n(herheit)f(im)228 +4394 y(lok)-5 b(alem)27 b(Netz)145 4569 y Fb(\210)41 +b Fk(Filterung)27 b(v)n(on)g(In)n(terrnetseiten)145 4744 +y Fb(\210)41 b Fk(Protok)n(ollierung)25 b(des)i(In)n(ternetv)n(erk)n +(ehrs)3037 5092 y(97)p eop end +%%Page: 98 98 +TeXDict begin 98 97 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 a +632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.98) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(12.)41 +b(Squid)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 277 +a +SDict begin [/View [/XYZ H.V]/Dest (section.12.5) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(12.5.)68 b(Eigenschaften)765 556 +y Fb(\210)41 b Fk(Gr\366\377e)26 b(des)h(Cac)n(he)g(k)-5 +b(ann)28 b(frei)f(de\034niert)h(w)n(erden)765 748 y Fb(\210)41 +b Fk(Aufbau)28 b(v)n(on)f(Cac)n(he-Hierarc)n(hien)765 +939 y Fb(\210)41 b Fk(Eigener)27 b(DNS-Cac)n(he)765 1131 +y Fb(\210)41 b Fk(Authen)n(ti\034zierung)27 b(\374b)r(er)h +(zus\344tzlic)n(he)f(Mo)r(dule)g(m\366glic)n(h)765 1323 +y Fb(\210)41 b Fk(F\374r)27 b(Win,)h(OS/2,)f(Lin)n(ux,)g(BSD,)h +(Solaris)e(v)n(erf\374gbar)765 1515 y Fb(\210)41 b Fk(Aus\034lterung)27 +b(und)h(Anon)n(ymisierung)e(der)i(Anfragen)765 1707 y +Fb(\210)41 b Fk(Sehr)27 b(\035exible)h(Zugri\033sk)n(on)n(trolle)765 +1899 y Fb(\210)41 b Fk(Filterung)27 b(\374b)r(er)h(externe)f(Programme) +f(\(Squid-Guard\))640 2073 y +SDict begin H.S end + 640 2073 a 640 2073 a +SDict begin 12 H.A end + 640 +2073 a 640 2073 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.6) cvn /DEST pdfmark +end + 640 2073 a 135 x Fe(12.6.)68 b(Protok)l(olle)640 +2296 y +SDict begin H.S end + 640 2296 a 640 2296 a +SDict begin 12 H.A end + 640 2296 a 640 2296 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.12.6.1) cvn /DEST pdfmark +end + 640 +2296 a 123 x Fi(12.6.1.)57 b(Client-K)m(ommunik)m(ation)765 +2584 y Fb(\210)41 b Fk(Hyp)r(er)27 b(T)-7 b(ext)28 b(T)-7 +b(ransfer)26 b(Proto)r(col)h(\(HTTP\))765 2776 y Fb(\210)41 +b Fk(File)28 b(T)-7 b(ransfer)26 b(Proto)r(col)h(\(FTP\))765 +2968 y Fb(\210)41 b Fk(Gopher)765 3160 y Fb(\210)g Fk(Wide)28 +b(Area)f(Information)f(Service)h(\(W)-9 b(AIS\))765 3352 +y Fb(\210)41 b Fk(Secure)27 b(So)r(c)n(k)n(et)g(La)n(y)n(er)e(\(SSL\)) +640 3517 y +SDict begin H.S end + 640 3517 a 640 3517 a +SDict begin 12 H.A end + 640 3517 a 640 3517 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.12.6.2) cvn /DEST pdfmark +end + 640 3517 a 101 x Fi(12.6.2.)57 b(K)m(ommunik)m(ation)34 +b(zwischen)i(Pro)m(xy-Cache-Servern)765 3784 y Fb(\210)41 +b Fk(Hyp)r(erT)-7 b(ext)27 b(T)-7 b(ransfer)27 b(Proto)r(col)f +(\(HTTP\))765 3976 y Fb(\210)41 b Fk(In)n(ternet)27 b(Cac)n(he)g(Proto) +r(col)g(\(ICP\(3130\)\))765 4168 y Fb(\210)41 b Fk(Cac)n(he)26 +b(Digests)i(\(Index)g(v)n(on)e(anderen)h(Cac)n(hes)g(abfragen\))765 +4360 y Fb(\210)41 b Fk(Simple)28 b(Net)n(w)n(ork)e(Managemen)n(t)g +(Proto)r(col)h(\(SNMP\))765 4552 y Fb(\210)41 b Fk(Hyp)r(erT)-7 +b(ext)27 b(Cac)n(hing)g(Proto)r(col)f(\(HTCP\(4837\)\))765 +4744 y Fb(\210)41 b Fk(W)-7 b(eb)28 b(Cac)n(he)e(Co)r(ordination)h +(Proto)r(col)f(\(W)n(CCP\))640 5092 y(98)p eop end +%%Page: 99 99 +TeXDict begin 99 98 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a 12 +-5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.99) cvn /DEST pdfmark end + 12 -5 a 2058 128 a Fh(12.7.)40 b(System)n(v)n +(oraussetzungen)20 277 y +SDict begin H.S end + 20 277 a 20 277 a +SDict begin 12 H.A end + 20 277 a 20 +277 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.7) cvn /DEST pdfmark +end + 20 277 a 83 x Fe(12.7.)68 b(Systemvo)l(raussetzungen)145 +542 y Fb(\210)41 b Fk(Langsamme)26 b(CPU)145 705 y Fb(\210)41 +b Fk(Viel)28 b(RAM)145 868 y Fb(\210)41 b Fk(Sc)n(hnelle)27 +b(F)-7 b(estplatte\(n\))145 1031 y Fb(\210)41 b Fk(Gro\377e)26 +b(F)-7 b(estplatte\(n\))20 1175 y +SDict begin H.S end + 20 1175 a 20 1175 a +SDict begin 12 H.A end + +20 1175 a 20 1175 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.8) cvn /DEST pdfmark +end + 20 1175 a 129 x Fe(12.8.)68 b(SuSE)47 +b(Linux)20 1486 y Fd(rcsquid)41 b(start)477 b(Squid)41 +b(starten)20 1585 y(rcsquid)g(stop)521 b(Squid)41 b(stoppen)20 +1685 y(rcsquid)g(restart)389 b(Squid)41 b(stoppen)g(und)h(dann)g +(starten)20 1785 y(rcsquid)f(status)433 b(Squid)41 b(info)20 +1927 y +SDict begin H.S end + 20 1927 a 20 1927 a +SDict begin 12 H.A end + 20 1927 a 20 1927 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.9) cvn /DEST pdfmark +end + 20 1927 +a 131 x Fe(12.9.)68 b(Automatische)43 b(Sta)l(rten)h(von)h(Squit)20 +2240 y Fd(cd)e(/etc/rc.d/rc5.d)o(/)20 2339 y(ln)g(-s)g(../squid)d +(S22squid)389 b(Link)41 b(zum)i(automatischen)38 b(Starten)i(in)j +(Runlevel)d(5)1415 2439 y(anlegen.)20 2538 y(ln)j(-s)g(../squid)d +(K02squid)389 b(Link)41 b(zum)i(automatischen)38 b(Beenden)i(in)j +(Runlevel)d(5)1415 2638 y(anlegen.)20 2780 y +SDict begin H.S end + 20 2780 +a 20 2780 a +SDict begin 12 H.A end + 20 2780 a 20 2780 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.10) cvn /DEST pdfmark +end + 20 2780 a 131 x Fe(12.10.)68 +b(Squiddateien)20 3093 y Fd(/etc/squid.conf)735 b(Squid)41 +b(Konfigurationsda)o(te)o(i)20 3193 y(/usr/share/squid)o(/e)o(rro)o(rs) +o(/)343 b(Fehlermeldungen)37 b(die)42 b(der)g(Squid)g(ausgibt)20 +3292 y(/var/cache/squid)o(/)648 b(Squid-Cache)20 3392 +y(/var/log/squid/a)o(cc)o(ess)o(.l)o(og)299 b(Log-Datei)39 +b(mit)k(allen)e(Zugriffen)20 3492 y(/var/log/squid/c)o(ac)o(he.)o(lo)o +(g)343 b(Cache-Aktivitae)o(te)o(n)20 3634 y +SDict begin H.S end + 20 3634 a +20 3634 a +SDict begin 12 H.A end + 20 3634 a 20 3634 a +SDict begin [/View [/XYZ H.V]/Dest (section.12.11) cvn /DEST pdfmark +end + 20 3634 a 131 x Fe(12.11.)68 +b(squid.conf)20 3947 y Fd(http_port:)39 b(Proxy-Portnummer)20 +4046 y(#)k(http_port)d(3128)20 4146 y(http_port)g(8080)20 +4345 y(cache_mem:)f(Hauptspeicherverb)o(ra)o(uch)e(\(x3\))20 +4445 y(#)43 b(cache_mem)d(8)j(MB)20 4644 y(maximum_object_s)o(iz)o(e:) +37 b(maximale)j(groe\377e)h(einer)h(Datei)f(die)i(der)f(Proxy)f +(speichert)20 4744 y(#)i(maximum_object_s)o(ize)37 b(4096)42 +b(KB)3037 5092 y Fk(99)p eop end +%%Page: 100 100 +TeXDict begin 100 99 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.100) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(12.)41 +b(Squid)640 460 y Fd(minimum_object_s)o(ize)o(:)c(minimale)j(groe\377e) +h(einer)h(Datei)f(die)i(der)f(Proxy)f(speichert)640 559 +y(#)i(minimum_object_si)o(ze)37 b(0)43 b(KB)640 758 y(cache_dir:)c +(Verzeichnisname)f(Groe\377eMByte)h(Ebene1)i(Ebene2)640 +858 y(#)i(cache_dir)d(ufs)i(/var/cache/squid)37 b(100)42 +b(16)h(256)640 958 y(cache_dir)d(ufs)i(/var/cache/squid)37 +b(400)42 b(16)h(256)640 1157 y(cache_access_log)o(:)38 +b(Log-Datei)h(mit)k(allen)e(Zugriffen)640 1257 y(#)i(cache_access_log) +37 b(/var/log/squid/a)o(cc)o(ess)o(.l)o(og)640 1456 y(cache_log:)i +(Log-Datei)h(fuer)i(alle)g(Cache-Aktivitaet)o(en)640 +1556 y(#)h(cache_log)d(/var/log/squid/c)o(ac)o(he.)o(lo)o(g)640 +1755 y(debug_options:)e(ALL,1-normal)g(9-maximal)640 +1854 y(#)43 b(debug_options)38 b(ALL,1)640 2054 y(log_fqdn:)i(Bei)i(on) +h(wird)f(der)g(Name)g(und)g(bei)h(off)f(wird)g(die)g(IP-Nummer)1076 +2153 y(in)h(der)f(access.log)d(speichert)640 2253 y(#)k(log_fqdn)d(off) +640 2353 y(log_fqdn)g(off)640 2552 y(client_netmask:)d(Zum)43 +b(Anonymisieren)1337 2651 y(255.255.255.255)38 b(volle)j(IP-Nr.,)1337 +2751 y(255.255.255.0)d(ersten)j(3)j(Stellen)640 2851 +y(#)f(client_netmask)38 b(255.255.255.255)640 3050 y(ftp_user:)i +(Anonymer)g(FTP-Name)640 3150 y(#)j(ftp_user)d(Squid@)640 +3249 y(ftp_user)g(Anonymous@)640 3548 y(dns_children:)e(maximale)i +(Anzahl)h(der)i(DNS)f(Prozesse)640 3648 y(#)h(dns_children)c(5)640 +3847 y(dns_nameservers:)e(Eintrag)k(fuer)g(DNS-Server)640 +3947 y(#dns_nameservers)c(194.25.2.129)h(192.168.6.66)640 +4146 y(reference_age:)g(maximale)i(Alter)h(der)i(Cachefiles)c(\(0.0)j +(week/days/months)o(/h)o(ou)o(rs\))640 4245 y(#)h(reference_age)38 +b(1)44 b(year)640 4445 y(negative_ttl:)38 b(gibt)k(an)h(wie)f(lange)g +(eine)f(negative)g(DNS)h(Aufloesung)d(gueltig)i(ist)640 +4544 y(#)i(negative_ttl)c(5)k(minutes)640 4744 y(http_access:)c +(Zugriffsrechte)e(fuer)42 b(den)g(Cache)640 5092 y Fk(100)p +eop end +%%Page: 101 101 +TeXDict begin 101 100 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.101) cvn /DEST pdfmark end + 12 -5 a 2502 128 a Fh(12.11.)40 +b(squid.conf)20 360 y Fd(#)j(acl)g(-)g(aclname)d(acltype)h(string)g(-)i +(definiert)d(eine)i(Zuganskontrolle)37 b(und)42 b(Sperrliste)20 +460 y(#)h(src)g(-)g(Client)e(IP-Adresse/Adre)o(ssb)o(er)o(ei)o(ch)20 +559 y(#)i(dst)g(-)g(Zielserver)c(IP-Adresse/Adres)o(sb)o(ere)o(ic)o(h) +20 659 y(#)k(srcdomain)d(-)j(Client)e(\(Domain-\)Name)20 +758 y(#)i(dstdomain)d(-)j(Zielserver)c(\(Domain-\)Name)20 +858 y(#)k(srcdom_regex)c(-)k(Cient)e(\(Domain-\)Name)d(als)43 +b(RegEx)20 958 y(#)g(dstdom_regex)c(-)k(Zielserver)c(\(Domain-\)Name)f +(als)43 b(RegEx)20 1057 y(#)g(port)f(-)h(Port)f(oder)g(-bereich)e +(f\374r)j(Verbindungen)20 1157 y(#)g(proto)f(-)h(Protokoll)d(\(z.B.)h +(HTTP,)h(FTP)g(...\))g(f\374r)g(die)g(Verbindung)20 1257 +y(#)h(method)e(-)i(Methode)e(der)h(Verbindung)e(\(z.B.)h(GET,)h(POST)g +(...\))20 1356 y(#)h(proxy_auth)d(-)j(Benutzernamen)38 +b(bei)k(Authentifizierun)o(g)20 1456 y(#)h(urlpath_regex)38 +b(Teil)k(einer)g(URL)g(als)g(RegEx)20 1556 y(acl)g(all)h(src)f +(0.0.0.0/0.0.0.0)20 1655 y(acl)g(rotten)f(dstdomain)f(www.rotten.com)20 +1755 y(http_access)f(deny)j(rotten)20 1854 y(http_access)d(allow)i(all) +20 2054 y(cache_mgr:)e(E-Mail)i(bei)i(einen)e(Fehler)g(an:)i(E-Mail)e +(oder)g(Alias\(/etc/aliase)o(s\))20 2153 y(#)i(cache_mgr)d(webmaster)20 +2353 y(cache_effective_)o(us)o(er:)d(BenutzerName/ID)20 +2452 y(#)43 b(cache_effective_)o(use)o(r)37 b(squid)20 +2651 y(cache_effective_)o(gr)o(oup)o(:)g(GruppenName/ID)20 +2751 y(#)43 b(cache_effective_)o(gro)o(up)37 b(nogroup)20 +2950 y(visible_hostname)o(:)g(ServerName)j(bei)i(Fehlermeldungen)20 +3050 y(#)h(none)20 3150 y(visible_hostname)37 b(proxy.gelbdmz.lo)o(c)20 +3349 y(logfile_rotate:)g(Zeit)42 b(der)g(Logdateien)e(in)j(Wochen)20 +3448 y(#)g(logfile_rotate)38 b(0)20 3648 y(append_domain:)g(Kein)k +(Punkt)f(in)i(der)f(URL)g(?)i(Dann)d(diesen)g(Domainnamen)e(anhaengen) +20 3747 y(#)k(none)20 3847 y(append_domain)38 b(.meak.de)20 +4046 y(error_directory:)f(Verzeichnis)i(zu)k(den)f(Fehlermeldungen)37 +b(die)42 b(der)h(Squid)e(ausgibt)20 4146 y(#error_directory)c +(/usr/share/squid)o(/e)o(rr)o(ors)2996 5092 y Fk(101)p +eop end +%%Page: 102 102 +TeXDict begin 102 101 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.102) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 103 103 +TeXDict begin 103 102 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.103) cvn /DEST pdfmark end + 12 -5 a 20 1610 a +SDict begin H.S end + 20 1610 a 20 +1610 a +SDict begin 12 H.A end + 20 1610 a 20 1610 a +SDict begin [/View [/XYZ H.V]/Dest (part.4) cvn /DEST pdfmark end + 20 1610 a 1259 1788 a Fm(T)-17 +b(eil)69 b(IV.)791 2203 y Ff(Programmieren)2996 5092 +y Fk(103)p eop end +%%Page: 104 104 +TeXDict begin 104 103 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.104) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 105 105 +TeXDict begin 105 104 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.105) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.13) cvn /DEST pdfmark end + 20 277 a 533 x Fm(13.)100 b(Bash)20 +1000 y +SDict begin H.S end + 20 1000 a 20 1000 a +SDict begin 12 H.A end + 20 1000 a 20 1000 a +SDict begin [/View [/XYZ H.V]/Dest (section.13.1) cvn /DEST pdfmark +end + 20 1000 +a 162 x Fe(13.1.)68 b(Einleitung)20 1368 y Fd(Was)42 +b(heist)g(BASH)g(?)697 b(Bourne-Again)38 b(SHell)20 1568 +y(Was)k(ist)h(die)f(BASH)g(?)610 b(Standard-Shell)37 +b(der)42 b(meisten)f(Linux-Distributi)o(on)o(en)1415 +1667 y(Eine)g(fast)h(komplette)e(Programmiersprac)o(he)103 +1902 y Fk(BASH-Programme)26 b(w)n(erden)h(auc)n(h)g(SScripte"\(Protok)n +(olle\))f(genann)n(t)h(!)20 2104 y +SDict begin H.S end + 20 2104 a 20 2104 +a +SDict begin 12 H.A end + 20 2104 a 20 2104 a +SDict begin [/View [/XYZ H.V]/Dest (section.13.2) cvn /DEST pdfmark +end + 20 2104 a 142 x Fe(13.2.)68 b(Referenz)20 +2452 y Fd(#!/bin/bash)911 b(Pfad)41 b(zur)i(Shell)e(die)h(das)h +(Programm)d(ausf\374hren)g(soll)20 2552 y(chmod)i(u+x)g(Script)695 +b(Macht)41 b(das)h(Script)f(ausf\374hrbar)20 2651 y(bash)h(Script)f +(oder)h(sh)h(Script)259 b(so)42 b(gehts)g(auch)20 2851 +y(#)1351 b(Kommentar)39 b(bis)k(Zeilenende)20 2950 y(:)1351 +b(Null-Funktion.)37 b(Ein)42 b(Befehl,)f(der)h(nichts)f(tut.)20 +3050 y(\(\()i(oder)f([)20 3150 y(\)\))h(oder)f(])20 3249 +y(echo)g(Text)1001 b(Gibt)41 b(den)i(Text)f(aus)20 3349 +y(echo)g("Text")913 b(Gibt)41 b(den)i(Text)f(aus)20 3448 +y(echo)g(Text)129 b(Text)696 b(Gibt)41 b(den)i(Text)f(mit)g(nur)g +(einer)g(Leerstelle)d(aus)20 3548 y(echo)j("Text)129 +b(Text")608 b(Gibt)41 b(den)i(Text)f(mit)g(allen)f(Leerstellen)e(aus)20 +3648 y(echo)j(Text\\)f(\\)j(\\)f(Text)565 b(Gibt)41 b(den)i(Text)f(mit) +g(allen)f(Leerstellen)e(aus)20 3847 y(Variable=7)955 +b(Speichert)39 b(7)k(in)g(der)f(Variable)20 3947 y(Variable=z)955 +b(Speichert)39 b(z)k(in)g(der)f(Variable)20 4146 y(echo)g($Variable)781 +b(Gibt)41 b(den)i(Inhalt)e(der)h(Variable)e(aus)20 4245 +y(echo)i(${Variable})693 b(Gibt)41 b(den)i(Inhalt)e(der)h(Variable)e +(aus)20 4445 y(Wert=$[$Wert+1])735 b(Wert=Wert+1)20 4544 +y(Wert=$\(\($Wert+1\))o(\))648 b(Wert=Wert+1)20 4644 +y(:)43 b($[Wert+=1])868 b(Wert=Wert+1)20 4744 y(:)43 +b($\(\(Wert+=1\)\))780 b(Wert=Wert+1)2996 5092 y Fk(105)p +eop end +%%Page: 106 106 +TeXDict begin 106 105 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.106) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(13.)41 +b(Bash)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 277 +a +SDict begin [/View [/XYZ H.V]/Dest (section.13.3) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(13.3.)68 b(Steuer)44 b(und)h(Sonderzeichen)e(der)i +(Bash)640 544 y Fd(Zeichen)738 b(Funktion)640 643 y(-------)g(--------) +640 743 y(Leerzeichen)39 b(\(space\))215 b(Trenner)41 +b(zwischen)f(Programm-Parame)o(ter)o(n)640 842 y(Tabulator)g(\(tab\)) +390 b(Trenner)41 b(zwischen)f(Programm-Parame)o(ter)o(n)640 +942 y(Return)h(\(newline\))345 b(Befehlseingabe)640 1042 +y(\\)43 b(\(backslash\))475 b(Escape-Zeichen)640 1141 +y(|)43 b(\(pipe\))695 b(Verkettung)39 b(der)k(Ein-/Ausgabe)38 +b(mehrerer)i(Programme)640 1241 y(&)j(\(ampersand\))475 +b(Programm)40 b(als)i(Hintergrund-Proze)o(ss)37 b(starten,)1686 +1341 y(Ein-/Ausgabeumle)o(it)o(un)o(g)640 1440 y(;)43 +b(\(semikolon\))475 b(Trenner)41 b(zwischen)f(zwei)i(Programmaufrufe)o +(n)640 1540 y(\()h(\))g(\(braces\))520 b(Gruppierung,)38 +b(Berechnung)640 5092 y Fk(106)p eop end +%%Page: 107 107 +TeXDict begin 107 106 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.107) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.14) cvn /DEST pdfmark end + 20 277 a 520 x Fm(14.)100 b(git)20 +1001 y +SDict begin H.S end + 20 1001 a 20 1001 a +SDict begin 12 H.A end + 20 1001 a 20 1001 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.1) cvn /DEST pdfmark +end + 20 1001 +a 116 x Fe(14.1.)68 b(Dokumentation)20 1299 y Fd(git)42 +b(help)g(status)1131 b(Manpage)40 b(von)j(git)f(status)f(anzeigen)20 +1398 y(git)h(status)f(--help)1044 b(Manpage)40 b(von)j(git)f(status)f +(anzeigen)20 1498 y(man)h(git-status)1173 b(Manpage)40 +b(von)j(git)f(status)f(anzeigen)20 1641 y +SDict begin H.S end + 20 1641 a 20 +1641 a +SDict begin 12 H.A end + 20 1641 a 20 1641 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.2) cvn /DEST pdfmark +end + 20 1641 a 131 x Fe(14.2.)68 +b(K)l(on\034guration)20 1954 y Fd(git)42 b(config)f(--global)g(...)783 +b(Speichern)39 b(im)k(Homeverzeichnis)37 b(.gitconfig)20 +2054 y(git)42 b(config)f(--system)g(...)783 b(/etc/gitconfig)37 +b(konfigurieren)h(unueblich)20 2153 y(git)k(config)f(...)1176 +b(Arbeitsverzeich)o(ni)o(s)38 b(.git/config)20 2253 y(git)k(config)f +(user.name)f("Max)i(Mustermann")170 b(Name)42 b(konfigurieren)20 +2353 y(git)g(config)f(user.email)f("max.mustermann)o(@ex)o(am)o(le)o +(.co)o(m")1807 2452 y(E-Mail)h(konfigurieren)20 2552 +y(git)h(config)f(--unset)g(user.name)563 b(Name)42 b(l\366schen)20 +2651 y(git)g(config)f(alias.st)g(status)651 b(Alias)41 +b(status)g(->)i(st)86 b(herstellen)20 2751 y([alias])1479 +b(n\374tzliche)39 b(Abk\374rzungen)369 2851 y(st)j(=)i(status)369 +2950 y(ci)e(=)i(commit)369 3050 y(br)e(=)i(branch)369 +3150 y(co)e(=)i(checkout)369 3249 y(df)e(=)i(diff)369 +3349 y(he)e(=)i(help)369 3448 y(cl)e(=)i(clone)20 3548 +y(git)e(config)f(-e)1220 b(startet)40 b(Editor)h(auf)i(der)f +(Konfiguration)20 3648 y(git)g(config)f(color.ui)g(auto)739 +b(Farben)41 b(einstellen)20 3747 y(git)h(config)f(core.eol)g(lf,crlf)f +(oder)i(native)85 b(Zeilenende)39 b(lf-Linux)h(crlf-Windows)1807 +3847 y(native-System-D)o(ef)o(aul)o(t)20 3947 y(git)i(config)f +(core.safecrlf)736 b(Verbietet)39 b(Commit)i(bei)i(vermischung)20 +4046 y(git)f(config)f(core.autocrlf)d(input)478 b(sichere)40 +b(Einstellung)f(bei)k(\344lteren)1807 4146 y(Git-Versionen)38 +b(unter)j(Windows)20 4245 y(git)h(config)f(il8n.commitEncodi)o(ng)c +(ISO-8859-1)1807 4345 y(Zeichenkodierun)o(g)g(ISO-8859-1)1807 +4445 y(Standart)j(UTF-8)20 4544 y(git)i(config)f(core.pager)f('env)i +(LESSCHARSET=iso)o(88)o(59)37 b(less')1807 4644 y(Zeichenkodierun)o(g)g +(f\374r)43 b(den)f(Pager)20 4744 y(git)g(config)f(core.editor)e(vim)653 +b(Vim)42 b(als)g(Editor)f(einstellen)2996 5092 y Fk(107)p +eop end +%%Page: 108 108 +TeXDict begin 108 107 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.108) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(14.)41 +b(git)640 360 y Fd(git)h(config)f(core.browser)e(...)609 +b(Browser)40 b(einstellen)640 460 y(git)i(config)f(help.autocorrect)c +(n)523 b(beim)42 b(Vertippen)d(\344hnliches)h(Subkommando)2427 +559 y(ausf\374hren,)f(n)k(Zentelsekunden)38 b(bis)k(zum)2427 +659 y(Ausf\374hren,)d(-1)k(f\374r)f(sofort)f(aus,)h(0)h(zeigt)2427 +758 y(nur)f(M\366glichkeiten)c(an)640 858 y(git)k(config)f(--list)1044 +b(alle)42 b(Einstellungen)c(anzeigen)640 1002 y +SDict begin H.S end + 640 1002 +a 640 1002 a +SDict begin 12 H.A end + 640 1002 a 640 1002 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.3) cvn /DEST pdfmark +end + 640 1002 a 131 x Fe(14.3.)68 +b(K)l(on\034gurationen)43 b(\374b)t(er)h(Umgebungsva)l(riablen)640 +1315 y Fd(GIT_EDITOR)650 b(Editor)41 b(den)h(Git)g(verwendet)1730 +1414 y(sonst)f(greift)g(die)h(Variable)f(EDITOR)640 1514 +y(GIT_PAGER)694 b(der)42 b(wert)g(cat)g(schaltet)e(den)j(Pager)e(aus) +640 1614 y(GIT_AUTHOR_EMAIL)386 b(E-Mail)41 b(f\374r)h(den)g(Autor)g +(des)g(Commits)640 1713 y(GIT_COMMITTER_EM)o(AIL)255 +b(E-Mail)41 b(f\374r)h(das)g(Commiter-Feld)c(des)43 b(Commits)640 +1813 y(GIT_AUTHOR_NAME)430 b(Name)41 b(f\374r)i(den)f(Autor)f(des)i +(Commits)640 1912 y(GIT_COMMITTER_NA)o(ME)299 b(Name)41 +b(f\374r)i(das)f(Commiter-Feld)c(des)k(Commits)640 2012 +y(GIT_DIR)782 b(Verzeichnis,)38 b(in)43 b(dem)f(sich)g(das)g +(Git-Repository)c(befindet)1730 2112 y(macht)j(nur)h(sinn)g(bei)g +(einem)g(Git-Repository)640 2255 y +SDict begin H.S end + 640 2255 a 640 2255 +a +SDict begin 12 H.A end + 640 2255 a 640 2255 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.4) cvn /DEST pdfmark +end + 640 2255 a 131 x Fe(14.4.)68 +b(Der)46 b(Index)640 2568 y Fk(Der)28 b(Inhalt)g(v)n(on)f(Dateinen)i +(liegt)f(f\374r)g(Git)g(auf)g(drei)g(Eb)r(enen,)h(den)f(W)-7 +b(orking)27 b(T)-7 b(ree,)27 b(dem)i(Index)640 2668 y(und)f(dem)g(Rep)r +(ository)-7 b(.)1773 2851 y Fd(clone/fetch/pull)1207 +2950 y(+----------+)38 b(----------------)o(--)o(---)o(--)o(---)o(--)o +(--)o(---)o(--)o(--)o(---)o(--)o(--)o(---)o(--)o(->)f(+)1207 +3050 y(|Repository|)2304 b(|)684 3150 y(--bare)41 b(init)h(|\(origin\)) +83 b(|)43 b(push)2090 b(|)684 3249 y(---------->)39 b(+----------+)f +(<---------------)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o(--)o(--)o +(---)f(+)435 b(|)3560 3349 y(|)g(|)684 3448 y(status)389 +b(add)348 b(status)476 b(commit/--amend)387 b(|)435 b(|)684 +3548 y(+------------+)37 b(--------->)j(+--------------)o(+)d +(-----------------)o(--)o(-->)g(+----------+)684 3648 +y(|Working)j(Tree|)h(diff)304 b(|Index)389 b(|)43 b(diff)f +(--staged/--cached)37 b(|Repository|)684 3747 y(|)522 +b(|)43 b(<-------->)d(|\(Staging)f(Area\)|)i(<----------------)o(--)o +(-->)c(|)435 b(|)684 3847 y(+------------+)37 b(<---------)j +(+--------------)o(+)d(<----------------)o(--)o(---)g(+----------+)1250 +3947 y(|)43 b(reset)f(HEAD)782 b(reset)42 b(HEAD)g(--)435 +b(|)g(|)1250 4046 y(+)43 b(-----------------)o(--)o(--)o(---)o(--)o(--) +o(---)o(--)o(---)o(--)o(--)o(---)o(--)o(--)o(-->)37 b(+)435 +b(|)1337 4146 y(checkout)41 b(--)2221 b(|)684 4245 y(init)3179 +b(|)684 4345 y(---------------)o(---)o(--)o(--)o(---)o(--)o(--)o(---)o +(--)o(--)o(---)o(--)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o(--)o(--)o +(---)o(--)o(--)o(---)o(--)o(->)37 b(+)640 4544 y(git)42 +b(diff)1088 b(zeigt)42 b(den)g(Unterschied)d(zwischen)h(Working)h(Tree) +2078 4644 y(und)h(Index)g(an)640 4744 y(git)g(diff)g(--color-words)474 +b(\304nderugen)40 b(Fablich)h(anzeigen)640 5092 y Fk(108)p +eop end +%%Page: 109 109 +TeXDict begin 109 108 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.109) cvn /DEST pdfmark end + 12 -5 a 2515 128 a Fh(14.5.)40 +b(Rep)r(ository)1458 360 y Fd(gr\374n-hinzugekomm)o(en)d(rot-entfernt) +20 460 y(git)42 b(diff)g(--word-diff)d(--no-color)83 +b(ohne)42 b(Frabe)f(mit)i(Zeichen)20 559 y(git)f(diff)g(--staged)694 +b(zeigt)42 b(den)g(Unterschied)d(zwischen)1458 659 y(Index\(Staging)f +(Area\))k(und)g(Repository)d(an)20 758 y(git)j(diff)g(--cached)694 +b(zeigt)42 b(den)g(Unterschied)d(zwischen)1458 858 y(Index\(Staging)f +(Area\))k(und)g(Repository)d(an)20 1015 y +SDict begin H.S end + 20 1015 a 20 +1015 a +SDict begin 12 H.A end + 20 1015 a 20 1015 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.5) cvn /DEST pdfmark +end + 20 1015 a 134 x Fe(14.5.)68 +b(Rep)t(osito)l(ry)20 1336 y Fd(git)42 b(init)g(Beispiel)345 +b(Neues)42 b(Repository)d(herstellen,)g(legt)j(Verzeichnis)d(Beispiel) +1109 1436 y(an)k(wenn)f(nicht)g(schon)f(vorhanden)20 +1635 y(git)h(status)651 b(zeigt)42 b(den)g(aktuellen)e(Zustand)h(an)20 +1735 y(git)h(log)783 b(die)43 b(Commit)e(Historie)f(anzeigen)20 +1891 y +SDict begin H.S end + 20 1891 a 20 1891 a +SDict begin 12 H.A end + 20 1891 a 20 1891 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.6) cvn /DEST pdfmark +end + 20 1891 +a 135 x Fe(14.6.)68 b(Commit)20 2213 y Fd(git)42 b(add)h(Datei)869 +b(Datei)42 b(zum)g(Index)f(hinzuf\374gen)20 2313 y(git)h(add)h(-u)f +(oder)g(--update)389 b(Alle)42 b(Ver\344nderungen)c(in)43 +b(den)f(Index)g(\374bertragen)20 2412 y(git)g(reset)g(HEAD)g(Datei)564 +b(aus)42 b(der)h(Staging)d(Area)i(zu)h(entfernen)20 2512 +y(git)f(commit)f(-m)i("Erste)e(Version")171 b(Index)42 +b(zum)g(Working)e(Tree)i(hinzuf\374gen)369 2612 y(git)g(add)g +(forgotten_file)125 b(Datei)42 b(zum)g(Index)f(hinzuf\374gen)369 +2711 y(git)h(commit)f(--amend)302 b(den)42 b(letzten)f(Commit)g +(\344ndern)20 2811 y(git)h(show)1088 b(Commit)41 b(einsehen)20 +2910 y(git)h(log)1132 b(Commits)41 b(anzeigen)20 3067 +y +SDict begin H.S end + 20 3067 a 20 3067 a +SDict begin 12 H.A end + 20 3067 a 20 3067 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.7) cvn /DEST pdfmark +end + 20 3067 a 134 +x Fe(14.7.)68 b(Dateien)45 b(entfernen)20 3389 y Fd(git)d(rm)h(Datei) +564 b(Datei)42 b(in)h(deinem)e(Arbeitsverzeich)o(ni)o(s)d(behalten,) +1109 3488 y(aber)k(aus)h(der)f(Staging)f(Area)g(nehmen)20 +3588 y(git)h(rm)h(-f)g(Datei)433 b(Datei)42 b(aus)g(dem)h +(Arbeitsverzeich)o(is)37 b(und)42 b(Index)g(l\366schen)20 +3688 y(git)g(reset)g(HEAD)g(Datei)215 b(Datei)42 b(in)h(Deinem)e +(Arbeitsverzeich)o(ni)o(s)d(behalten,)1109 3787 y(aber)k(aus)h(der)f +(Staging)f(Area)g(nehmen)20 3944 y +SDict begin H.S end + 20 3944 a 20 3944 +a +SDict begin 12 H.A end + 20 3944 a 20 3944 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.8) cvn /DEST pdfmark +end + 20 3944 a 134 x Fe(14.8.)68 b(Dateien)45 +b(verschieb)t(en)20 4265 y Fd(git)d(mv)h(Datei_alt)d(Datei_neu)693 +b(Datei)42 b(verschieben)20 4422 y +SDict begin H.S end + 20 4422 a 20 4422 +a +SDict begin 12 H.A end + 20 4422 a 20 4422 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.9) cvn /DEST pdfmark +end + 20 4422 a 134 x Fe(14.9.)68 b(\304nderung)43 +b(an)i(einer)g(Datei)h(r\374ckg\344ngig)e(machen)20 4744 +y Fd(git)e(checkout)f(--)h(Datei)172 b(Datei)42 b(zur\374ckversetzen)37 +b(auf)42 b(den)h(letzten)d(Commit)h(oder)h(Klone)2996 +5092 y Fk(109)p eop end +%%Page: 110 110 +TeXDict begin 110 109 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.110) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(14.)41 +b(git)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 277 +a +SDict begin [/View [/XYZ H.V]/Dest (section.14.10) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(14.10.)68 b(Dateien)45 b(igno)l(rieren)640 +555 y Fd(Dateien)c(im)h(Projektverzeichni)o(s)37 b(die)43 +b(nicht)e(versioniert)e(im)k(Repository)c(sein)j(sollen)640 +655 y(kommen)f(in)i(die)f(Datei)g(.gitignore.)640 755 +y(.gitignore)1032 854 y(#)654 b(Zeile)41 b(mit)h(#)h(oder)f(leere)g +(wird)g(ignoriert)1032 954 y(*.o)566 b(ignoriert)39 b(alle)j(Dateien)f +(die)h(mit)g(.o)h(enden)1032 1054 y(!lib.o)434 b(wird)41 +b(nicht)h(ignoriert)1032 1153 y(/TODO)478 b(ignoriert)39 +b(den)k(Ordner)e(TODO)1032 1253 y(build/)434 b(ignoriert)39 +b(alle)j(Dateien)f(im)i(build)e(Verzeichnis)1032 1352 +y(doc/*.txt)302 b(ignoriert)39 b(alle)j(.txt)g(Dateien)f(im)h(doc)h +(Verzeichnis)1032 1452 y(doc/**/*.txt)170 b(ignoriert)39 +b(alle)j(.txt)g(Dateien)f(unterhalb)e(des)k(doc)1730 +1552 y(Verzeichnis)640 1704 y +SDict begin H.S end + 640 1704 a 640 1704 a +SDict begin 12 H.A end + 640 +1704 a 640 1704 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.11) cvn /DEST pdfmark +end + 640 1704 a 156 x Fe(14.11.)68 b(Mit)46 +b(externen)d(Rep)t(osito)l(rys)h(a)l(rb)t(eiten)640 2054 +y Fd(git)e(clone)g(git://git.kernel)o(.o)o(rg)o(/pu)o(b/)o(sc)o(m/g)o +(it)o(/g)o(it.)o(gi)o(t)2427 2153 y(git)g(Repository)d(herunterladen,)f +(Port)k(9418)640 2253 y(git)g(clone)g(file:///home/git)o(/p)o(ro)o(jec) +o(t.)o(gi)o(t)125 b(Repository)39 b(herunterladen,)f(legt)k(harte)2427 +2353 y(Links)f(an)i(wenn)f(m\366glich)640 2452 y(git)g(clone)g +(ssh://user@serve)o(r/)o(pr)o(oje)o(ct)o(.g)o(it)81 b(ssh)42 +b(Repository)d(herunterladen,)f(Port)k(22)640 2552 y(git)g(clone)g +(http\(s\)://exampl)o(e.)o(co)o(m/g)o(it)o(pr)o(oje)o(ct)o(.g)o(it)2427 +2651 y(http\(s\))e(Repository)g(herunterladen,)2427 2751 +y(Port)i(80\(443\))640 2851 y(git)g(remote)f(-v)1220 +b(zeigt)41 b(an,)i(welche)e(externen)f(Server)h(f\374r)2427 +2950 y(das)h(Projekt)f(lokal)g(konfiguriert)e(sind)640 +3050 y(git)j(remote)f(add)i(Name)f(URL)783 b(Remote)41 +b(Repository)e(hinzuf\374gen)640 3150 y(git)j(remote)f(add)i(origin)e +(ssh://git@sonne)o(:/s)o(rv)o(/g)o(it/)o(li)o(nux)o(.g)o(it)2427 +3249 y(Beispiel)640 3349 y(git)h(fetch)g(Name)1175 b(Informationen)38 +b(aus)k(dem)g(Remote)f(Repository)2427 3448 y(herunterladen)640 +3548 y(git)h(pull)g(Name)1219 b(entspricht)39 b(git)j(fetch)g(git)g +(merge)640 3648 y(git)g(checkout)f(-b)h(Branch)f(origin/Branch)213 +b(erstellt)40 b(einen)h(lokalen)g(bearbeitbaren)2427 +3747 y(Branch)640 3847 y(git)h(push)g(origin)f(master)826 +b(\304nderungen)39 b(in)k(ein)f(Remote)f(Repository)2427 +3947 y(hochladen)640 4046 y(git)h(push)g(Remote)f(Branch)826 +b(Brauch)41 b(auf)h(Remote)f(hochladen)640 4146 y(git)h(push)g(Remote)f +(:Branch)782 b(l\366schen)40 b(entfernter)g(Branches)640 +4245 y(git)i(remote)f(show)h(Name)914 b(zeigt)41 b(die)i(URL)f(f\374r)g +(das)g(Remote)2427 4345 y(Repository,)d(die)j(Information)d(welche)2427 +4445 y(Branches)h(verfolgt)g(werden)h(und)h(welcher)2427 +4544 y(Branch)f(aus)h(dem)g(Remote)f(Repository)f(mit)2427 +4644 y(dem)i(eigenen)f(Master)g(zusammengef\374hrt)2427 +4744 y(wird,)g(wenn)h(Du)h(git)f(pull)g(ausf\374hrst)640 +5092 y Fk(110)p eop end +%%Page: 111 111 +TeXDict begin 111 110 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.111) cvn /DEST pdfmark end + 12 -5 a 2698 128 a Fh(14.12.)40 +b(T)-7 b(ags)20 360 y Fd(git)42 b(remote)f(rename)g(Name_alt)g +(Name_neu)258 b(Name)42 b(des)g(Remote)f(Repository)e(lokal)j +(\344ndern)20 460 y(git)g(remote)f(rm)i(Name)1001 b(Remote)41 +b(Repository)e(entfernen)20 610 y +SDict begin H.S end + 20 610 a 20 610 a +SDict begin 12 H.A end + 20 +610 a 20 610 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.12) cvn /DEST pdfmark +end + 20 610 a 133 x Fe(14.12.)68 b(T)-11 b(ags)20 +927 y Fd(git)42 b(tag)1132 b(vorhandene)39 b(Tags)j(anzeigen)20 +1027 y(git)g(tag)h(-a)f(v1.4)g(-m)h('my)f(version)f(1.4')1458 +1127 y(einen)h(kommentierten)c(Tag)k(anlegen)20 1226 +y(git)g(tag)h(-s)f(v1.5)g(-m)h('my)f(signed)f(1.5)i(tag')1458 +1326 y(einen)f(kommentierten)c(und)k(signierten)d(Tag)k(anlegen)20 +1426 y(git)f(tag)h(-v)f(v1.4.2.1)607 b(einen)42 b(signierten)d(Tag)j +(zu)h(verifizieren)20 1525 y(git)f(tag)h(-a)f(v1.2)g(-m)h('version)d +(1.2')i(Checksumme)1458 1625 y(im)h(Nachhinein)c(taggen,)i(Checksumme)e +(des)j(Commits)1458 1724 y(oder)g(einen)f(Teil)h(davon)g(angeben)20 +1824 y(git)g(log)h(--pretty=onelin)o(e)386 b(Commit)41 +b(Historie)f(mit)j(Checksumme)20 1924 y(git)f(push)g(origin)f(v1.5)565 +b(Tag)42 b(ver\366ffentlichen)20 2023 y(git)g(push)g(origin)f(--tags) +477 b(Tags)42 b(ver\366ffentlichen)20 2123 y(git)g(tag)h(-d)f(v1.5)783 +b(Tag)42 b(l\366schen)20 2223 y(git)g(push)g(origin)f(:refs/tags/v1.5) +81 b(ver\366ffentlichen)37 b(Tag)43 b(l\366schen)20 2373 +y +SDict begin H.S end + 20 2373 a 20 2373 a +SDict begin 12 H.A end + 20 2373 a 20 2373 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.13) cvn /DEST pdfmark +end + 20 2373 a 133 +x Fe(14.13.)68 b(Branch)20 2690 y Fk(W)-7 b(as)22 b(ist)h(ein)g(Branc)n +(h?)e(Ein)j(Zeiger,)d(der)h(auf)h(den)f(gleic)n(hen)g(Commit)h(zeigt,)f +(auf)h(dem)g(Du)g(gerade)20 2790 y(arb)r(eitest.)20 2981 +y Fd(git)42 b(branch)f(testing)302 b(erstellt)41 b(einen)g(neuen)h +(Branch)f(mit)h(dem)g(Namen)g(testing)20 3080 y(git)g(checkout)f +(testing)214 b(um)43 b(zu)g(einem)e(anderen)g(Branch)g(zu)i(wechseln)20 +3180 y(git)f(branch)f(-b)i(testing)171 b(erstellt)41 +b(und)h(wechselt)e(zu)j(dem)f(Branch)20 3279 y(git)g(merge)g(testing) +345 b(f\374hrt)42 b(testing)f(mit)h(dem)g(Master-Branch)c(zusammen)20 +3379 y(git)k(branch)f(-d)i(testing)171 b(entfernt)41 +b(testing)20 3479 y(git)h(merge)g(master)389 b(Deinem)42 +b(Zweig)f(mit)h(dem)h(master)e(kombinieren)20 3578 y(git)h(rebase)f +(master)346 b(alle)42 b(\304nderungen)e(auf)i(einem)f(Branch,)g(auf)h +(einen)g(anderen)1109 3678 y(Branch)g(erneut)f(anwenden)f(\(nur)i(mit)g +(unver\366ffendliche)o(n)1109 3778 y(Branch)g(machen\))20 +3877 y(git)g(mergetool)519 b(grafischen)40 b(Tool)i(zur)g(Bereinigung)d +(von)j(Merge-Konflikten)20 3977 y(git)g(branch)651 b(Liste)42 +b(aller)f(Branches)g(anzeigen)20 4077 y(git)h(branch)f(-v)522 +b(f\374r)43 b(jeden)e(Branch)g(den)i(letzten)d(Commit)h(anzeigen)f +(lassen)20 4176 y(git)i(branch)f(--merged)258 b(Liste)42 +b(gemergter)e(Branches)20 4276 y(git)i(branch)f(--no-merged)126 +b(Liste)42 b(nicht)f(gemergter)f(Branches)20 4426 y +SDict begin H.S end + 20 +4426 a 20 4426 a +SDict begin 12 H.A end + 20 4426 a 20 4426 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.14) cvn /DEST pdfmark +end + 20 4426 a 133 x +Fe(14.14.)68 b(Git)45 b(Aliase)20 4744 y Fd(git)d(config)f(--global)g +(alias.co)f(checkout)171 b(co)42 b(anstelle)f(von)h(checkout)e +(schreiben)2996 5092 y Fk(111)p eop end +%%Page: 112 112 +TeXDict begin 112 111 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.112) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(14.)41 +b(git)640 360 y Fd(git)h(config)f(--global)g(alias.br)f(branch)259 +b(br)42 b(anstelle)f(von)h(branch)f(schreiben)640 460 +y(git)h(config)f(--global)g(alias.ci)f(commit)259 b(ci)42 +b(anstelle)f(von)h(commit)f(schreiben)640 559 y(git)h(config)f +(--global)g(alias.st)f(status)259 b(st)42 b(anstelle)f(von)h(status)f +(schreiben)640 700 y +SDict begin H.S end + 640 700 a 640 700 a +SDict begin 12 H.A end + 640 700 a 640 +700 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.15) cvn /DEST pdfmark +end + 640 700 a 131 x Fe(14.15.)68 b(Git)45 b(auf)g(einen)g(Server)g(b) +t(ek)l(ommen)640 1013 y Fd(git)d(clone)g(--bare)f(my_project)e +(my_project.git)2078 1112 y(Projekt)i(zu)h(Projekt.git)d(klonen)640 +1212 y(scp)j(-r)h(my_project.git)38 b(user@git.exampl)o(e.c)o(om)o(:/)o +(opt)o(/g)o(it)2078 1311 y(Projekt)j(per)h(ssh)g(hochladen)640 +1411 y(git)g(clone)g(user@git.example)o(.c)o(om)o(:/o)o(pt)o(/g)o(it/)o +(my)o(_p)o(roj)o(ec)o(t.g)o(it)2078 1511 y(Projekt)f(per)h(ssh)g(zum)h +(Arbeiten)d(herunterladen)640 1610 y(ssh)i(user@git.example.)o(co)o(m) +386 b(auf)42 b(dem)h(Server)e(anmelden)640 1710 y(cd)i +(/opt/git/my_proj)o(ec)o(t.)o(git)298 b(Projektverzeichn)o(is)37 +b(betreten)640 1810 y(git)42 b(init)g(--bare)f(--shared)389 +b(Gruppenschreibre)o(cht)o(e)37 b(zu)43 b(einem)e(Repository)2078 +1909 y(hinzuf\374gen)640 2050 y +SDict begin H.S end + 640 2050 a 640 2050 a +SDict begin 12 H.A end + +640 2050 a 640 2050 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.16) cvn /DEST pdfmark +end + 640 2050 a 131 x Fe(14.16.)68 b(Git)45 +b(auf)g(dem)g(SSH-Server)h(einrichten)640 2363 y Fk(Einric)n(h)n(tung) +30 b(des)g(SSH-Zugangs)f(auf)i(dem)f(Serv)n(er)f(mit)i(der)f +(Authorized-Keys-Metho)r(de)f(zur)640 2462 y(Authen)n(ti\034zierung)f +(der)f(Ben)n(utzer.)640 2627 y Fd(sudo)42 b(adduser)f(git)739 +b(Benutzer)40 b(git)j(anlegen)640 2727 y(su)g(git)1175 +b(Rechte)41 b(von)h(User)g(git)h(erlagen)640 2827 y(cd)1350 +b(ins)42 b(Home)g(~)h(Verzeichnis)c(des)k(Users)e(wechseln)640 +2926 y(mkdir)h(.ssh)1000 b(Verzeichnis)39 b(.ssh)j(anlegen)723 +3092 y Fk(-)25 b(\366\033en)n(tlic)n(he)g(SSH-Sc)n(hl\374ssel)f(der)h +(En)n(t)n(wic)n(kler)f(zu)h(der)g(Authorized-Keys-Datei)e(des)i(Ben)n +(ut-)640 3191 y(zers)i(git)g(hinzuzuf\374gen.)640 3343 +y Fd(cat)42 b(/tmp/id_rsa.user1)o(.p)o(ub)37 b(>)43 b(~/.ssh/authorize) +o(d_k)o(ey)o(s)2078 3443 y(authorized_keys)37 b(erstellen)j(und)i +(User1)g(einf\374gen)640 3543 y(cat)g(/tmp/id_rsa.user2)o(.p)o(ub)37 +b(>>)43 b(~/.ssh/authoriz)o(ed_)o(ke)o(ys)2078 3642 y(User2)f +(einf\374gen)640 3742 y(cat)g(/tmp/id_rsa.user3)o(.p)o(ub)37 +b(>>)43 b(~/.ssh/authoriz)o(ed_)o(ke)o(ys)2078 3842 y(User3)f +(einf\374gen)723 3994 y Fk(-)24 b(Leeren)f(Ordner)g(anlegen)h(und)g +(mit)h(der)f(Option)g(\025bare)e(ein)j(Rep)r(ository)e(ohne)g(ein)i +(Arb)r(eits-)640 4093 y(v)n(erzeic)n(hnis)h(erzeugen.)640 +4245 y Fd(cd)43 b(/srv)1131 b(in)43 b(den)f(Ordner)f(srv)i(wechseln)640 +4345 y(mkdir)f(git)1044 b(git)42 b(Ordner)f(anlegen)640 +4445 y(cd)i(git)1175 b(in)43 b(den)f(Ordner)f(git)i(wechseln)640 +4544 y(mkdir)f(project.git)692 b(project.git)39 b(Ordner)i(anlegen)640 +4644 y(cd)i(project.git)823 b(in)43 b(den)f(Ordner)f(project.git)e +(wechseln)640 4744 y(git)j(--bare)f(init)783 b(Repository)39 +b(ohne)j(ein)h(Arbeitsverzeich)o(ni)o(s)38 b(erzeugen)640 +5092 y Fk(112)p eop end +%%Page: 113 113 +TeXDict begin 113 112 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.113) cvn /DEST pdfmark end + 12 -5 a 1747 128 a Fh(14.17.)40 +b(\326\033en)n(tlic)n(her)27 b(W)-7 b(ebserv)n(er-Zugang)103 +360 y Fk(-)27 b(Die)h(erste)f(V)-7 b(ersion)27 b(des)h(Pro)5 +b(jektes)26 b(in)i(das)f(Rep)r(ository)g(ho)r(c)n(hladen)20 +521 y Fd(cd)43 b(project)999 b(in)43 b(das)f(Projekt)f(wechseln)20 +621 y(git)h(init)1088 b(Projekt)41 b(Repository)e(herstellen)20 +721 y(git)j(add)h(.)1045 b(alle)42 b(Dateien)f(um)h(Index)g +(hinzuf\374gen)20 820 y(git)g(commit)f(-m)i('initial)d(commit')128 +b(Index)42 b(zum)g(Working)e(Tree)i(hinzuf\374gen)20 +920 y(git)g(remote)f(add)i(origin)e(git@gitserver:/)o(srv)o(/g)o(it)o +(/pr)o(oj)o(ec)o(t.g)o(it)1458 1020 y(Server)g(hinzuf\374gen)20 +1119 y(git)h(push)g(origin)f(master)477 b(Commits)41 +b(und)h(Referenzen)d(auf)k(den)f(Server)f(hochladen)103 +1281 y Fk(-)27 b(Rep)r(ository)g(klonen)g(und)h(\304nderungen)f(ho)r(c) +n(hladen)20 1442 y Fd(git)42 b(clone)g(git@gitserver:/)o(srv)o(/g)o +(it/)o(pr)o(oj)o(ect)o(.g)o(it)211 b(Repository)40 b(klonen)20 +1542 y(cd)j(project)1696 b(ins)43 b(Projekt)d(wechseln)20 +1641 y(vim)i(README)1697 b(Projekt)41 b(bearbeiten)20 +1741 y(git)h(commit)f(-am)i('fix)f(for)g(the)g(README)f(file')390 +b(\304nderung)40 b(speichern)20 1841 y(git)i(push)g(origin)f(master) +1174 b(\304nderung)40 b(hochladen)103 2002 y Fk(-)27 +b(Git-Zugang)g(absic)n(hen)20 2163 y Fd(/etc/passwd)412 +2263 y(git:x:1000:1000:)o(:/h)o(om)o(e/g)o(it)o(:/)o(bin)o(/s)o(h)255 +b(/bin/sh)41 b(auf)412 2363 y(git:x:1000:1000:)o(:/h)o(om)o(e/g)o(it)o +(:/)o(usr)o(/b)o(in)o(/gi)o(t-)o(sh)o(ell)2155 2462 y +(/usr/bin/git-shel)o(l)c(\344ndern)20 2605 y +SDict begin H.S end + 20 2605 +a 20 2605 a +SDict begin 12 H.A end + 20 2605 a 20 2605 a +SDict begin [/View [/XYZ H.V]/Dest (section.14.17) cvn /DEST pdfmark +end + 20 2605 a 131 x Fe(14.17.)68 +b(\326\033entlicher)45 b(W)l(ebserver-Zugang)20 2918 +y Fk(Anon)n(ymen)18 b(Lese-Zugri\033)f(zu)h(Deinem)h(Pro)5 +b(jekt)18 b(erm\366glic)n(hen,)f(p)r(er)h(git)h(clone)f(h)n +(ttp://git.gitserv)n(er.lo)r(c/pro)5 b(ject.git.)103 +3017 y(-)27 b(Ho)r(ok)g(aktivieren)20 3194 y Fd(cd)43 +b(project.git)1520 b(in)43 b(das)f(Projekt)f(wechseln)20 +3294 y(mv)i(hooks/post-upda)o(te.)o(sa)o(mp)o(le)37 b(hooks/post-updat) +o(e)168 b(post-update)39 b(umbenennen)20 3393 y(chmod)j(a+x)g +(hooks/post-upda)o(te)952 b(post-update)39 b(ausf\374rbar)h(machen)103 +3570 y Fk(-)27 b(VirtualHost)h(Ein)n(trag)e(zur)i(Apac)n(he-K)n +(on\034guration)c(hinzuf\374gen)20 3747 y Fd()369 3847 y(ServerName)g(git.gitserver.lo)o(c)369 +3947 y(ServerAdmin)g(webmaster@local)o(ho)o(st)369 4046 +y(DocumentRoot)f(/srv/git)20 4146 y(#)305 b()20 4245 y(#)653 b(Order)42 b(allow,)f(deny)20 +4345 y(#)653 b(allow)42 b(from)g(all)20 4445 y(#)305 +b()369 4544 y()674 +4644 y(Options)h(Indexes)h(FollowSymLinks)674 4744 y(AllowOverride)d +(None)2996 5092 y Fk(113)p eop end +%%Page: 114 114 +TeXDict begin 114 113 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.114) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(14.)41 +b(git)1294 360 y Fd(Require)f(all)j(granted)989 460 y()989 +559 y(ErrorLog)d(${APACHE_LOG_DIR)o(}/)o(gi)o(t.g)o(it)o(se)o(rve)o(r.) +o(loc)o(-e)o(rr)o(or.)o(lo)o(g)989 659 y(CustomLog)g(${APACHE_LOG_DI)o +(R})o(/g)o(it.)o(gi)o(ts)o(erv)o(er)o(.lo)o(c-)o(ac)o(ces)o(s.)o(lo)o +(g)e(combined)640 758 y()723 962 y Fk(Nac)n(h)23 +b(dem)g(n\344c)n(hsten)f(push)h(k)-5 b(ann)23 b(p)r(er)f("git)h(clone)f +(h)n(ttp://git.gitserv)n(er.lo)r(c/pro)5 b(ject.git"das)640 +1062 y(Pro)g(jekt)27 b(anon)n(ym)g(herun)n(ter)g(geladen)f(w)n(erden.) +640 1225 y +SDict begin H.S end + 640 1225 a 640 1225 a +SDict begin 12 H.A end + 640 1225 a 640 1225 +a +SDict begin [/View [/XYZ H.V]/Dest (section.14.18) cvn /DEST pdfmark +end + 640 1225 a 139 x Fe(14.18.)68 b(Grundb)t(egri\033e)640 +1556 y Fd(Versionkontrolls)o(yst)o(em)37 b(\(Version)j(Control)h +(System,)f(VCS\))989 1655 y(Eine)i(Versionsverwalt)o(un)o(g)c(ist)k +(ein)g(System,)f(das)h(zur)g(Erfassung)e(von)i(\304nderungen)989 +1755 y(an)g(Dokumenten)e(oder)i(Dateien)e(verwendet)g(wird.)989 +1854 y(Zum)i(Beispiel:)989 1954 y(Zentrale)e(Systeme)h(-)i(zentraler)c +(Server)1337 2054 y(RCS-Revision)g(Control)h(System,)h(CVS-Concurrent)d +(Versions)i(System,)1337 2153 y(SVN-Subversion)989 2253 +y(Verteilte)g(Systeme)g(-)j(Kein)f(zentraler)e(Server)1337 +2353 y(Bazaar,)h(Darcs,)g(Fossil,)g(Git,)g(GNU)i(arch,)e(Mercurial,)f +(Monotone)640 2452 y(Repository)989 2552 y(Nutzt)h(Git)i(als)f +(Dantenbank)d(in)k(der)f(die)g(verschiedenen)d(Zust\344nde)h(jeder)h +(Datei)989 2651 y(eines)g(Projektes)f(\374ber)i(die)g(Zeit)g(hinweg)f +(ablegt.)g(Jede)h(\304nderrung)d(wird)j(als)989 2751 +y(Commit)f(verpackt)f(und)i(abgespeichert.)640 2851 y(Working)f(Tree) +989 2950 y(Das)h(Arbeitsverzeichn)o(is)37 b(von)42 b(Git,)g(oft)g(auch) +g(Working)f(Directory)f(genannt.)640 3050 y(Commit)989 +3150 y(Das)i(speichern)e(der)i(ver\344nderten)d(Dateien)i(im)h +(Repository.)640 3249 y(HEAD)989 3349 y(Eine)g(symbolische)d(Referenz)h +(auf)i(den)g(neusten)f(Commit)g(im)i(aktuellen)c(Branch.)640 +3448 y(SHA-1)989 3548 y(Der)j(Secure)f(Hash)h(Algorithm)e(erstellt)g +(eine)i(eindeutige,)d(160)j(Bit)g(lange)989 3648 y(Pr\374fsumme.)d +(Alle)j(Commits)f(in)h(Git)h(werden)e(nach)h(ihrer)f(SHA-1-Summe)e +(benannt,)989 3747 y(die)j(aus)g(dem)h(Inhalt)e(und)h(den)g(Metadaten)e +(des)i(Commits)f(errechnet)f(wird.)640 3847 y(Objektmodell)989 +3947 y(Ein)i(Git-Repository)c(l\344sst)j(sich)h(als)g(Graph)g(von)g +(Commits)f(modellieren,)d(der)989 4046 y(durch)j(Git-Kommandos)d +(manipuliert)h(wird.)640 4146 y(Index)989 4245 y(Der)j(Index)g(ist)g +(eine)g(Zwischenstufe)c(zwischen)i(Working)h(Tree)g(und)i(Repository,) +989 4345 y(in)f(der)h(Sie)f(einen)g(Commit)f(vorbereiten.)d(Enth\344lt) +j(also)h(die)g(Dateien)e(f\374r)j(den)989 4445 y(n\344sten)e(Commit.) +640 4544 y(Clone)989 4644 y(Wenn)h(Sie)g(sich)g(ein)g(Git-Repository)c +(aus)k(dem)g(Internet)f(herrunterladen.)989 4744 y(Enth\344lt)f(die)j +(gesamte)d(Versionsgeschich)o(te)d(einschlie\377lich)h(aller)j +(Commits.)640 5092 y Fk(114)p eop end +%%Page: 115 115 +TeXDict begin 115 114 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.115) cvn /DEST pdfmark end + 12 -5 a 2363 128 a Fh(14.18.)40 +b(Grundb)r(egri\033e)20 360 y Fd(Branch)369 460 y(Eine)i(Abzweigung)d +(in)k(der)f(Entwicklung.)c(Zum)43 b(Beispiel)d(f\374r)i(neue)g +(Featurs,)369 559 y(Release)e(vorbereitung)f(oder)j(alte)g(Versionen)d +(mit)k(Bugfixes)d(zu)j(versorgen.)20 659 y(master)369 +758 y(Beim)f(Initialisieren)37 b(eines)42 b(neuen)f(Repositorys)e(wird) +j(der)g(Branch)f(master)369 858 y(erstellt)f(analog)h(trunk)g(in)i +(anderen)e(Systemen.)20 958 y(Tag)369 1057 y(Tags)h(sind)f(symbolische) +e(Namen)j(f\374r)g(schwer)f(zu)i(merkende)d(SHA-1-Summen.)369 +1157 y(Wichtige)g(Commits,)g(wie)i(zum)h(Beispiel)d(Releases)g(v1.2.3.) +h(oder)h(k\366nnen)369 1257 y(zus\344tzliche)d(Metadateien)g(wie)j +(Autor,)f(Beschreibung)d(und)43 b(GPG-Signatur)369 1356 +y(enthalten.)2996 5092 y Fk(115)p eop end +%%Page: 116 116 +TeXDict begin 116 115 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.116) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 117 117 +TeXDict begin 117 116 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.117) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.15) cvn /DEST pdfmark end + 20 277 a 524 x Fm(15.)100 b(C/C++)20 +1025 y +SDict begin H.S end + 20 1025 a 20 1025 a +SDict begin 12 H.A end + 20 1025 a 20 1025 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.1) cvn /DEST pdfmark +end + 20 1025 +a 106 x Fe(15.1.)68 b(Befehle)44 b(und)h(Grundelemente)20 +1320 y Fd(gcc)d(Datei.c)1261 b(Programm)40 b(\374bersetzen)g(->)i +(a.out)20 1420 y(g++)g(Datei.cpp)1173 b(Programm)40 b(\374bersetzen)g +(->)i(a.out)g(\(C++\))20 1520 y(gcc)g(-c)h(Datei.c)1130 +b(Objektdatei)39 b(herstellen)g(->)k(Datei.o)20 1619 +y(g++)f(-c)h(Datei.cpp)1042 b(Objektdatei)39 b(herstellen)g(->)k +(Datei.o)e(\(C++\))20 1719 y(gcc)h(-o)h(Programmname)c(Datei1.o)h +(Datei2.o)127 b(Datei1.o+Datei2.)o(o)37 b(->)43 b(Programmname)20 +1818 y(g++)f(-o)h(Programmname)c(Datei1.o)h(Datei2.o)127 +b(Datei1.o+Datei2.)o(o)37 b(->)43 b(Programmname)c(\(C++\))20 +1918 y(gcc)j(-o)h(Programmname)c(Datei.c)563 b(Programm)40 +b(\374bersetzen)g(->)i(Programmname)20 2018 y(g++)g(-o)h(Programmname)c +(Datei.cpp)475 b(Programm)40 b(\374bersetzen)g(->)i +(Programmname\(C++\))20 2117 y(Programmname)1215 b(Programm)40 +b(starten)20 2317 y(configure)1347 b(Makefile)40 b(konfigurieren)20 +2416 y(make)1567 b(Programm)40 b(\374bersetzen,)1763 +2516 y(wenn)i(Makefile)e(vorhanden)20 2615 y(make)i(install)1217 +b(Programm)40 b(installieren)20 2815 y(/*)609 b(Kommentar)40 +b(einleiten)20 2914 y(*/)609 b(Kommentar)40 b(abschlie\377en)20 +3014 y(//)609 b(Kommentar)40 b(einleiten)g(bis)i(zum)g(Zeilenende)e +(\(C++\))20 3114 y({)653 b(Blockbeginn)20 3213 y(})g(Blockende)20 +3313 y(,)g(mehrere)41 b(Variablen)f(vom)i(gleichen)e(Typ)i(deklarieren) +d(z.B.)j(int)h(a,)f(b,)h(c;)20 3412 y(;)653 b(Funktions-,Operat)o(io)o +(ns)o(-)38 b(und)k(Zeilen-ende)d(\(leere)i(Anweisung\))20 +3612 y(#include)c(Datei)42 b(aus)g(/usr/include/)c(bei)k(UNIX)g +(einlesen)20 3711 y(#include"Datei")37 b(Datei)42 b(aus)g(dem)g +(aktuellen)e(Verzeichnis)f(einlesen)20 3811 y(char)521 +b(Variablentyp)39 b(character)h(-)j(Zeichen)20 3911 y(int)565 +b(Variablentyp)39 b(integer)h(-)k(ganzzahlig)39 b(mit)j(Vorzeichen)20 +4010 y(main\(\))433 b(Hauptfunktion)20 4110 y(return\(\))345 +b(Wert)42 b(aus)g(einer)g(Funktion)e(zur\374ckliefern)20 +4259 y +SDict begin H.S end + 20 4259 a 20 4259 a +SDict begin 12 H.A end + 20 4259 a 20 4259 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.2) cvn /DEST pdfmark +end + 20 4259 +a 146 x Fe(15.2.)68 b(Steuersequenzen)41 b(f\374r)k(ANSI-Bildschirme)g +(-)371 4554 y(Innerhalb)f(von)h(T)-11 b(exten)20 4744 +y Fd(\\a)609 b(BEL)217 b(bell)870 b(Alarm/Piepton)2996 +5092 y Fk(117)p eop end +%%Page: 118 118 +TeXDict begin 118 117 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.118) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(15.)41 +b(C/C++)640 360 y Fd(\\b)609 b(BS)261 b(backspace)650 +b(R\374cksetzen)39 b(um)k(ein)f(Zeichen)640 460 y(\\f)609 +b(FF)261 b(formfeed)694 b(Seitenvorschub)640 559 y(\\n)609 +b(NL)261 b(new)42 b(line)696 b(Zeilenvorschub)640 659 +y(\\r)609 b(CR)261 b(carriage)40 b(return)390 b(Wagenr\374cklauf)640 +758 y(\\t)609 b(HT)261 b(horizontal)39 b(tabulation)127 +b(horizontaler)38 b(Tabulator)640 858 y(\\v)609 b(VT)261 +b(vertical)40 b(tabulation)214 b(vertikaler)39 b(Tabulator)640 +958 y(\\0)609 b(NULL)173 b(null)870 b(kein)42 b(Zeichen)e(Textende)640 +1057 y(\\?)609 b(?)305 b(Fragezeichen)38 b(\(kein)k(Dreierzeichen\))640 +1157 y(\\')609 b(')305 b(Hochkomma)640 1257 y(\\")609 +b(")305 b(Anf\374hrungszeiche)o(n)640 1356 y(\\\\)609 +b(\\)305 b(umgekehrter)39 b(Schr\344gstrich)640 1456 +y(\\ddd)521 b(Zeichencode)39 b(in)k(oktaler)e(Notation)640 +1556 y(\\xdd)521 b(Zeichencode)39 b(in)k(hexadezimaler)38 +b(Notation)640 1655 y(\\e[1;1H)389 b(Cursor)41 b(auf)i(x1)f(und)h(y1)f +(setzen)640 1755 y(\\e[1;1f)389 b(->)43 b(\\e[1;1H)640 +1854 y(\\e[5A)477 b(Cursor)41 b(5)j(Zeilen)d(aufw\344rts)f(bewegen)640 +1954 y(\\e[5B)477 b(Cursor)41 b(5)j(Zeilen)d(abw\344rts)f(bewegen)640 +2054 y(\\e[5C)477 b(Cursor)41 b(5)j(Spalten)c(vorw\344rts\(rechts\))d +(bewegen)640 2153 y(\\e[5D)477 b(Cursor)41 b(5)j(Spalten)c +(r\374ckw\344rts\(links\))d(bewegen)640 2253 y(\\e[2J)477 +b(Bildschirm)40 b(l\366schen)640 2353 y(\\e[6n)477 b(Ausgabe)41 +b(der)h(Cursor)f(position)f(z.B.)i(^[[32;6R)640 2452 +y(\\e[s)521 b(merkt)42 b(die)g(aktuelle)e(Cursor)h(Position)640 +2552 y(\\e[u)521 b(Cursor)41 b(auf)i(gemerkte)d(Position)g(setzen)640 +2651 y(\\e[Schrift;Vorde)o(rgr)o(un)o(d;)o(Hin)o(te)o(rg)o(run)o(dm)o +(er)o(kma)o(le)124 b(setzt)42 b(Bildschirmmerkm)o(al)o(e)771 +2751 y(Schrift)476 b(Vordergrund)83 b(Hintergrund)771 +2851 y(0)k(normal)389 b(30)87 b(schwarz)d(40)771 2950 +y(1)j(grell)433 b(31)87 b(rot)260 b(41)771 3050 y(4)87 +b(unterstrichen)81 b(32)87 b(gr\374n)216 b(42)771 3150 +y(5)87 b(blinken)345 b(33)87 b(gelb)216 b(43)86 b(braun)771 +3249 y(7)h(reverse)345 b(34)87 b(blau)216 b(44)1555 3349 +y(35)87 b(magenta)d(45)1555 3448 y(36)j(cyan)216 b(46)1555 +3548 y(37)87 b(wei\377)216 b(47)86 b(grau)640 3717 y +SDict begin H.S end + +640 3717 a 640 3717 a +SDict begin 12 H.A end + 640 3717 a 640 3717 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.3) cvn /DEST pdfmark +end + 640 3717 +a 136 x Fe(15.3.)68 b(stdio.h)45 b(->)g(Standa)l(rd)f(Ein-)i(und)f +(Ausgab)t(e)640 4046 y Fd(c=getchar\(\);)518 b(Eingabe)41 +b(eines)g(Zeichens,)f(ohne)i(Wagenr\374cklauf)640 4146 +y(putchar\('a'\);)474 b(Ausgabe)41 b(eines)g(Zeichens,)f(ohne)i +(Wagenr\374cklauf)640 4245 y(puts\("Text"\);)474 b(Zeichenkette)38 +b(ausgeben,)i(mit)j(Wagenr\374cklauf)640 4345 y(fputs\("Text",std)o +(oun)o(t\))o(;)81 b(Zeichenkette)38 b(ausgeben,)i(ohne)i +(Wagenr\374cklauf)640 4445 y(fputs\("Text",std)o(err)o(\);)124 +b(Zeichenkette)38 b(ausgeben,)i(ohne)i(Wagenr\374cklauf)640 +4544 y(printf\("Text)d(\045d",Zahl\);)g(Zeichenkette)f(formatiert)i +(ausgeben,)g(ohne)h(Wagenr\374cklauf)989 4644 y(\045)i(F)g(Z1)g(.)g(Z2) +g(L)g(U)989 4744 y(|)g(|)g(|)87 b(|)43 b(|)87 b(|)43 +b(+)g(Umwandlungszeich)o(en)o(:)37 b(\045d-dezimal)258 +b(\045u-unsigned)640 5092 y Fk(118)p eop end +%%Page: 119 119 +TeXDict begin 119 118 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.119) cvn /DEST pdfmark end + 12 -5 a 2643 128 a Fh(15.4.)40 +b(ct)n(yp)r(e.h)369 360 y Fd(|)j(|)g(|)87 b(|)43 b(|)87 +b(|)1001 b(\045o-oktal)346 b(\045s-Text)40 b(\045c-Zeichen)369 +460 y(|)j(|)g(|)87 b(|)43 b(|)87 b(|)1001 b(\045f-Flieskomma)126 +b(\045e-Expotential)369 559 y(|)43 b(|)g(|)87 b(|)43 +b(|)87 b(|)1001 b(\045x-hexadezimal)82 b(\045p-pointer)369 +659 y(|)43 b(|)g(|)87 b(|)43 b(|)87 b(+--)42 b(Long-Ausgabe:)c +(notwendig)i(f\374r)i(long)g(int)369 758 y(|)h(|)g(|)87 +b(|)43 b(+-----)e(Nachkommastellen)o(:)c(z.B)43 b(3)g(f\374r)f(drei)g +(stellen)369 858 y(|)h(|)g(|)87 b(+-------)40 b(Trenzeichen,)e(falls)k +(Z1)h(und)f(Z2)369 958 y(|)h(|)g(+----------)c(Gr\366\377e)i(des)i +(Ausgabefensters)o(:)37 b(z.B)43 b(7)g(f\374r)f(sieben)f(stellen)369 +1057 y(|)i(+------------)38 b(Ausrichtung:)g(ohne)k(Angabe)f +(rechtsb\374ndig,)369 1157 y(|)1219 b(mit)43 b(Minuszeichen)38 +b(linksb\374ndig)369 1257 y(+--------------)f(Fluchtsymbol)20 +1356 y(scanf\("\045c",&text)o(\);)255 b(Zeichen)41 b(in)h(&text)g +(einlesen)369 1456 y(\045)h(*)g(Z)g(L)g(U)369 1556 y(|)g(|)g(|)g(|)g +(+------)e(Umwandlungszeich)o(en)369 1655 y(|)i(|)g(|)g(+--------)d +(Long-Ausgabe)369 1755 y(|)j(|)g(+----------)c(Gr\366\377e)i(des)i +(Eingabefensters)369 1854 y(|)g(+------------)38 b(Wegwerfen)369 +1954 y(+--------------)f(Fluchtsymbol)20 2123 y +SDict begin H.S end + 20 2123 +a 20 2123 a +SDict begin 12 H.A end + 20 2123 a 20 2123 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.4) cvn /DEST pdfmark +end + 20 2123 a 136 x Fe(15.4.)68 +b(ct)l(yp)t(e.h)20 2452 y Fd(if\(isascii\(zeich)o(en)o(\)\))168 +b(\374berpr\374ft)40 b(ob)i(es)h(sich)f(um)h(ein)f(ASCII-Zeichen)c +(handelt)20 2552 y(if\(isxdigit\(zeic)o(he)o(n\)\))124 +b(\374berpr\374ft)40 b(ob)i(es)h(sich)f(um)h(ein)f(Hex-Zeichen)d +(handelt)20 2720 y +SDict begin H.S end + 20 2720 a 20 2720 a +SDict begin 12 H.A end + 20 2720 a 20 2720 +a +SDict begin [/View [/XYZ H.V]/Dest (section.15.5) cvn /DEST pdfmark +end + 20 2720 a 137 x Fe(15.5.)68 b(string.h)20 3050 y Fd(char)42 +b(*strcat\(char)c(text1,)j(char)h(text2\))f(;)87 b(h\344ngt)42 +b(Text2\(mit)d(\\0\))k(an)f(Text1)20 3150 y(char)g(*strchr\(const)c +(char)k(*text,)20 3249 y(int)g(zeichen\))f(;)1132 b(sucht)42 +b(das)g(erste)f(vorkommende)1763 3349 y(Zeichen)g(im)h(Text,)g(liefert) +f(Adresse)1763 3448 y(oder)h(NULL)20 3548 y(char)g(*strcpy\(char)c +(text1,)j(char)h(text2\))f(;)87 b(kopiert)41 b(Text2\(mit)e(\\0\))k +(zum)f(Text1)20 3648 y(sitze_t)f(strlen\(const)d(char)k(*text\))f(;)261 +b(liefert)41 b(die)h(L\344nge)f(von)i(Text\(ohne)d(\\0\))20 +3747 y(char)i(*strncat\(char)c(*text1,)20 3847 y(const)k(char)f +(*text2,)g(sitze_t)g(n\))h(;)392 b(h\344ngt)42 b(Text2)f(mit)h(n)h +(Zeichen)1763 3947 y(an)g(Text1\(mit)d(\\0\))20 4046 +y(char)i(*strtok\(char)c(*text,)20 4146 y(const)k(char)f(*kette\))g(;) +871 b(1.Aufruf:)40 b(sucht)h(im)i(Text)f(das)g(erste)1763 +4245 y(Zeichen)f(das)h(nicht)f(in)i(Kette)f(vorkommt)1763 +4345 y(\(wird)g(kein)f(Zeichen)g(gefunden)f(gibt)i(strtok)1763 +4445 y(einen)g(NULL-Zeiger)c(zur\374ck\),)j(wird)h(ein)1763 +4544 y(Zeichen)f(gefunden)f(gibt)i(strtok)f(den)h(Zeiger)1763 +4644 y(zur\374ck,)f(dann)h(sucht)f(strtok)g(ab)i(Zeiger)e(das)1763 +4744 y(erste)h(Zeichen)e(das)i(in)h(der)g(Kette)e(vorkommt)2996 +5092 y Fk(119)p eop end +%%Page: 120 120 +TeXDict begin 120 119 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.120) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(15.)41 +b(C/C++)2383 360 y Fd(und)h(\374berschreibt)d(es)k(mit)f(\\0,)g(strtok) +f(merkt)2383 460 y(sich)h(den)g(Zeiger)f(auf)i(das)f(n\344chste)f +(Zeichen)640 559 y(char)h(*strtok\(NULL,)c(const)k(char)f(*kette\))g(;) +i(2.-n.Aufruf:)c(wie)j(1.Aufruf)e(ab)j(gemerkten)2383 +659 y(Zeiger)640 827 y +SDict begin H.S end + 640 827 a 640 827 a +SDict begin 12 H.A end + 640 827 a +640 827 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.6) cvn /DEST pdfmark +end + 640 827 a 137 x Fe(15.6.)68 b(K)l(ontrollstrukturen)640 +1157 y Fd(if\(Ausdruck\))867 b(wenn)41 b(der)i(Ausdruck)d(stimmt,)640 +1257 y({)989 1356 y(Anweisung-en1;)430 b(Anweisung-en1)640 +1456 y(})640 1556 y(else)1219 b(sonst)640 1655 y({)989 +1755 y(Anweisung-en2;)430 b(Anweisung-en2)640 1854 y(})640 +2054 y(switch\(Ausdruck\))691 b(gehe)41 b(zum)i(Ausdruck)640 +2153 y({)989 2253 y(case)f(1:)86 b(Anweisung-en1;)81 +b(Ausdruck1:)780 b(Anweisung-en1)989 2353 y(case)42 b(2:)86 +b(Anweisung-en2;)81 b(Ausdruck2:)780 b(Anweisung-en2)1381 +2452 y(break;)1653 b(Anweisungen)39 b(beenden)989 2552 +y(case)j(n:)86 b(Anweisung-enn;)81 b(Ausdruckn:)780 b(Anweisung-enn) +1381 2651 y(break;)1653 b(Anweisungen)39 b(beenden)989 +2751 y(default:)h(Anweisung-en;)125 b(Ausdruck)40 b(nicht)i(vorhanden:) +126 b(Aneisung-en)640 2851 y(})640 3050 y(continue;)301 +b(unterbricht)39 b(die)k(Abarbeitung)38 b(und)43 b(geht)f(zur)g +(Ausdrucksbedingu)o(ng)640 3150 y(break;)433 b(verl\344sst)41 +b(die)h(Schleife)e(oder)i(Verbundsanweisun)o(g)640 3349 +y(for\(Ausdruck1;Au)o(sdr)o(uc)o(k2)o(;Au)o(sd)o(ru)o(ck3)o(\))255 +b(Ausdruck1)40 b(einmal)h(ausf\374hren)640 3448 y({)1699 +b(so)43 b(lange)e(der)i(Ausdruck2)c(stimmt,)2383 3548 +y(vorher)i(noch)h(Ausdruck3)989 3648 y(Anweisug-en;)866 +b(Anweisung-en)640 3747 y(})640 3947 y(while\(Ausdruck\))735 +b(so)42 b(lange)g(der)g(Ausdruck)e(stimmt,)640 4046 y({)989 +4146 y(Anweisung-en;)474 b(Anweisung-en)640 4245 y(})640 +4445 y(do)1307 b(mach)640 4544 y({)989 4644 y(Anweisung-en;)474 +b(Anweisung-en)640 4744 y(})640 5092 y Fk(120)p eop end +%%Page: 121 121 +TeXDict begin 121 120 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.121) cvn /DEST pdfmark end + 12 -5 a 380 128 a Fh(15.7.)40 +b(ASCI)r(I\(American)28 b(Standart)f(Co)r(de)h(for)f(Information)g(In)n +(terc)n(hange\)-T)-7 b(ab)r(elle)20 360 y Fd(while\(Ausdruck\);)691 +b(so)42 b(lange)g(der)g(Ausdruck)e(stimmt)20 559 y +SDict begin H.S end + 20 +559 a 20 559 a +SDict begin 12 H.A end + 20 559 a 20 559 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.7) cvn /DEST pdfmark +end + 20 559 a 143 x Fe(15.7.)68 +b(ASCI)t(I\(American)45 b(Standa)l(rt)f(Co)t(de)h(fo)l(r)g(Info)l +(rmation)371 852 y(Interchange\)-T)-11 b(ab)t(elle)20 +1057 y Fd(654)217 b(000)f(001)h(010)g(011)f(100)h(101)f(110)h(111)20 +1157 y(Bit)20 1257 y(3210)369 1356 y(NUL)f(DLE)h(SP)261 +b(0)304 b(@)h(P)f(`)h(p)20 1456 y(0000)173 b($0)42 b(0)174 +b($10)43 b(16)86 b($20)42 b(32)87 b($30)42 b(48)86 b($40)42 +b(64)87 b($50)42 b(80)86 b($60)43 b(96)86 b($70)42 b(112)369 +1655 y(SOH)216 b(DC1)h(!)305 b(1)f(A)h(Q)f(a)h(q)20 1755 +y(0001)173 b($1)42 b(1)174 b($11)43 b(17)86 b($21)42 +b(33)87 b($31)42 b(49)86 b($41)42 b(65)87 b($51)42 b(81)86 +b($61)43 b(97)86 b($71)42 b(113)369 1954 y(STX)216 b(DC2)h(")305 +b(2)f(B)h(R)f(b)h(r)20 2054 y(0010)173 b($2)42 b(2)174 +b($12)43 b(18)86 b($22)42 b(34)87 b($32)42 b(50)86 b($42)42 +b(66)87 b($52)42 b(82)86 b($62)43 b(98)86 b($72)42 b(114)369 +2253 y(ETX)216 b(DC3)h(#)305 b(3)f(C)h(S)f(c)h(s)20 2353 +y(0011)173 b($3)42 b(3)174 b($13)43 b(19)86 b($23)42 +b(35)87 b($33)42 b(51)86 b($43)42 b(67)87 b($53)42 b(83)86 +b($63)43 b(99)86 b($73)42 b(115)369 2552 y(EOT)216 b(DC4)h($)305 +b(4)f(D)h(T)f(d)h(t)20 2651 y(0100)173 b($4)42 b(4)174 +b($14)43 b(20)86 b($24)42 b(36)87 b($34)42 b(52)86 b($44)42 +b(68)87 b($54)42 b(84)86 b($64)43 b(100)f($74)g(116)369 +2851 y(ENQ)216 b(NAK)h(\045)305 b(5)f(E)h(U)f(e)h(u)20 +2950 y(0101)173 b($5)42 b(5)174 b($15)43 b(21)86 b($25)42 +b(37)87 b($35)42 b(53)86 b($45)42 b(69)87 b($55)42 b(85)86 +b($65)43 b(101)f($75)g(117)369 3150 y(ACK)216 b(SYN)h(&)305 +b(6)f(F)h(V)f(f)h(v)20 3249 y(0110)173 b($6)42 b(6)174 +b($16)43 b(22)86 b($26)42 b(38)87 b($36)42 b(54)86 b($46)42 +b(70)87 b($56)42 b(86)86 b($66)43 b(102)f($76)g(118)369 +3448 y(BEL)216 b(ETB)h(')305 b(7)f(G)h(W)f(g)h(w)20 3548 +y(0111)173 b($7)42 b(7)174 b($17)43 b(23)86 b($27)42 +b(39)87 b($37)42 b(55)86 b($47)42 b(71)87 b($57)42 b(87)86 +b($67)43 b(103)f($77)g(119)369 3747 y(BS)260 b(CAN)217 +b(\()305 b(8)f(H)h(X)f(h)h(x)20 3847 y(1000)173 b($8)42 +b(8)174 b($18)43 b(24)86 b($28)42 b(40)87 b($38)42 b(56)86 +b($48)42 b(72)87 b($58)42 b(88)86 b($68)43 b(104)f($78)g(120)369 +4046 y(HT)260 b(EM)h(\))305 b(9)f(I)h(Y)f(i)h(y)20 4146 +y(1001)173 b($9)42 b(9)174 b($19)43 b(25)86 b($29)42 +b(41)87 b($39)42 b(57)86 b($49)42 b(73)87 b($59)42 b(89)86 +b($69)43 b(105)f($79)g(121)369 4345 y(LF)260 b(SUB)217 +b(*)305 b(:)f(J)h(Z)f(j)h(z)20 4445 y(1010)173 b($A)42 +b(10)130 b($1A)43 b(26)86 b($2A)42 b(42)87 b($3A)42 b(58)86 +b($4A)42 b(74)87 b($5A)42 b(90)86 b($6A)43 b(106)f($7A)g(122)369 +4644 y(VT)260 b(ESC)217 b(+)305 b(;)f(K)h([\304)260 b(k)305 +b({\344)20 4744 y(1011)173 b($B)42 b(11)130 b($1B)43 +b(27)86 b($2B)42 b(43)87 b($3B)42 b(59)86 b($4B)42 b(75)87 +b($5B)42 b(91)86 b($6B)43 b(107)f($7B)g(123)2996 5092 +y Fk(121)p eop end +%%Page: 122 122 +TeXDict begin 122 121 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.122) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(15.)41 +b(C/C++)989 460 y Fd(FF)260 b(FS)h(,)305 b(<)f(L)h(\\\366)260 +b(l)305 b(|\366)640 559 y(1100)173 b($C)42 b(12)130 b($1C)43 +b(28)86 b($2C)42 b(44)87 b($3C)42 b(60)86 b($4C)42 b(76)87 +b($5C)42 b(92)86 b($6C)43 b(108)f($7C)g(124)989 758 y(CR)260 +b(GS)h(-)305 b(=)f(M)h(]\334)260 b(m)305 b(}\374)640 +858 y(1101)173 b($D)42 b(13)130 b($1D)43 b(29)86 b($2D)42 +b(45)87 b($3D)42 b(61)86 b($4D)42 b(77)87 b($5D)42 b(93)86 +b($7D)43 b(109)f($7D)g(125)989 1057 y(SO)260 b(RS)h(.)305 +b(>)f(N)h(^)f(n)h(~\377)640 1157 y(1110)173 b($E)42 b(14)130 +b($1E)43 b(30)86 b($2E)42 b(46)87 b($3E)42 b(62)86 b($4E)42 +b(78)87 b($5E)42 b(94)86 b($7E)43 b(110)f($7E)g(126)989 +1356 y(SI)260 b(US)h(/)305 b(?)f(O)h(_)f(o)h(DEL)640 +1456 y(1111)173 b($F)42 b(15)130 b($1F)43 b(31)86 b($2F)42 +b(47)87 b($3F)42 b(63)86 b($4F)42 b(79)87 b($5F)42 b(95)86 +b($7F)43 b(111)f($7F)g(127)640 1587 y +SDict begin H.S end + 640 1587 a 640 +1587 a +SDict begin 12 H.A end + 640 1587 a 640 1587 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.7.1) cvn /DEST pdfmark +end + 640 1587 a 111 x Fi(15.7.1.)57 +b(Unterteilung)36 b(der)h(Steuerzeichen:)640 1854 y Fd(TC)261 +b(transmission)38 b(control)172 b(\334bertragungsste)o(ue)o(rze)o(ic)o +(he)o(n)640 1954 y(FE)261 b(format)41 b(effects)433 b(Formatsteuerzei)o +(ch)o(en)640 2054 y(IS)261 b(information)39 b(separators)83 +b(Informationstre)o(nn)o(zei)o(ch)o(en)640 2153 y(DC)261 +b(device)41 b(control)433 b(Ger\344testeuerzei)o(ch)o(en)640 +2277 y +SDict begin H.S end + 640 2277 a 640 2277 a +SDict begin 12 H.A end + 640 2277 a 640 2277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.7.2) cvn /DEST pdfmark +end + 640 +2277 a 118 x Fi(15.7.2.)57 b(Bedeutung)36 b(der)h(Steuerzeichen:)640 +2552 y Fd(NUL)565 b(null)1219 b(kein)42 b(Zeichen)640 +2651 y(SOH)217 b(TC)260 b(start)42 b(of)h(heading)694 +b(Anfang)41 b(des)h(Kopfes)640 2751 y(STX)217 b(TC)260 +b(start)42 b(of)h(text)826 b(Anfang)41 b(des)h(Textes)640 +2851 y(ETX)217 b(TC)260 b(end)43 b(of)f(text)914 b(Ende)42 +b(des)g(Textes)640 2950 y(EOT)217 b(TC)260 b(end)43 b(of)f +(transmission)562 b(Ende)42 b(der)g(\334bertragung)640 +3050 y(ENQ)217 b(TC)260 b(enquiry)1087 b(Stationsaufford)o(eru)o(ng)640 +3150 y(ACK)217 b(TC)260 b(acknowledge)911 b(positive)40 +b(R\374ckmeldung)640 3249 y(BEL)565 b(bell)1219 b(Alarm)41 +b(/)i(Piepton)640 3349 y(BS)261 b(FE)f(backspace)999 +b(R\374ckw\344rtsschrit)o(t)640 3448 y(HT)261 b(FE)f(horizontal)40 +b(tabulation)475 b(horizontaler)38 b(Tabulator)640 3548 +y(LF)261 b(FE)f(line)42 b(feed)1001 b(Zeilenvorschub)640 +3648 y(VT)261 b(FE)f(vertical)41 b(tabulation)562 b(vertikaler)39 +b(Tabulator)640 3747 y(FF)261 b(FE)f(form)42 b(feed)1001 +b(Seitenvorschub)640 3847 y(CR)261 b(FE)f(carriage)41 +b(return)738 b(Wagenr\374cklauf)640 3947 y(SO)609 b(shift)42 +b(out)1001 b(Dauerumschaltun)o(g)640 4046 y(SI)609 b(shift)42 +b(in)1045 b(R\374ckschaltung)640 4146 y(DLE)217 b(TC)260 +b(data)42 b(link)g(escape)695 b(Daten\374bertragun)o(gsu)o(ms)o(ch)o +(alt)o(un)o(g)640 4245 y(DCn)217 b(DC)260 b(device)41 +b(control)782 b(Ger\344testeuerzei)o(che)o(n)640 4345 +y(NAK)217 b(TC)260 b(negative)41 b(acknowledge)518 b(negative)40 +b(R\374ckmeldung)640 4445 y(SYN)217 b(TC)260 b(synchronous)39 +b(idle)696 b(Synchronisierun)o(g)640 4544 y(ETB)217 b(TC)260 +b(end)43 b(of)f(transmission)d(block)303 b(Ende)42 b(des)g +(\334bertragungsbloc)o(ks)640 4644 y(CAN)565 b(cancel)1131 +b(ung\374ltig)640 4744 y(EM)609 b(end)43 b(of)f(medium)826 +b(Ende)42 b(der)g(Aufzeichnung)640 5092 y Fk(122)p eop +end +%%Page: 123 123 +TeXDict begin 123 122 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.123) cvn /DEST pdfmark end + 12 -5 a 1923 128 a Fh(15.8.)40 +b(Op)r(eratoren)26 b(und)i(Ausdr\374c)n(k)n(e)20 360 +y Fd(SUB)565 b(substitute)40 b(character)519 b(Substitution)20 +460 y(ESC)565 b(escape)1131 b(Umschaltung)20 559 y(FS)261 +b(IS)f(file)42 b(separator)781 b(Hauptgruppentre)o(nnu)o(ng)20 +659 y(GS)261 b(IS)f(group)42 b(separator)737 b(Gruppentrennung)20 +758 y(RS)261 b(IS)f(record)41 b(separator)694 b(Untergruppentre)o(nnu)o +(ng)20 858 y(US)261 b(IS)f(unit)42 b(separator)781 b(Teilgruppentren)o +(nun)o(g)20 958 y(SP)609 b(space)1175 b(Leerzeichen)20 +1057 y(DEL)565 b(delete)1131 b(l\366schen)20 1182 y +SDict begin H.S end + 20 +1182 a 20 1182 a +SDict begin 12 H.A end + 20 1182 a 20 1182 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.8) cvn /DEST pdfmark +end + 20 1182 a 149 x +Fe(15.8.)68 b(Op)t(erato)l(ren)43 b(und)i(Ausdr\374ck)l(e)20 +1436 y +SDict begin H.S end + 20 1436 a 20 1436 a +SDict begin 12 H.A end + 20 1436 a 20 1436 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.8.1) cvn /DEST pdfmark +end + 20 1436 +a 93 x Fi(15.8.1.)57 b(Arithmetische)36 b(Op)s(erato)m(ren:)20 +1683 y Fd(Operator)345 b(Bedeutung)650 b(Assoziativit\344t)81 +b(Rang)173 b(Beispiel)20 1782 y(--------)345 b(---------)650 +b(--------------)81 b(----)173 b(--------)20 1882 y(+)653 +b(Addition)1043 b(>)304 b(5)h(a+b)20 1982 y(-)653 b(Subtraktion)911 +b(>)304 b(5)h(a-b)20 2081 y(*)653 b(Multiplikation)779 +b(>)304 b(4)h(a*b)20 2181 y(/)653 b(Division)1043 b(>)304 +b(4)h(a/b)20 2280 y(\045)653 b(Modulo)1131 b(>)304 b(4)h(a\045b)20 +2403 y +SDict begin H.S end + 20 2403 a 20 2403 a +SDict begin 12 H.A end + 20 2403 a 20 2403 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.8.2) cvn /DEST pdfmark +end + 20 2403 +a 109 x Fi(15.8.2.)57 b(V)m(ergleichsop)s(erato)m(ren:)20 +2665 y Fd(Operator)345 b(Bedeutung)650 b(Assoziativit\344t)81 +b(Rang)173 b(Beispiel)20 2765 y(--------)345 b(---------)650 +b(--------------)81 b(----)173 b(--------)20 2864 y(<)653 +b(kleiner)41 b(als)914 b(>)304 b(7)h(a)304 b(7)h(a<=b)20 +3064 y(>)653 b(gr\366\377er)1131 b(>)304 b(7)h(a>b)20 +3163 y(>=)609 b(gr\366\377er)41 b(oder)h(gleich)608 b(>)304 +b(7)h(a>=b)20 3263 y(==)609 b(gleich)1131 b(>)304 b(8)h(a==b)20 +3363 y(!=)609 b(ungleich)1043 b(>)304 b(8)h(a!=b)20 3496 +y +SDict begin H.S end + 20 3496 a 20 3496 a +SDict begin 12 H.A end + 20 3496 a 20 3496 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.8.3) cvn /DEST pdfmark +end + 20 3496 a 98 +x Fi(15.8.3.)57 b(Logische)35 b(Op)s(erato)m(ren:)20 +3747 y Fd(Operator)345 b(Bedeutung)650 b(Assoziativit\344t)81 +b(Rang)173 b(Beispiel)20 3847 y(--------)345 b(---------)650 +b(--------------)81 b(----)173 b(--------)20 3947 y(&)653 +b(bitweises)40 b(AND)827 b(>)304 b(9)h(a&b)20 4046 y(|)653 +b(bitweises)40 b(OR)871 b(>)304 b(11)261 b(a|b)20 4146 +y(^)653 b(bitweises)40 b(XOR)827 b(>)304 b(10)261 b(a^b)20 +4245 y(<<)609 b(bitweises)40 b(Linksschieben)387 b(>)304 +b(6)h(a<>)609 b(bitweises)40 b(Rechtsschieben)343 +b(>)304 b(6)h(a>>n)20 4445 y(~)653 b(Einerkomplement)735 +b(<)304 b(2)h(~a)20 4544 y(&&)609 b(logisches)40 b(AND)827 +b(>)304 b(12)261 b(a&&b)20 4644 y(||)609 b(logisches)40 +b(OR)871 b(>)304 b(13)261 b(a||b)20 4744 y(!)653 b(logische)40 +b(Negation)651 b(<)304 b(2)h(!a)2996 5092 y Fk(123)p +eop end +%%Page: 124 124 +TeXDict begin 124 123 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.124) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(15.)41 +b(C/C++)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 a 640 277 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.8.4) cvn /DEST pdfmark +end + 640 277 a 83 x Fi(15.8.4.)57 b(Zu)m(w)m(eisungsop)s(erato)m(ren:)640 +520 y Fd(Operator)345 b(Bedeutung)650 b(Assoziativit\344t)81 +b(Rang)173 b(Beispiel)640 620 y(--------)345 b(---------)650 +b(--------------)81 b(----)173 b(--------)640 719 y(=)653 +b(Zuweisung)999 b(<)304 b(15)261 b(a=b)640 819 y(+=)609 +b(Zuweisung)40 b(nach)i(Addition)389 b(<)304 b(15)261 +b(a+=b)640 918 y(-=)609 b(Zuweisung)40 b(nach)i(Subtraktion)257 +b(<)304 b(15)261 b(a-=b)640 1018 y(*=)609 b(Zuweisung)40 +b(nach)i(Multiplikation)125 b(<)304 b(15)261 b(a*=b)640 +1118 y(/=)609 b(Zuweisung)40 b(nach)i(Division)389 b(<)304 +b(15)261 b(a/=b)640 1217 y(\045=)609 b(Zuweisung)40 b(nach)i(Modulo)477 +b(<)304 b(15)261 b(a\045=b)640 1317 y(<<=)565 b(Zuweisung)40 +b(nach)i(bitweisem)345 b(<)304 b(15)261 b(a<<=b)1337 +1417 y(Linksschieben)640 1516 y(>>=)565 b(Zuweisung)40 +b(nach)i(bitweisem)345 b(<)304 b(15)261 b(a>>=b)1337 +1616 y(Rechtsschieben)640 1715 y(&=)609 b(Zuweisung)40 +b(nach)i(bitweisem)e(AND)173 b(<)304 b(15)261 b(a&=b)640 +1815 y(|=)609 b(Zuweisung)40 b(nach)i(bitweisem)e(OR)217 +b(<)304 b(15)261 b(a|=b)640 1915 y(^=)609 b(Zuweisung)40 +b(nach)i(bitweisem)e(XOR)173 b(<)304 b(15)261 b(a^=b)640 +2065 y +SDict begin H.S end + 640 2065 a 640 2065 a +SDict begin 12 H.A end + 640 2065 a 640 2065 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.8.5) cvn /DEST pdfmark +end + 640 +2065 a 101 x Fi(15.8.5.)57 b(P)m(ost-)38 b(und)e(Pre\034x-)j(Op)s +(erato)m(ren:)640 2326 y Fd(Operator)345 b(Bedeutung)650 +b(Assoziativit\344t)81 b(Rang)173 b(Beispiel)640 2426 +y(--------)345 b(---------)650 b(--------------)81 b(----)173 +b(--------)640 2526 y(++)609 b(Inkrement)999 b(>)43 b(<)217 +b(1)44 b(2)217 b(a++)42 b(++a)640 2625 y(--)609 b(Dekrement)999 +b(>)43 b(<)217 b(1)44 b(2)217 b(a--)42 b(--a)640 2725 +y(\(\))609 b(Funktionsaufruf)735 b(>)304 b(1)h(sqrt\(a\))640 +2824 y([])609 b(Arrayelement)867 b(>)304 b(1)h(feld[a])640 +2924 y(.)653 b(Feld)42 b(einer)g(structur)e(oder)i(union)85 +b(>)304 b(1)h(tag.dat)640 3024 y(->)609 b(Zeiger)41 b(auf)i(structur) +563 b(>)304 b(1)h(zeig->ele)640 3123 y(\()43 b(type)f(\))348 +b(expl.)42 b(Typenumwandlung)473 b(<)304 b(2)h(double\(a\))640 +3274 y +SDict begin H.S end + 640 3274 a 640 3274 a +SDict begin 12 H.A end + 640 3274 a 640 3274 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.8.6) cvn /DEST pdfmark +end + 640 +3274 a 101 x Fi(15.8.6.)57 b(Zeigerop)s(erato)m(ren:)640 +3535 y Fd(Operator)345 b(Bedeutung)650 b(Assoziativit\344t)81 +b(Rang)173 b(Beispiel)640 3635 y(--------)345 b(---------)650 +b(--------------)81 b(----)173 b(--------)640 3734 y(&)653 +b(Adresse)41 b(von)914 b(<)304 b(2)h(&a)640 3834 y(*)653 +b(Indirektion)911 b(<)304 b(2)h(*a)640 3933 y(.*)609 +b(Dereferenzzeiger)691 b(>)304 b(3)h(tag.*dat)640 4033 +y(->*)565 b(Dereferenzzeiger)691 b(>)304 b(3)h(tag->dat)640 +4183 y +SDict begin H.S end + 640 4183 a 640 4183 a +SDict begin 12 H.A end + 640 4183 a 640 4183 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.8.7) cvn /DEST pdfmark +end + 640 +4183 a 102 x Fi(15.8.7.)57 b(Diverse)36 b(Katego)m(rien:)640 +4445 y Fd(Operator)345 b(Bedeutung)650 b(Assoziativit\344t)81 +b(Rang)173 b(Beispiel)640 4544 y(--------)345 b(---------)650 +b(--------------)81 b(----)173 b(--------)640 4644 y(?:)609 +b(Bedinung)1043 b(<)304 b(14)261 b(a?b:c)989 4744 y(i)43 +b(=)g(x)304 b(16)261 +b(a,b,)42 b(...)20 460 y(-)653 b(un\344res)41 b(Minus)870 +b(<)304 b(2)h(-n)20 559 y(+)653 b(un\344res)41 b(Plus)914 +b(<)304 b(2)h(+n)20 659 y(sizeof\(typ\))213 b(Gr\366\377e)42 +b(des)g(Types)g(in)g(Byte)391 b(<)304 b(2)h(sizeof\(a\))20 +758 y(new)565 b(dynam.)41 b(Objekt)g(erzeugen)433 b(<)304 +b(2)h(b)43 b(=)g(new)g(float[a])20 858 y(delete)433 b(dynam.)41 +b(Objekt)g(l\366schen)477 b(<)304 b(2)h(delete)41 b(b)20 +958 y(::)609 b(Zugiffs-/Bereichs)o(op)o(er)o(ato)o(r)299 +b(<)304 b(2)h(adr::nam)20 1100 y +SDict begin H.S end + 20 1100 a 20 1100 a +SDict begin 12 H.A end + +20 1100 a 20 1100 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.9) cvn /DEST pdfmark +end + 20 1100 a 131 x Fe(15.9.)68 b(Inkrementieren)43 +b(und)h(Dekrementieren)20 1413 y Fd(i++)e(;)828 b(i)43 +b(=)g(i)g(+)h(1)20 1513 y(++i)e(;)828 b(i)43 b(=)g(i)g(+)h(1)20 +1612 y(x)f(=)g(i++)g(;)653 b(1.)43 b(x)g(=)g(i)348 b(2.)43 +b(i)g(=)g(i)g(+)g(1)20 1712 y(x)g(=)g(++i)g(;)653 b(1.)43 +b(i)g(=)g(i)g(+)g(1)174 b(2.)43 b(x)g(=)g(i)20 1812 y(i--)f(;)828 +b(i)43 b(=)g(i)g(-)h(1)20 1911 y(--i)e(;)828 b(i)43 b(=)g(i)g(-)h(1)20 +2011 y(x)f(=)g(i--)g(;)653 b(1.)43 b(x)g(=)g(i)348 b(2.)43 +b(i)g(=)g(i)g(-)g(1)20 2111 y(x)g(=)g(--i)g(;)653 b(2.)43 +b(i)g(=)g(i)g(-)g(1)174 b(2.)43 b(x)g(=)g(i)20 2246 y +SDict begin H.S end + +20 2246 a 20 2246 a +SDict begin 12 H.A end + 20 2246 a 20 2246 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.10) cvn /DEST pdfmark +end + 20 2246 a 138 +x Fe(15.10.)68 b(W)l(erteb)t(ereich)43 b(und)h(Genauigk)l(eit)g +(elementa)l(rer)440 2534 y(Datent)l(yp)t(en)20 2716 y +Fd(Datentyp)476 b(Bit)435 b(Min.Wert)345 b(Max.Wert)g(Genauigkeit)20 +2815 y(--------)476 b(---)435 b(--------)345 b(--------)g(-----------) +20 2915 y(char)652 b(8)523 b(-128)e(127)20 3014 y(unsigned)40 +b(char)260 b(8)523 b(0)653 b(255)20 3114 y(short)42 b(int)434 +b(16)479 b(-32768)433 b(32767)20 3214 y(unsigned)40 b(short)i(int)g(16) +479 b(0)653 b(65535)20 3313 y(int)696 b(\(16\)32\(64\))127 +b(-2147483648)213 b(2147483647)20 3413 y(unsigned)40 +b(int)304 b(16)479 b(0)653 b(65535)20 3513 y(long)42 +b(int)478 b(32\(64\))303 b(-2147483648)213 b(2147483647)20 +3612 y(unsigned)40 b(long)i(int)86 b(32)479 b(0)653 b(4294967295)20 +3712 y(float)608 b(32)479 b(ca.)42 b(3.4E-38)215 b(3.4E38)433 +b(>=)43 b(6)g(Ziffern)20 3811 y(double)564 b(64)479 b(ca.)42 +b(1.7E-308)171 b(1.7E308)389 b(>=)43 b(10)f(Ziffern)20 +3911 y(long)g(double)346 b(80)479 b(ca.)42 b(1.2E-4932)127 +b(1.2E4932)345 b(>=)43 b(double)20 4054 y +SDict begin H.S end + 20 4054 a 20 +4054 a +SDict begin 12 H.A end + 20 4054 a 20 4054 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.11) cvn /DEST pdfmark +end + 20 4054 a 131 x Fe(15.11.)68 +b(V)l(a)l(riableninitialisierung)20 4367 y Fk(Nic)n(h)n +(tinitialisierte)27 b(V)-7 b(ariab)r(eln)27 b(hab)r(en)h +Fa(nic)m(h)m(t)g Fk(automatisc)n(h)f(den)h(W)-7 b(ert)27 +b(0!)20 4544 y Fd(short)42 b(faktor=10)d(;)20 4744 y(short)j(laktor,)e +(messwert)g(;)2996 5092 y Fk(125)p eop end +%%Page: 126 126 +TeXDict begin 126 125 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.126) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(15.)41 +b(C/C++)640 460 y Fd(messwert=faktor)c(;)640 596 y +SDict begin H.S end + 640 +596 a 640 596 a +SDict begin 12 H.A end + 640 596 a 640 596 a +SDict begin [/View [/XYZ H.V]/Dest (section.15.12) cvn /DEST pdfmark +end + 640 596 a 138 x Fe(15.12.)68 +b(K)l(onstanten)640 916 y Fk(K)n(onstan)n(ten)26 b(w)n(erden)g(mit)i +(dem)f(v)n(orangestellten)e(Sc)n(hl\374sselw)n(ort)h(const)h(wie)g(V)-7 +b(ariab)r(eln)27 b(dekla-)640 1016 y(riert.)c(Der)h(dem)g(Namen)f +(\374b)r(er)h(das)f(=-Zeic)n(hen)g(zugeordnete)f(W)-7 +b(ert)24 b(k)-5 b(ann)24 b(nic)n(h)n(t)f(im)h(Programm)640 +1115 y(v)n(er\344ndert)i(w)n(erden.)h(F\374r)g(eine)h(fehlende)g(T)n +(yp)r(enangab)r(e)f(wird)g(in)n(t)h(angenommen.)640 1298 +y Fd(cont)42 b(float)259 b(PI)43 b(=)174 b(3.14159)41 +b(;)304 b(//)43 b(bevorzugen)640 1397 y(#define)389 b(PI)261 +b(3.14159)41 b(;)640 1525 y +SDict begin H.S end + 640 1525 a 640 1525 a +SDict begin 12 H.A end + 640 +1525 a 640 1525 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.12.1) cvn /DEST pdfmark +end + 640 1525 a 105 x Fi(15.12.1.)57 b(Ganzzahlk)m +(onstanten)640 1783 y Fk(dezimal)31 b(=)g(30)f(;)h(oktal)f(=)h(036)e(;) +i(hexadezimal)f(=)h(0x1E)f(;)i(Zus\344tzlic)n(h)e(k)-5 +b(ann)31 b(frau)f(eine)h(Ganz-)640 1883 y(zahlk)n(onstan)n(te)36 +b(durc)n(h)h(das)g(Su\036x)g(L)h(o)r(der)e(l)i(als)f(long)f(und)i(durc) +n(h)f(U)h(o)r(der)f(u)g(als)g(unsigned)640 1982 y(k)n(ennzeic)n(hnen)27 +b(\(z.B.)h(30U\).)640 2119 y +SDict begin H.S end + 640 2119 a 640 2119 a +SDict begin 12 H.A end + 640 +2119 a 640 2119 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.12.2) cvn /DEST pdfmark +end + 640 2119 a 96 x Fi(15.12.2.)57 b(Gleitk)m(ommak)m +(onstanten)640 2368 y Fk(0.033)32 b(+.033)g(33E-3)h(+33.0e-03)d +(Zus\344tzlic)n(h)j(k)-5 b(ann)34 b(frau)f(eine)h(Gleitk)n(ommak)n +(onstan)n(te)e(durc)n(h)640 2468 y(das)i(Su\036x)i(F)f(o)r(der)f(f)h +(als)f(\035oat)h(und)g(durc)n(h)f(L)h(o)r(der)f(l)h(als)g(long)f +(double)g(k)n(ennzeic)n(hnen)g(\(z.B.)640 2567 y(0.033L\).)640 +2704 y +SDict begin H.S end + 640 2704 a 640 2704 a +SDict begin 12 H.A end + 640 2704 a 640 2704 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.15.12.3) cvn /DEST pdfmark +end + 640 +2704 a 96 x Fi(15.12.3.)57 b(Zeichen-)36 b(und)h(Zeichenk)m(ettenk)m +(onstanten)640 2953 y Fk('n')640 3052 y(\020zeic)n(henk)n(ette'")640 +5092 y(126)p eop end +%%Page: 127 127 +TeXDict begin 127 126 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.127) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.16) cvn /DEST pdfmark end + 20 277 a 520 x Fm(16.)100 b(T)-17 +b(cl/Tk)20 1081 y Fd(wish)173 b(startet)40 b(den)j(Tcl/Tk-Interpet)o +(er)20 1181 y(exit)173 b(beendet)40 b(den)j(Tcl/Tk-Interpet)o(er)20 +1380 y(wish)f(Programm.tcl)300 b(startet)41 b(das)h(Programm.tcl)20 +1579 y(button)f(.name)h(Option/en)83 b(Knopf)41 b(definieren)f +(Optionen:)717 1679 y(-text)i("Aufschrift")256 b(Knopf-Aufschrift)717 +1779 y(-text)42 b([Befehl])432 b(Knopf-Aufschrift)37 +b(vom)42 b(Befehl)717 1878 y(-command)e({Befehl})302 +b(Knopf-Befehl)717 1978 y(Befehl:)41 b(z.B.)h(exec)g(ls)g(oder)g(exec)g +(xterm)g(-e)g(vi)h(&)717 2078 y(-relief)e(flat)521 b(Knopf)42 +b(flach)717 2177 y(-relief)f(raised)433 b(Knopf)42 b(erhoben)717 +2277 y(-relief)f(sunken)433 b(Knopf)42 b(eingedr\374ckt)717 +2376 y(-relief)f(ridge)477 b(Knopf)42 b(Band)f(erhoben)717 +2476 y(-relief)g(groove)433 b(Knopf)42 b(Band)f(eingedr\374ckt)717 +2576 y(-padx)h(Pixelzahl)388 b(Abstand)41 b(zum)h(Rand)g(in)h +(x-Richtung)717 2675 y(-pady)f(Pixelzahl)388 b(Abstand)41 +b(zum)h(Rand)g(in)h(y-Richtung)717 2775 y(-image)e([)i(image)f(create)f +(photo)g(-file)h(Bildname)e(])1763 2875 y(Knopf)i(mit)g(gif,)g(ppm)g +(oder)g(pgm)717 2974 y(-foreground)d(Farbe)303 b(Schriftfarbe)39 +b("#rgb"->"#ff000)o(0")e(oder)42 b(red)717 3074 y(-fg)h(Farbe)651 +b(Abk\374rzung)40 b(f\374r)i(-foreground)d(Farbe)717 +3173 y(-background)g(Farbe)303 b(Knopffarbe)717 3273 +y(-bg)43 b(Farbe)651 b(Abk\374rzung)40 b(f\374r)i(-background)d(Farbe) +717 3373 y(-width)i(Pixelbreite)257 b(Knopfbreite)717 +3472 y(-height)41 b(Pixelh\366he)301 b(Knopfh\366he)717 +3572 y(-font)42 b(Zeichensatz)300 b(Schrift)41 b(f\374r)h(den)g(Knopf) +20 3771 y(pack)g(.name)f(Option/en)171 b(Knopf)41 b(anzeigen)g(Option:) +717 3871 y(-fill)h(x)740 b(Knopf)42 b(an)g(die)h(Fensterbreite)38 +b(anpassen)717 3970 y(-expand)j(true)521 b(Knopf)42 b(im)g(gro\377en)f +(Fenster)g(aufteilen)2996 5092 y Fk(127)p eop end +%%Page: 128 128 +TeXDict begin 128 127 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.128) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 129 129 +TeXDict begin 129 128 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.129) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.17) cvn /DEST pdfmark end + 20 277 a 520 x Fm(17.)100 b(P)-6 +b(erl)20 1068 y Fd(perl)42 b(-v)1089 b(\374berpr\374fen)39 +b(ob)k(Perl)e(installiert)e(ist)2996 5092 y Fk(129)p +eop end +%%Page: 130 130 +TeXDict begin 130 129 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.130) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 131 131 +TeXDict begin 131 130 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.131) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.18) cvn /DEST pdfmark end + 20 277 a 522 x Fm(18.)100 b(CGI+P)-6 +b(erl)20 999 y +SDict begin H.S end + 20 999 a 20 999 a +SDict begin 12 H.A end + 20 999 a 20 999 a +SDict begin [/View [/XYZ H.V]/Dest (section.18.1) cvn /DEST pdfmark +end + 20 +999 a 125 x Fe(18.1.)68 b(Einleitung)20 1310 y Fd(Was)42 +b(ist)h(CGI?)172 b(Common)41 b(Gateway)g(Interface.)e(Web-Server-Schni) +o(tts)o(te)o(lle)o(,)e(um)43 b(mit)717 1409 y(anderen)e(Programmen)e +(zusammenzuarbeit)o(en.)20 1609 y(Was)j(ist)h(Perl?)128 +b(Practical)40 b(Extraction)f(and)k(Report)e(Language.)e +(Interpreter-Skrip)o(t-)717 1708 y(Sprache,)h(die)j(h\344ufig)e(zur)h +(Programmierung)c(von)k(CGI-Anwendungen)717 1808 y(benutzt)f(wird.)20 +1941 y +SDict begin H.S end + 20 1941 a 20 1941 a +SDict begin 12 H.A end + 20 1941 a 20 1941 a +SDict begin [/View [/XYZ H.V]/Dest (section.18.2) cvn /DEST pdfmark +end + 20 1941 +a 152 x Fe(18.2.)68 b(P)l(erl)20 2176 y +SDict begin H.S end + 20 2176 a 20 +2176 a +SDict begin 12 H.A end + 20 2176 a 20 2176 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.2.1) cvn /DEST pdfmark +end + 20 2176 a 119 x Fi(18.2.1.)57 +b(T)-9 b(exte)37 b(und)f(Strings)20 2451 y Fd(#)43 b(Kommentartext)736 +b(\(Hash\))41 b(Einzeiliger)d(Kommentartext)20 2551 y(print)k("Text")f +(;)784 b(Text)41 b(ausgeben)20 2651 y(print)h("Text\\n")e(;)697 +b(\\n)42 b(Neue)g(Zeile)20 2750 y(print)g("Text\\r")e(;)697 +b(\\r)42 b(Wagenr\374cklauf)20 2850 y(print)g("Text\\t")e(;)697 +b(\\t)42 b(Tabulator)20 2949 y(print)g("Text\\v")e(;)697 +b(\\v)42 b(Vertikalzeichen)20 3049 y(print)g("Text\\f")e(;)697 +b(\\f)42 b(Papiereinzugszei)o(che)o(n)20 3149 y(print)g("Text\\b")e(;) +697 b(\\b)42 b(R\374cksetzzeichen)20 3248 y(print)g("Text\\a")e(;)697 +b(\\a)42 b(Piepton)20 3348 y(print)g("Text\\e")e(;)697 +b(\\e)42 b(Unterbrechungsze)o(ich)o(en)20 3448 y(print)g($Variable)d(;) +654 b(Variable)40 b(ausgeben)20 3547 y(print)i("Text\\"")e(;)697 +b(\\")42 b(G\344nsef\374\377chen)d(ausgeben)20 3647 y(print)j +("Text\\'")e(;)697 b(\\')42 b(Einfache)e(Anf\374hrungszeichen)d +(ausgeben)20 3747 y(print)42 b("Text\\$")e(;)697 b(\\$)42 +b(Dollar-Zeichen)c(ausgeben)20 3846 y(print)k("Text\\\\")e(;)697 +b(\\\\)42 b(Backslash)e(ausgeben)20 3946 y(print)i("Text".$Var."Te)o +(xt)o(")37 b(;)262 b(.)43 b(Verketten)c(von)k(Zeichenfolgen)20 +4045 y(print)f("Text"x10)d(;)654 b(Text)41 b(10)i(mal)f(zusgeben)20 +4188 y +SDict begin H.S end + 20 4188 a 20 4188 a +SDict begin 12 H.A end + 20 4188 a 20 4188 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.2.2) cvn /DEST pdfmark +end + 20 4188 +a 100 x Fi(18.2.2.)57 b(Rechenop)s(erationen)20 4445 +y Fd($a=$b+$c)40 b(;)959 b(Addition)40 b(von)i($b)h(und)f($c)h(gleich)e +($a)20 4544 y($a=$b-$c)f(;)959 b(Subtraktion)38 b(von)43 +b($b)f(minus)g($c)h(gleich)e($a)20 4644 y($a=$b*$c)f(;)959 +b(Multiplikation)37 b(von)42 b($b)h(mal)f($c)h(gleich)e($a)20 +4744 y($a=$b/$c)f(;)959 b(Division)40 b($b)i(geteilt)f(durch)g($c)i +(gleich)e($a)2996 5092 y Fk(131)p eop end +%%Page: 132 132 +TeXDict begin 132 131 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.132) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(18.)41 +b(CGI+P)n(erl)640 360 y Fd($a=$b**$c)f(;)915 b(Potenz)41 +b($b)h(hoch)g($c)h(gleich)e($a)640 460 y($a=$b\045$c)f(;)959 +b(Modulo)41 b($b)h(geteilt)f(durch)g($c)i(Rest)f(gleich)f($a)640 +559 y($a++)h(;)1133 b($a=$a+1)40 b(;)640 659 y($a--)i(;)1133 +b($a=$a-1)40 b(;)640 758 y($a=3.1415)g(;)915 b(.)43 b(Dezimaltrenner) +640 939 y +SDict begin H.S end + 640 939 a 640 939 a +SDict begin 12 H.A end + 640 939 a 640 939 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.2.3) cvn /DEST pdfmark +end + 640 +939 a 117 x Fi(18.2.3.)57 b(Arra)m(ys)37 b(\(Listen\))640 +1232 y Fd(@Array=\("W0","W1)o("\))g(;)523 b(Werte)41 +b(einer)g(Array-Variable)d(zuweisen)i(\(Kurzform\))640 +1331 y($Array[Indexwert)o(]=")o(We)o(rt)o(")e(;)261 b(Wert)41 +b(einer)h(Array-Variable)c(zuweisen)i(\(Langform\))640 +1431 y(@Array=$Liste[2,)o(4,8)o(])d(;)436 b(Werte)41 +b(eines)g(Arrays)h(eines)f(Arrays)g(zuweisen)640 1531 +y(print)h(@Array)f(;)784 b(Gesamtes)40 b(Array)h(ausgeben)640 +1630 y(print)h($Array[Indexwer)o(t])37 b(;)305 b(Wert)41 +b(einer)h(Array-Variable)c(ausgeben)640 1730 y(print)k($#Array)e(;)741 +b(Nummer)41 b(des)h(letzten)f(Listenelements)c(ausgeben)640 +1917 y +SDict begin H.S end + 640 1917 a 640 1917 a +SDict begin 12 H.A end + 640 1917 a 640 1917 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.2.4) cvn /DEST pdfmark +end + 640 +1917 a 110 x Fi(18.2.4.)57 b(String-)37 b(und)g(Zahlenvergleichsop)s +(errato)m(ren)640 2203 y Fd(Vergleich)301 b(Zahlenvergleich)38 +b(Stringvergleich)640 2303 y(Gleich)782 b(==)609 b(eq)640 +2402 y(Ungleich)694 b(!=)609 b(ne)640 2502 y(Kleiner)41 +b(als)565 b(<)653 b(lt)640 2602 y(Gr\366\377er)41 b(als)609 +b(>)653 b(gt)640 2701 y(Kleiner)41 b(oder)h(gleich)215 +b(<=)609 b(le)640 2801 y(Gr\366\377er)41 b(oder)h(gleich)259 +b(>=)609 b(ge)640 2988 y +SDict begin H.S end + 640 2988 a 640 2988 a +SDict begin 12 H.A end + 640 2988 +a 640 2988 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.2.5) cvn /DEST pdfmark +end + 640 2988 a 110 x Fi(18.2.5.)57 b(if-Bedingung)640 +3274 y Fd(if)43 b(\(Bedingung\))780 b(Wenn)41 b(die)i(Bedingung)d +(Wahr,)640 3374 y({)989 3473 y(Befehle)g(;)654 b(Befehle)40 +b(ausf\374hren)640 3573 y(})640 3749 y +SDict begin H.S end + 640 3749 a 640 +3749 a +SDict begin 12 H.A end + 640 3749 a 640 3749 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.2.6) cvn /DEST pdfmark +end + 640 3749 a 121 x Fi(18.2.6.)57 +b(if-else-Bedingung)640 4046 y Fd(if)43 b(\(Bedingung\))780 +b(Wenn)41 b(die)i(Bedingung)d(Wahr,)640 4146 y({)989 +4245 y(Befehle)g(;)654 b(Befehle)40 b(ausf\374hren)640 +4345 y(})640 4445 y(else)1219 b(sonst)640 4544 y({)989 +4644 y(Befehle)40 b(;)654 b(Befehle)40 b(ausf\374hren)640 +4744 y(})640 5092 y Fk(132)p eop end +%%Page: 133 133 +TeXDict begin 133 132 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.133) cvn /DEST pdfmark end + 12 -5 a 2499 128 a Fh(18.3.)40 +b(F)-7 b(unktionen)20 277 y +SDict begin H.S end + 20 277 a 20 277 a +SDict begin 12 H.A end + 20 277 +a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.2.7) cvn /DEST pdfmark +end + 20 277 a 83 x Fi(18.2.7.)57 b(if-elseif-Bedingung)20 +513 y Fd(if)43 b(\(Bedingung\))780 b(Wenn)41 b(die)i(Bedingung)c(Wahr,) +20 613 y({)369 712 y(Befehle)h(;)654 b(Befehle)40 b(ausf\374hren)20 +812 y(})20 912 y(elseif)h(\(Bedingung\))606 b(sonst)41 +b(Wenn)h(die)g(Bedingung)e(Wahr,)20 1011 y({)369 1111 +y(Befehle)g(;)654 b(Befehle)40 b(ausf\374hren)20 1211 +y(})20 1343 y +SDict begin H.S end + 20 1343 a 20 1343 a +SDict begin 12 H.A end + 20 1343 a 20 1343 a +SDict begin [/View [/XYZ H.V]/Dest (section.18.3) cvn /DEST pdfmark +end + +20 1343 a 142 x Fe(18.3.)68 b(F)l(unktionen)20 1567 y +SDict begin H.S end + +20 1567 a 20 1567 a +SDict begin 12 H.A end + 20 1567 a 20 1567 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.3.1) cvn /DEST pdfmark +end + 20 1567 a 117 +x Fi(18.3.1.)57 b(String)37 b(F)m(unktionen)20 1837 y +Fd($Var=chop\($Strin)o(g\))g(;)523 b(L\366scht)41 b(das)h(letzte)f +(Zeichen)f(von)j(String)e(und)1415 1936 y(gibt)g(es)i(an)g(Var)20 +2071 y +SDict begin H.S end + 20 2071 a 20 2071 a +SDict begin 12 H.A end + 20 2071 a 20 2071 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.3.2) cvn /DEST pdfmark +end + 20 2071 +a 98 x Fi(18.3.2.)57 b(Rechen)36 b(F)m(unktionen)20 2322 +y Fd($a=sqrt\($b\))j(;)828 b(Quadratwurzel)38 b(von)k($b)h(nach)e($a)20 +2422 y($a=log\($b\))e(;)872 b(Logarithmus)20 2521 y($a=exp\($b\))39 +b(;)872 b(Exponenten)20 2621 y($a=abs\($b\))39 b(;)872 +b(Absoluterwert)20 2721 y($a=int\($b\))39 b(;)872 b(Ganzzahlwert)20 +2848 y +SDict begin H.S end + 20 2848 a 20 2848 a +SDict begin 12 H.A end + 20 2848 a 20 2848 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.18.3.3) cvn /DEST pdfmark +end + 20 2848 +a 105 x Fi(18.3.3.)57 b(Arra)m(y)37 b(F)m(unktionen)20 +3106 y Fd(push\(@Liste,@Ele)o(me)o(nte)o(\))g(;)349 b(Setzt)41 +b(ein)h(oder)g(mehrere)f(Elemente)f(an)1415 3206 y(das)i(Ende)g(der)g +(Liste)20 3305 y(unshift\(@Liste,")o(We)o(rt")o(\))37 +b(;)349 b(Setzt)41 b(ein)h(oder)g(mehrere)f(Elemente)f(an)1415 +3405 y(den)i(Anfang)f(der)h(Liste)20 3505 y($a=shift\(@Liste\))37 +b(;)610 b(Entfernt)40 b(das)i(erste)f(Element)g(aus)h(der)h(Liste)1415 +3604 y(und)f(gibt)g(es)g(an)h($a)20 3704 y($a=pop\(@Liste\))38 +b(;)697 b(Entfernt)40 b(das)i(letzte)f(Element)g(aus)h(der)g(Liste)1415 +3804 y(und)g(gibt)g(es)g(an)h($a)20 3903 y(splice\(@Liste,St)o(ar)o +(t,A)o(nz)o(ah)o(l,E)o(le)o(men)o(t\))37 b(;)130 b(Entfernt)40 +b(die)j(Anzahl)e(vom)h(Start)f(der)i(Liste)1415 4003 +y(und)f(f\374gt)g(Element)e(ein)2996 5092 y Fk(133)p +eop end +%%Page: 134 134 +TeXDict begin 134 133 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.134) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 135 135 +TeXDict begin 135 134 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.135) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.19) cvn /DEST pdfmark end + 20 277 a 522 x Fm(19.)100 b(Java)20 +973 y +SDict begin H.S end + 20 973 a 20 973 a +SDict begin 12 H.A end + 20 973 a 20 973 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.1) cvn /DEST pdfmark +end + 20 973 a 151 +x Fe(19.1.)68 b(F)l(unktion)44 b(von)h(Java)64 1310 y +Fd(+--------------)o(-+)81 b(+--------------)o(--)o(---)o(--)o(--)o +(---)o(+)g(+---------------)o(--)o(--)o(--+)64 1409 y(|)43 +b(Programm)d(Code)i(|->|)g(Java)g(Compiler)e(\(java.exe\))f(|->|)j +(Bytecode)e(\(01010011\))g(|)64 1509 y(+--------------)o(-+)81 +b(+--------------)o(--)o(---)o(--)o(--)o(---)o(+)g(+---------------)o +(--)o(--)o(--+)2199 1609 y(|)915 b(|)2199 1708 y(V)g(V)1850 +1808 y(+--------------+)255 b(+--------------+)1850 1908 +y(|)43 b(Ineterpreter)c(|)261 b(|)43 b(Browser/)215 b(|)1850 +2007 y(|)43 b(\(java.exe\))127 b(|)261 b(|)43 b(Appletviewer)c(|)1850 +2107 y(+--------------+)255 b(+--------------+)20 2306 +y(javac.exe)40 b(progammcode.jav)o(a)e(->)k(programmcode.clas)o(s)342 +b(Programm)41 b(compilieren)20 2406 y(java.exe)f(programmcode)1520 +b(Programm)41 b(ausf\374hren)20 2505 y(appletviewer.exe)1736 +b(Applets)41 b(ausf\374hren)20 2657 y +SDict begin H.S end + 20 2657 a 20 2657 +a +SDict begin 12 H.A end + 20 2657 a 20 2657 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.2) cvn /DEST pdfmark +end + 20 2657 a 133 x Fe(19.2.)68 b(Sp)l(rache)45 +b(und)g(Syntax)g(von)g(Java)20 2897 y +SDict begin H.S end + 20 2897 a 20 2897 +a +SDict begin 12 H.A end + 20 2897 a 20 2897 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.2.1) cvn /DEST pdfmark +end + 20 2897 a 95 x Fi(19.2.1.)57 b(K)m(ommentra)m(re) +20 3149 y Fd(/*)261 b(Kommentar-Anfan)o(g)20 3248 y(*/)g +(Kommentar-Ende)20 3348 y(//)g(Einzeiliger)39 b(Kommentar)g(ohne)j +(Ende)20 3547 y(;)305 b(Anweisung)39 b(abschlie\377en)20 +3690 y +SDict begin H.S end + 20 3690 a 20 3690 a +SDict begin 12 H.A end + 20 3690 a 20 3690 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.2.2) cvn /DEST pdfmark +end + 20 3690 +a 100 x Fi(19.2.2.)57 b(Datent)m(yp)s(en)20 3947 y Fd(Typ)217 +b(Inhalt)782 b(Standdartwert)125 b(Gr\366\377e)j(Wertebereich)20 +4046 y(boolean)41 b(True)h(oder)f(False)391 b(False)520 +b(1)43 b(Bit)86 b(-)20 4146 y(char)173 b(Unicode)40 b(Zeichen)390 +b(0000)521 b(16)42 b(Bit)173 b(0000)42 b(bis)h(FFFF)f(\(Hex.\))20 +4245 y(byte)173 b(Ganzzahl)40 b(mit)i(Vorzeichen)e(0)696 +b(8)43 b(Bit)173 b(-256)42 b(bis)h(255)20 4345 y(short)129 +b(Ganzzahl)40 b(mit)i(Vorzeichen)e(0)653 b(16)42 b(Bit)86 +b(-32768)41 b(bis)i(32767)20 4445 y(int)217 b(Ganzzahl)40 +b(mit)i(Vorzeichen)e(0)653 b(32)42 b(Bit)130 b(-2^31)41 +b(bis)i(2^31-1)20 4544 y(long)173 b(Ganzzahl)40 b(mit)i(Vorzeichen)e(0) +653 b(64)42 b(Bit)130 b(-2^63)41 b(bis)i(2^63-1)20 4644 +y(float)129 b(Kommazahl)650 b(0.0)565 b(32)42 b(Bit)86 +b(-)20 4744 y(double)f(Kommazahl)650 b(0.0)565 b(64)42 +b(Bit)86 b(-)2996 5092 y Fk(135)p eop end +%%Page: 136 136 +TeXDict begin 136 135 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.136) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(19.)41 +b(Ja)n(v)-5 b(a)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 +a 640 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.2.3) cvn /DEST pdfmark +end + 640 277 a 83 x Fi(19.2.3.)57 b(V)m(a)m(riablen)640 +416 y +SDict begin H.S end + 640 416 a 640 416 a +SDict begin 12 H.A end + 640 416 a 640 416 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.31) cvn /DEST pdfmark +end + 640 416 +a 640 519 a +SDict begin H.S end + 640 519 a 640 519 a +SDict begin 12 H.A end + 640 519 a 640 519 a +SDict begin [/View [/XYZ H.V]/Dest (section*.30) cvn /DEST pdfmark +end + 640 +519 a Fj(V)m(a)m(riable)31 b(dekla)m(rieren)640 679 y +Fd(boolean)41 b(myBool;)640 778 y(int)h(x)i(=)f(32;)640 +878 y(double)e(y)i(=)g(3.2;)640 978 y(char)f(buchstabe;)640 +1120 y +SDict begin H.S end + 640 1120 a 640 1120 a +SDict begin 12 H.A end + 640 1120 a 640 1120 a +SDict begin [/View [/XYZ H.V]/Dest (subsubsection*.33) cvn /DEST pdfmark +end + 640 +1120 a 640 1211 a +SDict begin H.S end + 640 1211 a 640 1211 a +SDict begin 12 H.A end + 640 1211 a 640 +1211 a +SDict begin [/View [/XYZ H.V]/Dest (section*.32) cvn /DEST pdfmark +end + 640 1211 a Fj(V)m(a)m(riab)s(eln)30 b(ansp)m(rechen)640 +1370 y Fd(this.buchstabe;)386 b(bezieht)41 b(sich)g(auf)i(die)f +(aktuelle)e(Klasse)640 1521 y +SDict begin H.S end + 640 1521 a 640 1521 a +SDict begin 12 H.A end + 640 +1521 a 640 1521 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.3) cvn /DEST pdfmark +end + 640 1521 a 141 x Fe(19.3.)68 b(P)l(ak)l(ete)45 +b(und)f(V)l(erzeichnisstrukturen)640 1747 y +SDict begin H.S end + 640 1747 +a 640 1747 a +SDict begin 12 H.A end + 640 1747 a 640 1747 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.3.1) cvn /DEST pdfmark +end + 640 1747 a 120 x Fi(19.3.1.)57 +b(Sichtba)m(rk)m(eit)35 b(und)i(Zugri\033srechte)g(von)g(Klassen)g(und) +1014 1983 y(Metho)s(den)640 2143 y Fd(public)782 b(Klasse,)41 +b(Methode)f(oder)i(Variable)e(die)j(\374berall)d(sichtbar)g(ist)640 +2242 y(protected)650 b(Methode)41 b(oder)g(Variable)g(die)h(nur)g(im)h +(eigenen)e(Paket)g(und)1686 2342 y(abgeleiteten)d(Klassen)j(sichtbar)f +(ist)640 2441 y(default)738 b(Klasse,)41 b(Methode)f(oder)i(Variable)e +(die)j(Sichtbarkei)38 b(beschr\344ngt)1686 2541 y(sich)k(auf)g(das)g +(eigen)g(Paket)640 2641 y(private)f(protected)301 b(Methode)41 +b(oder)g(Variable)g(die)h(nur)g(in)h(abgeleiteten)38 +b(Klassen)1686 2740 y(sichtbar)i(ist)640 2840 y(private)738 +b(Methode)41 b(oder)g(Variable)g(die)h(nur)g(in)h(der)f(eigenen)f +(Klasse)1686 2940 y(sichtbar)f(ist)640 3139 y(Zugriff)999 +b(public)41 b(protected)f(default)h(private)f(protected)g(private)640 +3238 y(-------)999 b(------)41 b(---------)f(-------)h(---------------) +o(--)c(-------)640 3338 y(Zugriff)k(...)640 3438 y(...)h(im)h(selben)e +(Paket)477 b(Ja)217 b(Ja)348 b(Ja)261 b(Nein)608 b(Nein)640 +3537 y(...)42 b(von)h(anderen)d(Paketen)302 b(Ja)217 +b(Nein)260 b(Nein)173 b(Nein)608 b(Nein)640 3637 y(Vererbt)41 +b(...)640 3737 y(...)h(Klassen)f(im)i(selben)e(Paket)128 +b(Ja)217 b(Ja)348 b(Ja)261 b(Ja)696 b(Nein)640 3836 y(...)42 +b(Klassen)f(an)i(andere)e(Pakete)84 b(Ja)217 b(Ja)348 +b(Nein)173 b(Ja)696 b(Nein)640 3967 y +SDict begin H.S end + 640 3967 a 640 +3967 a +SDict begin 12 H.A end + 640 3967 a 640 3967 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.3.2) cvn /DEST pdfmark +end + 640 3967 a 119 x Fi(19.3.2.)57 +b(Klassen)640 4245 y Fd(class)42 b(Klasse)520 b(Klassendeklarati)o(on) +640 4345 y({)989 4445 y(...)640 4544 y(})640 4744 y(public)41 +b(class)h(Klasse)215 b(\366ffendliche)39 b(Klassendeklarati)o(on)640 +5092 y Fk(136)p eop end +%%Page: 137 137 +TeXDict begin 137 136 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.137) cvn /DEST pdfmark end + 12 -5 a 1686 128 a Fh(19.3.)40 +b(P)n(ak)n(ete)27 b(und)h(V)-7 b(erzeic)n(hnisstrukturen)20 +360 y Fd({)1002 b(-ohne)41 b(public)g(ist)i(die)f(Klasse)f(automatisch) +e("privat")369 460 y(...)20 559 y(})20 758 y(package)i(Paketklasse;)169 +b(Klassen)41 b(zusammenfassen)c(d.h.)42 b(Paketklasse.Klas)o(se)20 +858 y(public)f(class)h(Klasse)20 958 y({)369 1057 y(...)20 +1157 y(})20 1356 y(package)f(Paket.Paketklas)o(se)299 +b(Oberklassen)38 b(zusammenfassen)g(d.h.)1415 1456 y(Paket.Paketklas)o +(se)o(.K)o(las)o(se)20 1580 y +SDict begin H.S end + 20 1580 a 20 1580 a +SDict begin 12 H.A end + 20 +1580 a 20 1580 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.3.3) cvn /DEST pdfmark +end + 20 1580 a 118 x Fi(19.3.3.)57 b(K)m(onstrukto)m(ren)36 +b(und)h(Destrukto)m(ren)20 1854 y Fd(class)42 b(Klasse)869 +b(Konstruktor)20 1954 y({)1351 b(-----------)369 2054 +y(public)41 b(Klasse\(\))389 b(Methode)40 b(die)i(beim)g(Erschaffen)e +(eines)h(neuen)h(Objektes)369 2153 y({)1002 b(automatisch)38 +b(aufgerufen)i(wird)717 2253 y(...)369 2353 y(})1350 +b(Destruktor)1763 2452 y(----------)369 2552 y(protected)39 +b(void)j(finalize\(\))301 b(Methode)41 b(die)h(beim)g(L\366schen)f +(eines)g(alten)369 2651 y({)1350 b(Objektes)40 b(automatisch)f +(aufgerufen)h(wird)717 2751 y(...)369 2851 y(})20 2950 +y(})20 3081 y +SDict begin H.S end + 20 3081 a 20 3081 a +SDict begin 12 H.A end + 20 3081 a 20 3081 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.3.4) cvn /DEST pdfmark +end + +20 3081 a 111 x Fi(19.3.4.)57 b(Metho)s(den)36 b(\374b)s(erladen)20 +3349 y Fd(class)42 b(Klasse)20 3448 y({)369 3548 y(Methode\(\))650 +b(Dieselbe)40 b(Metode)h(mehrmals)f(mit)i(unterschielichen)369 +3648 y({)1002 b(Parametern)39 b(schaffen)717 3747 y(...)369 +3847 y(})369 3947 y(Methode\(int)g(var\))347 b(Dieselbe)40 +b(Metode)h(mehrmals)f(mit)i(unterschielichen)369 4046 +y({)1002 b(Parametern)39 b(schaffen)717 4146 y(...)369 +4245 y(})20 4345 y(})20 4476 y +SDict begin H.S end + 20 4476 a 20 4476 a +SDict begin 12 H.A end + 20 +4476 a 20 4476 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.3.5) cvn /DEST pdfmark +end + 20 4476 a 111 x Fi(19.3.5.)57 b(Objekte)20 +4744 y Fd(objekt)41 b(Neuobjekt)f(=)j(new)f(objekt\(\);)345 +b(Neues)42 b(Objekt)f(Neuobjekt)e(von)k(der)f(Klasse)2996 +5092 y Fk(137)p eop end +%%Page: 138 138 +TeXDict begin 138 137 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.138) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(19.)41 +b(Ja)n(v)-5 b(a)2383 360 y Fd(objekt)41 b(erstellen)640 +531 y +SDict begin H.S end + 640 531 a 640 531 a +SDict begin 12 H.A end + 640 531 a 640 531 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.3.6) cvn /DEST pdfmark +end + 640 531 +a 107 x Fi(19.3.6.)57 b(V)m(ererbung)640 807 y Fd(public)41 +b(class)h(NeuKlasse)d(extends)i(Klasse)g({})348 b(neue)42 +b(Klasse)f(NeuKlasse)e(herstellen)2732 906 y(alle)j(sichtbaren)d +(Eigenschaften)2732 1006 y(und)j(Methoden)e(werden)h(\374bernommen)640 +1159 y +SDict begin H.S end + 640 1159 a 640 1159 a +SDict begin 12 H.A end + 640 1159 a 640 1159 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.3.7) cvn /DEST pdfmark +end + 640 +1159 a 125 x Fi(19.3.7.)57 b(Schnittstellen)640 1453 +y Fd(public)41 b(interface)f(Klasse)h({)653 b(Schnittstelle)38 +b(erschaffen)989 1553 y(Methodenkopf\(\);)989 1652 y(Variablen;)640 +1752 y(})640 1951 y(class)k(NeuKlasse)d(extends)i(Klasse)g(implements)e +(IntKlasse)214 b(neue)42 b(Klasse)f(NeuKlasse)3080 2051 +y(herstellen)2732 2150 y(alle)h(sichtbaren)d(Eigenschaften)2732 +2250 y(und)j(Methoden)e(werden)h(\374bernommen)2732 2350 +y(und)h(die)g(Schnittstelle)c(IntKlasse)2732 2449 y(hinzuf\374gen)640 +2629 y +SDict begin H.S end + 640 2629 a 640 2629 a +SDict begin 12 H.A end + 640 2629 a 640 2629 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.4) cvn /DEST pdfmark +end + 640 +2629 a 140 x Fe(19.4.)68 b(Elementa)l(re)45 b(Syntax)g(von)g(Java)640 +2882 y +SDict begin H.S end + 640 2882 a 640 2882 a +SDict begin 12 H.A end + 640 2882 a 640 2882 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.1) cvn /DEST pdfmark +end + 640 +2882 a 101 x Fi(19.4.1.)57 b(Op)s(errato)m(ren)640 3152 +y Fd(x)43 b(=)g(10;)391 b(Das)43 b(Gleichheitszeic)o(he)o(n)38 +b(weist)j(immer)h(den)g(rechten)e(Wert)i(dem)h(auf)1337 +3252 y(der)g(linken)e(Seite)g(zu)640 3405 y +SDict begin H.S end + 640 3405 +a 640 3405 a +SDict begin 12 H.A end + 640 3405 a 640 3405 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.2) cvn /DEST pdfmark +end + 640 3405 a 125 x Fi(19.4.2.)57 +b(V)m(erkn\374pfungsop)s(erato)m(ren)640 3699 y Fd(Operator)345 +b(Bedeutung)302 b(Beispiel)640 3799 y(--------)345 b(---------)302 +b(--------)640 3898 y(+)653 b(Addition)346 b(7)43 b(=)g(3)g(+)g(4;)640 +3998 y(-)653 b(Subtraktion)214 b(1)43 b(=)g(7)g(-)g(6;)640 +4097 y(*)653 b(Multiplikation)82 b(6)43 b(=)g(2)g(*)g(3;)640 +4197 y(/)653 b(Division)346 b(3)43 b(=)g(9)g(/)g(3;)640 +4297 y(\045)653 b(Modulo\(Rest\))170 b(1)43 b(=)g(9)g(\045)g(4;)640 +4461 y +SDict begin H.S end + 640 4461 a 640 4461 a +SDict begin 12 H.A end + 640 4461 a 640 4461 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.3) cvn /DEST pdfmark +end + 640 +4461 a 113 x Fi(19.4.3.)57 b(Inkrement-Op)s(erato)m(r)640 +4744 y Fd(x++;)521 b(x)44 b(=)f(x)g(+)g(1;)640 5092 y +Fk(138)p eop end +%%Page: 139 139 +TeXDict begin 139 138 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.139) cvn /DEST pdfmark end + 12 -5 a 1873 128 a Fh(19.4.)40 +b(Elemen)n(tare)27 b(Syn)n(tax)g(v)n(on)g(Ja)n(v)-5 b(a)20 +277 y +SDict begin H.S end + 20 277 a 20 277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.4) cvn /DEST pdfmark +end + 20 277 a 83 +x Fi(19.4.4.)57 b(Dekrement-Op)s(erato)m(r)20 513 y Fd(x--;)521 +b(x)43 b(=)h(x)f(-)g(1;)20 640 y +SDict begin H.S end + 20 640 a 20 640 a +SDict begin 12 H.A end + 20 +640 a 20 640 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.5) cvn /DEST pdfmark +end + 20 640 a 105 x Fi(19.4.5.)57 b(Arithmetische)36 +b(Zu)m(w)m(eisungsop)s(erato)m(ren)20 898 y Fd(Operator)345 +b(Beispiel)h(Bedeutung)20 998 y(--------)f(--------)h(---------)20 +1098 y(+=)609 b(x)43 b(+=)g(3;)392 b(x)43 b(=)g(x)g(+)g(3;)20 +1197 y(-=)609 b(x)43 b(-=)g(3;)392 b(x)43 b(=)g(x)g(-)g(3;)20 +1297 y(*=)609 b(x)43 b(*=)g(3;)392 b(x)43 b(=)g(x)g(*)g(3;)20 +1396 y(/=)609 b(x)43 b(/=)g(3;)392 b(x)43 b(=)g(x)g(/)g(3;)20 +1496 y(\045=)609 b(x)43 b(\045=)g(3;)392 b(x)43 b(=)g(x)g(\045)g(3;)20 +1623 y +SDict begin H.S end + 20 1623 a 20 1623 a +SDict begin 12 H.A end + 20 1623 a 20 1623 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.6) cvn /DEST pdfmark +end + 20 1623 +a 105 x Fi(19.4.6.)57 b(Bedingungen)35 b(und)h(Entscheidungen)20 +1881 y Fd(if\(Bedingung\))i({)392 b(wenn)42 b(Bedingung)e(wahr)h(dann)h +(Anweisungen)369 1981 y(Anweisungen;)169 b(if)43 b(\()g(x)g(!=)g(y)g +(\))g({)g(z++;)f(})20 2080 y(})20 2280 y(Operator)345 +b(Beschreibung)20 2379 y(--------)g(------------)20 2479 +y(==)609 b(Gleichheit)20 2579 y(!=)g(Ungleichheit)20 +2678 y(<)653 b(kleiner)41 b(als)20 2778 y(>)653 b(gr\366\377er)41 +b(als)20 2877 y(<=)609 b(kleiner)41 b(gleich)20 2977 +y(>=)609 b(gr\366\377er)41 b(gleich)20 3111 y +SDict begin H.S end + 20 3111 +a 20 3111 a +SDict begin 12 H.A end + 20 3111 a 20 3111 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.7) cvn /DEST pdfmark +end + 20 3111 a 98 x Fi(19.4.7.)57 +b(if)37 b(-)g(else)g(-)h(Bedingungen)20 3362 y Fd(if\(Bedingung\))g({) +392 b(wenn)42 b(Bedingung)e(wahr)h(dann)h(Anweisungen1)d(sonst)i +(Anweisungen2)369 3462 y(Anweisungen1;)125 b(if)43 b(\()g(x)g(!=)g(y)g +(\))g({)g(z++;)f(})h(else)f({)h(z--;)f(})20 3561 y(})h(else)f({)369 +3661 y(Anweisungen2;)20 3761 y(})20 3883 y +SDict begin H.S end + 20 3883 a +20 3883 a +SDict begin 12 H.A end + 20 3883 a 20 3883 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.8) cvn /DEST pdfmark +end + 20 3883 a 110 x Fi(19.4.8.)57 +b(V)m(erschachtelte)36 b(Bedingungen)20 4146 y Fd(if\(Bedingung1\))i({) +697 b(wenn)41 b(Bedingung1)f(und)i(Bedingung2)d(dann)j(Anweisungen1)369 +4245 y(if\(Bedingung2\){)386 b(sonst)41 b(Anweisungen2)717 +4345 y(Anweisungen1;)126 b(if\()42 b(x)h(!=)g(y)g(\))g({)g(if\()f(a)i +(<)f(b)g(\){z++;})e(})i(else)f({)h(z--;)f(})369 4445 +y(})20 4544 y(})h(else)f({)369 4644 y(Anweisungen2)20 +4744 y(})2996 5092 y Fk(139)p eop end +%%Page: 140 140 +TeXDict begin 140 139 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.140) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(19.)41 +b(Ja)n(v)-5 b(a)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 +a 640 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.4.9) cvn /DEST pdfmark +end + 640 277 a 83 x Fi(19.4.9.)57 b(F)m(allunterscheidung)33 +b(mit)k(switch)g(-)h(case)640 516 y Fd(switch\(Ausdruck\))f({)958 +b(switch\(2\))40 b({)566 b(Route)41 b(2)j(also)989 616 +y(case)e(Wert1:)f(Anweisungen1;)648 b(case)42 b(1:)g(x++;)173 +b(x)43 b(=)g(x)g(-)h(1;)1337 716 y(break;)1479 b(break;)989 +815 y(case)42 b(Wert2:)f(Anweisungen2;)648 b(case)42 +b(2:)g(x--;)1337 915 y(break;)1479 b(break;)989 1015 +y(case)42 b(Wert3:)f(Anweisungen3;)299 b(})1337 1114 +y(break;)640 1214 y(})640 1353 y +SDict begin H.S end + 640 1353 a 640 1353 +a +SDict begin 12 H.A end + 640 1353 a 640 1353 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.5) cvn /DEST pdfmark +end + 640 1353 a 145 x Fe(19.5.)68 +b(Schleifen)640 1581 y +SDict begin H.S end + 640 1581 a 640 1581 a +SDict begin 12 H.A end + 640 1581 +a 640 1581 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.5.1) cvn /DEST pdfmark +end + 640 1581 a 118 x Fi(19.5.1.)57 b(Die)36 +b(while)g(-)i(Schleife)640 1856 y Fd(while\(Bedingung\))f({)610 +b(int)42 b(x=0;)695 b(solange)41 b(Bedingung)f(wahr)989 +1955 y(Anweisungen;)518 b(while\(x<10\))38 b({)479 b(Anweisungen)640 +2055 y(})1699 b(x++;)2035 2155 y(})640 2285 y +SDict begin H.S end + 640 2285 +a 640 2285 a +SDict begin 12 H.A end + 640 2285 a 640 2285 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.5.2) cvn /DEST pdfmark +end + 640 2285 a 111 x Fi(19.5.2.)57 +b(Die)36 b(do)h(-)h(while)e(-)i(Schleife)640 2553 y Fd(do)43 +b({)1220 b(int)42 b(x=0;)695 b(Anweisungen)39 b(dann)j(solange)989 +2652 y(Anweisungen;)518 b(do)42 b({)871 b(Bedingung)40 +b(wahr)640 2752 y(})j(while\(Bedingung\);)908 b(x++;)521 +b(Anweisungen)2035 2852 y(})43 b(while\(x<10\);)640 2987 +y +SDict begin H.S end + 640 2987 a 640 2987 a +SDict begin 12 H.A end + 640 2987 a 640 2987 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.5.3) cvn /DEST pdfmark +end + 640 2987 +a 106 x Fi(19.5.3.)57 b(Die)36 b(fo)m(r)i(-)f(Schleife)640 +3250 y Fd(for\(Initialisier)o(ung)o(;)g(Bedingung;)j(Schleifenschrit)o +(t\))d({)217 b(solange)41 b(Bedingung)f(wahr)989 3350 +y(Anweisungen;)1563 b(Anweisungen)640 3449 y(})1351 b(for\(x=0;x<10;x+) +o(+\))37 b({)2383 3549 y(y++;)2035 3648 y(})640 3779 +y +SDict begin H.S end + 640 3779 a 640 3779 a +SDict begin 12 H.A end + 640 3779 a 640 3779 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.5.4) cvn /DEST pdfmark +end + 640 3779 +a 111 x Fi(19.5.4.)57 b(Schleifen)35 b(mit)j(b)m(reak)e(verlassen)640 +4047 y Fd(for\(x=0;x<10;x++)o(\))i({)566 b(Die)42 b(Schleife)e(wird)i +(vor)g(dem)h(y++)f(verlassen)989 4146 y(break;)989 4246 +y(y++;)640 4345 y(})640 4476 y +SDict begin H.S end + 640 4476 a 640 4476 a +SDict begin 12 H.A end + +640 4476 a 640 4476 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.5.5) cvn /DEST pdfmark +end + 640 4476 a 111 x Fi(19.5.5.)57 +b(Schleife)36 b(mit)h(continue)f(wiederholen)640 4744 +y Fd(for\(x=0;x<10;x++)o(\))i({)566 b(Die)42 b(Schleife)e(wird)i(vor)g +(dem)h(y++)f(wiederholt)640 5092 y Fk(140)p eop end +%%Page: 141 141 +TeXDict begin 141 140 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.141) cvn /DEST pdfmark end + 12 -5 a 2098 128 a Fh(19.6.)40 +b(K)n(omplexe)26 b(Daten)n(t)n(yp)r(en)369 360 y Fd(continue;)369 +460 y(y++;)20 559 y(})20 711 y +SDict begin H.S end + 20 711 a 20 711 a +SDict begin 12 H.A end + 20 711 +a 20 711 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.6) cvn /DEST pdfmark +end + 20 711 a 147 x Fe(19.6.)68 b(K)l(omplexe)44 +b(Datent)l(yp)t(en)20 967 y +SDict begin H.S end + 20 967 a 20 967 a +SDict begin 12 H.A end + 20 967 +a 20 967 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.6.1) cvn /DEST pdfmark +end + 20 967 a 98 x Fi(19.6.1.)57 b(Arra)m(ys)20 +1226 y Fd(int)42 b(liste[])f(=)i(new)f(int[10];)259 b(schafft)40 +b(ein)i(Array)g(dass)g(zehn)g(verschiedene)c(int-)1415 +1326 y(Werte)j(speichern)f(kann)20 1426 y(int)i(Array[][])e(=)j(new)g +(int[3][3];)83 b(schafft)40 b(ein)i(zweidimensionales)37 +b(Array)20 1525 y(int)42 b(liste[])f(=)i({3,)f(5,)h(7};)348 +b(schaft)41 b(ein)h(Array)f(mit)i(3)g(Werten)20 1625 +y(liste[0])d(=)j(Wert;)696 b(Wert)41 b(des)i(1.)f(Elements)f(zuweisen) +20 1725 y(liste[0][0])e(=)k(Wert;)565 b(Wert)41 b(des)i(1.)f(Elements)f +(zuweisen)20 1824 y(Wert)h(=)h(liste[0];)694 b(Wert)41 +b(des)i(1.)f(Elements)f(abrufen)20 1924 y(Wert)h(=)h(liste[0][0];)562 +b(Wert)41 b(des)i(1.)f(Elements)f(abrufen)20 2023 y(liste.length)867 +b(enth\344lt)40 b(die)i(L\344nge)g(des)g(Arrays)f(liste)20 +2187 y +SDict begin H.S end + 20 2187 a 20 2187 a +SDict begin 12 H.A end + 20 2187 a 20 2187 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.7) cvn /DEST pdfmark +end + 20 2187 +a 135 x Fe(19.7.)68 b(Die)46 b(Anw)l(eisung)e(imp)t(o)l(rt)20 +2512 y Fd(import)d(haus.wand.stein;)386 b(import)41 b(erlaubt)f(es)j +(Klassen)d(im)j(Sourcecode)20 2612 y(getAnzahl\(\);)867 +b(\374ber)41 b(einen)h(gek\374rzten)e(Namen)h(anzuspechen)1415 +2712 y(haus.wand.stein)o(.g)o(et)o(Anz)o(ah)o(l\()o(\))d(->)k +(getAnzahl\(\))20 2911 y(import)f(java.lang.*;)562 b(importiert)39 +b(alle)j(Bestandteile)c(ins)43 b(Programm)20 3074 y +SDict begin H.S end + 20 +3074 a 20 3074 a +SDict begin 12 H.A end + 20 3074 a 20 3074 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.8) cvn /DEST pdfmark +end + 20 3074 a 136 x +Fe(19.8.)68 b(Java)45 b(eigene)g(Klassen)20 3319 y +SDict begin H.S end + 20 +3319 a 20 3319 a +SDict begin 12 H.A end + 20 3319 a 20 3319 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.8.1) cvn /DEST pdfmark +end + 20 3319 a 97 x Fi(19.8.1.)57 +b(Die)36 b(Klasse)g(Math)20 3578 y Fd(Math.*)1131 b(bietet)41 +b(mathematische)d(Funktionen)20 3678 y(Math.E)1131 b(Eulersche)39 +b(Zahl)20 3777 y(Math.PI)1087 b(PI)20 3877 y(Math.random\(\))823 +b(Zufallszahl)38 b(zwischen)j(0)i(und)f(1)20 3977 y(Math.round\(\))867 +b(rundet)41 b(zu)h(Ganzzahlen)20 4128 y +SDict begin H.S end + 20 4128 a 20 +4128 a +SDict begin 12 H.A end + 20 4128 a 20 4128 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.9) cvn /DEST pdfmark +end + 20 4128 a 147 x Fe(19.9.)68 +b(Die)46 b(Klasse)f(Object)20 4385 y +SDict begin H.S end + 20 4385 a 20 4385 +a +SDict begin 12 H.A end + 20 4385 a 20 4385 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.9.1) cvn /DEST pdfmark +end + 20 4385 a 97 x Fi(19.9.1.)57 b(Die)36 +b(Klasse)g(Object)20 4644 y Fd(getClass\(\))955 b(liefert)40 +b(die)i(Klasse)f(eines)h(Objektes)e(zur\374ck)20 4744 +y(equals\(\))1043 b(vergleicht)39 b(zwei)j(Objekte)e(gibt)i(true)g +(oder)g(false)2996 5092 y Fk(141)p eop end +%%Page: 142 142 +TeXDict begin 142 141 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.142) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(19.)41 +b(Ja)n(v)-5 b(a)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 +a 640 277 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.10) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(19.10.)68 b(Die)46 b(Klasse)f(Runtime)640 +546 y Fd(Um)e(diese)e(Klasse)g(zu)i(nutzen,muss)c(mit)j(getRuntime\(\)) +d(erst)j(ein)g(Objekt)f(erstellt)f(werden!)640 646 y(Runtime)h +(mySystem)f(=)j(Runtime.getRunti)o(me)o(\(\);)342 b(Objekt)41 +b(Runtime)f(erstellen)640 845 y(freeMemory\(\))867 b(freier)41 +b(Speicher)640 945 y(totalMemory\(\))823 b(gesamter)40 +b(Speicher)640 1044 y(exit\(0\))1087 b(Programm)40 b(sofort)h(mit)h +(Wert)g(verlassen)640 1144 y(exec\(\))1131 b(Systemprogramme)37 +b(starten)j(\(s.)j(Exceptions\))640 1294 y +SDict begin H.S end + 640 1294 a +640 1294 a +SDict begin 12 H.A end + 640 1294 a 640 1294 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.11) cvn /DEST pdfmark +end + 640 1294 a 133 x Fe(19.11.)68 +b(Die)46 b(Klasse)f(String)640 1611 y Fd(String)c(s)i(=)g("Hallo")e(+)i +(")g(Du)g(!";)130 b(Strings)40 b(zusammenfassen)640 1711 +y(charAt\(\))1043 b(gibt)41 b(einen)h(Buchstaben)d(aus)k(dem)f(String)f +(zur\374ck)640 1811 y(indexOf\(\))999 b(Position)40 b(von)i +(Buchstaben/kette)o(n)37 b(feststellen)640 1910 y(substring\(\))911 +b(String)41 b(auseinanderschn)o(ei)o(den)640 2010 y(lenght\(\))1043 +b(L\344nge)41 b(eines)g(Strings)g(bestimmen)640 2160 +y +SDict begin H.S end + 640 2160 a 640 2160 a +SDict begin 12 H.A end + 640 2160 a 640 2160 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.12) cvn /DEST pdfmark +end + 640 2160 +a 132 x Fe(19.12.)68 b(Die)46 b(Klasse)f(Stringbu\033er)640 +2399 y +SDict begin H.S end + 640 2399 a 640 2399 a +SDict begin 12 H.A end + 640 2399 a 640 2399 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.12.1) cvn /DEST pdfmark +end + 640 +2399 a 95 x Fi(19.12.1.)57 b(Die)36 b(Klasse)h(Stringbu\033er)640 +2650 y Fk(Um)28 b(diese)g(Klasse)e(zu)h(n)n(utzen,)h(m)n(uss)f(erst)g +(ein)h(Ob)5 b(jekt)27 b(erstellt)h(w)n(erden!)640 2822 +y Fd(Stringbuffer)39 b(buffer)i(=)i(newStringbuffer)o(\("")o(\);)255 +b(Objekt)41 b(Stringbuffer)d(erstellen)640 3021 y(setCharAt\(\))911 +b(\344nderrung)39 b(eines)j(bestimmten)d(Buchstaben)g(im)k(String)640 +3121 y(delete\(\))1043 b(l\366scht)41 b(Teile)g(aus)h(dem)h(String)640 +3220 y(replace\(\))999 b(ersetzt)40 b(Teile)i(im)g(String)640 +3320 y(insert\(\))1043 b(setzt)41 b(Teile)g(im)i(String)e(ein)640 +3470 y +SDict begin H.S end + 640 3470 a 640 3470 a +SDict begin 12 H.A end + 640 3470 a 640 3470 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.13) cvn /DEST pdfmark +end + 640 +3470 a 133 x Fe(19.13.)68 b(Die)46 b(Klasse)f(System)640 +3787 y Fk(Standardeingab)r(e)26 b(-)i(in,)g(Standardausgab)r(e)d(-)j +(out,)f(F)-7 b(ehlerausgab)r(e)26 b(-)i(err)640 3977 +y Fd(System.out.print)o(ln\()o("T)o(ex)o(t"\))255 b(Text)41 +b(ausgeben)640 4177 y(byte[])g(b)i(=)g(new)g(byte[80];)640 +4276 y(System.in.read\(b)o(\);)604 b(Einlesen)40 b(von)i(Daten)640 +4426 y +SDict begin H.S end + 640 4426 a 640 4426 a +SDict begin 12 H.A end + 640 4426 a 640 4426 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.14) cvn /DEST pdfmark +end + 640 +4426 a 133 x Fe(19.14.)68 b(Das)45 b(P)l(ak)l(et)g(java.util)640 +4744 y Fd(import)c(java.util.*;)562 b(Paket)41 b(einbinden)640 +5092 y Fk(142)p eop end +%%Page: 143 143 +TeXDict begin 143 142 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.143) cvn /DEST pdfmark end + 12 -5 a 1952 128 a Fh(19.15.)39 +b(Ausnahmen)28 b(\(Exceptions\))20 277 y +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.14.1) cvn /DEST pdfmark +end + 20 277 a 83 x Fi(19.14.1.)57 +b(Die)36 b(Klasse)g(Date)20 515 y Fd(Date)42 b(myDate)f(=)i(new)f +(Date\(\);)303 b(Objekt)41 b(Date)g(erstellen)20 715 +y(toString\(\))955 b(Datum)41 b(in)i(einen)e(String)g(umwandeln)20 +814 y(getTime\(\))999 b(UNIX-Timestamp,)37 b(der)42 b(die)g(Sekunden)f +(seit)g(dem)1415 914 y(1.1.1970)f(ausgibt)20 1013 y(before\(\))1043 +b(vergleicht)39 b(das)j(Datumsobjekt)d(od)j(es)h(davor)f(ist)20 +1113 y(after\(\))1087 b(vergleicht)39 b(das)j(Datumsobjekt)d(od)j(es)h +(danach)e(ist)103 1300 y Fk(Erw)n(eiterte)c(F)-7 b(unktionen)38 +b(rund)f(um)h(das)e(Datum)i(gibt)g(es)f(in)g(der)g(Klasse)f(Calendar)g +(bzw.)20 1400 y(DateF)-7 b(ormat)27 b(in)h(der)f(Ja)n(v)-5 +b(a-API)20 1521 y +SDict begin H.S end + 20 1521 a 20 1521 a +SDict begin 12 H.A end + 20 1521 a 20 1521 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.14.2) cvn /DEST pdfmark +end + 20 1521 a 117 x Fi(19.14.2.)57 b(Die)36 b(Klasse)g(Random)20 +1793 y Fd(Random)41 b(zz)i(=)g(new)f(Random\(\);)302 +b(Objekt)41 b(Random)g(erstellen)20 1993 y(Methode)389 +b(Bereich)738 b(Typ)20 2092 y(-------)389 b(-------)738 +b(---)20 2192 y(nextInt\(\))301 b(-2^31)42 b(bis)g(2^31-1)346 +b(int)20 2292 y(nextLong\(\))257 b(-2^63)42 b(bis)g(2^63-1)346 +b(long)20 2391 y(nextFloat\(\))213 b(0.0)43 b(bis)f(1.0)565 +b(float)20 2491 y(nextDouble\(\))169 b(0.0)43 b(bis)f(1.0)565 +b(double)20 2690 y(nextGaussian\(\))430 b(gibt)42 b(eine)g(Zufallszahl) +d(zur\374ck,)h(die)i(nach)g(dem)h(Gau\377-)1066 2790 +y(Verfahren)d(ermittelt)f(wurde)20 2911 y +SDict begin H.S end + 20 2911 a 20 +2911 a +SDict begin 12 H.A end + 20 2911 a 20 2911 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.14.3) cvn /DEST pdfmark +end + 20 2911 a 117 x Fi(19.14.3.)57 +b(Die)36 b(Klasse)g(Stack)20 3183 y Fd(Stack)42 b(myStack)e(=)j(new)g +(Stack\(\);)171 b(Objekt)41 b(Stack)g(erstellen)20 3383 +y(push\(\))1131 b(legt)41 b(ein)i(Objekt)e(auf)h(dem)g(Stack)g(ab)20 +3482 y(pop\(\))1175 b(holt)41 b(das)i(oberste)d(Objekt)h(vom)i(Stack)e +(und)h(l\366scht)f(es)20 3582 y(peek\(\))1131 b(holt)41 +b(das)i(oberste)d(Objekt)h(vom)i(Stack)20 3730 y +SDict begin H.S end + 20 3730 +a 20 3730 a +SDict begin 12 H.A end + 20 3730 a 20 3730 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.15) cvn /DEST pdfmark +end + 20 3730 a 132 x Fe(19.15.)68 +b(Ausnahmen)43 b(\(Exceptions\))20 4046 y Fd(import)e(java.io.*;)20 +4146 y(public)g(class)h(trycatchfinally)37 b({)107 4245 +y(public)k(static)g(void)h(main\(String)d(args[]\))i({)194 +4345 y(Runtime)g(mySystem)f(=)j(Runtime.getRuntim)o(e\()o(\);)168 +b(//Objekt)40 b(Runtime)h(erstellen)194 4445 y(try{)1742 +b(//unsichere)39 b(Anweisungen)282 4544 y(mySystem.exec\(")o(xa)o(os)o +("\);)194 4644 y(})44 b(catch\(IOExcepti)o(on)37 b(e\))43 +b({)871 b(//Fehlerbehandl)o(ung)282 4744 y(System.err.prin)o(tl)o(n\()o +("Es)37 b(ist)42 b(ein)g(Fehler)f(aufgetreten:)e(")k(+)g(e\);)2996 +5092 y Fk(143)p eop end +%%Page: 144 144 +TeXDict begin 144 143 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.144) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(19.)41 +b(Ja)n(v)-5 b(a)814 360 y Fd(})44 b(finally)c({)1089 +b(//Anweisungen)38 b(werden)j(immer)h(ausgef\374hrt)902 +460 y(System.out.prin)o(tl)o(n\(")o(Kr)o(it)o(isc)o(he)o(r)37 +b(Bereich)k(wurde)h(ausgef\374hrt!"\);)814 559 y(})727 +659 y(})640 758 y(})640 904 y +SDict begin H.S end + 640 904 a 640 904 a +SDict begin 12 H.A end + 640 +904 a 640 904 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.15.1) cvn /DEST pdfmark +end + 640 904 a 114 x Fi(19.15.1.)57 b(Eigene)36 +b(Ausnahme)f(erzeugen)i(\(thro)m(w\))640 1181 y Fd(Methode\(int)i +(zahl\))j({)989 1281 y(if\(zahl<0\))d({)1337 1381 y(throw\(new)h +(Exception\("Fehle)o(r!)o("\)\))o(;)989 1480 y(})j(elese)e({)1337 +1580 y(zahl++;)989 1679 y(})640 1779 y(})640 1933 y +SDict begin H.S end + 640 +1933 a 640 1933 a +SDict begin 12 H.A end + 640 1933 a 640 1933 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.16) cvn /DEST pdfmark +end + 640 1933 a 148 +x Fe(19.16.)68 b(Multitasking)44 b(mit)i(Threads)640 +2191 y +SDict begin H.S end + 640 2191 a 640 2191 a +SDict begin 12 H.A end + 640 2191 a 640 2191 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.16.1) cvn /DEST pdfmark +end + 640 +2191 a 98 x Fi(19.16.1.)57 b(Arb)s(eiten)36 b(mit)h(Threads)640 +2452 y Fd(java.lang)650 b(die)42 b(Klasse)f(Thread)g(ist)i(ein)f +(Bestandteil)d(des)j(Paketes)640 2651 y(public)f(class)h(Klasse)f +(implements)e(Runnable)h({})261 b(neue)42 b(Klasse)f(\374ber)h(die)2732 +2751 y(Schnittstelle)c(Runnable)i(erstellen)640 2950 +y(run\(\))1872 b(Methode)40 b(run\(\))i(\(Code)f(des)i(Threads\))2732 +3050 y(muss)f(\374berschrieben)c(werden)640 3249 y(Klasse)j(test)h(=)h +(new)g(Klasse\(\);)562 b(In)43 b(main\(\):)e(Objekt)g(der)h(eigenen)e +(Klasse)640 3349 y(test.start\(\);)1520 b(erstellen)40 +b(und)i(Startmethode)2732 3448 y(aufrufen)640 3648 y(public)f(void)h +(start\(\))f({)989 3747 y(Thread)g(myThread)f(=)j(new)f +(Thread\(this\);)213 b(Objekt)41 b(aus)h(der)g(Klasse)f(Thrad)2732 +3847 y(erstellen)f(und)i(deren)f(Konstruktor)2732 3947 +y(das)h(aktuelle)e(Objekt)h(als)2732 4046 y(parameter)f(\374bergeben) +989 4146 y(myThread.start\()o(\);)996 b(Thread)41 b(starten)989 +4245 y(...;)989 4345 y(myThread.stop\(\))o(;)1040 b(Thread)41 +b(beenden)640 4445 y(})640 4644 y(myThread.sleep\(x)o(\);)1301 +b(Thread)41 b(x)i(Milisekunden)38 b(pausieren)2732 4744 +y(muss)k(mit)g(Ausnahme)e(abgefangen)640 5092 y Fk(144)p +eop end +%%Page: 145 145 +TeXDict begin 145 144 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.145) cvn /DEST pdfmark end + 12 -5 a 2587 128 a Fh(19.17.)40 +b(Applets)2112 360 y Fd(werden)h(InterruptedExce)o(pti)o(on)20 +460 y(myThread.suspend)o(\(\))o(;)1258 b(Thraed)41 b(anhalten)20 +559 y(myThread.resume\()o(\);)1301 b(Thread)41 b(wieder)g(starten)20 +659 y(myThread.destroy)o(\(\))o(;)1258 b(Thread)41 b +(zerst\366ren/anhal)o(ten)20 804 y +SDict begin H.S end + 20 804 a 20 804 a +SDict begin 12 H.A end + +20 804 a 20 804 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.17) cvn /DEST pdfmark +end + 20 804 a 131 x Fe(19.17.)68 b(Applets)20 +1041 y +SDict begin H.S end + 20 1041 a 20 1041 a +SDict begin 12 H.A end + 20 1041 a 20 1041 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.1) cvn /DEST pdfmark +end + 20 1041 +a 93 x Fi(19.17.1.)57 b(Applets)36 b(in)h(eine)f(W)m(ebseite)h +(einbinden)20 1288 y Fd()107 1388 y()194 +1487 y(Mein)i(erstes)i(Applet)107 1587 +y()107 1687 y()194 1786 y()282 1886 y()282 1985 y()194 +2085 y()107 2185 y()20 2284 y()20 +2409 y +SDict begin H.S end + 20 2409 a 20 2409 a +SDict begin 12 H.A end + 20 2409 a 20 2409 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.2) cvn /DEST pdfmark +end + 20 2409 +a 110 x Fi(19.17.2.)57 b(Das)36 b(erste)i(Java)f(Applet)20 +2672 y Fd(import)k(java.applet.*;)20 2772 y(import)g(java.awt.*;)20 +2872 y(public)g(class)h(MyApplet)e(extends)g(Applet)h({)369 +2971 y(public)g(void)h(paint\(Graphics)37 b(g\))43 b({)717 +3071 y(g.drawString\("Mei)o(n)37 b(erstes)k(Applet)g(!",)i(20,)f(40\);) +369 3171 y(})20 3270 y(})20 3395 y +SDict begin H.S end + 20 3395 a 20 3395 +a +SDict begin 12 H.A end + 20 3395 a 20 3395 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.3) cvn /DEST pdfmark +end + 20 3395 a 109 x Fi(19.17.3.)57 +b(Die)36 b(Metho)s(den)h(eines)f(Applets)20 3658 y Fd(init\(\))433 +b(wird)42 b(automatisch)d(bei)j(der)h(Initialisierung)37 +b(des)42 b(Applets)f(aufgerufen)20 3758 y(start\(\))389 +b(wird)42 b(automatisch)d(aufgerufen,)g(wenn)j(das)g(Applet)f(im)i +(sichtbaren)717 3857 y(Browser-Bereich)38 b(erscheint)20 +3957 y(stop\(\))433 b(wird)42 b(automatisch)d(aufgerufen,)g(wenn)j(das) +g(Applet)f(den)i(sichtbaren)717 4057 y(Bereich)e(verl\344\377t)20 +4156 y(destroy\(\))301 b(wird)42 b(automatisch)d(beim)j(verlassen)e +(der)i(Seite)f(oder)h(schlie\377en)e(des)717 4256 y(Browsers)g +(aufgerufen)20 4392 y +SDict begin H.S end + 20 4392 a 20 4392 a +SDict begin 12 H.A end + 20 4392 a 20 +4392 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.4) cvn /DEST pdfmark +end + 20 4392 a 98 x Fi(19.17.4.)57 b(Ein)36 b(Applet)g(im)h(\334b)s +(erblick)20 4644 y Fd(import)k(java.applet.*;)20 4744 +y(import)g(java.awt.*;)2996 5092 y Fk(145)p eop end +%%Page: 146 146 +TeXDict begin 146 145 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.146) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(19.)41 +b(Ja)n(v)-5 b(a)640 360 y Fd(public)41 b(class)h(newApplet)d(extends)i +(Applet)g({)989 460 y(public)g(void)h(init\(\))f({)1337 +559 y(//initialisierung)c(aller)k(n\366tigen)g(Werte)g(f\374r)i(das)f +(Programm)989 659 y(})989 758 y(public)f(void)h(start\(\))e({)1337 +858 y(//Start)h(des)h(Applets)989 958 y(})989 1057 y(public)f(void)h +(paint\(Graphics)37 b(g\))43 b({)1337 1157 y(//Grafikausgabe)38 +b(\374ber)j(das)i(Objekt)e(g)i(!)989 1257 y(})989 1356 +y(public)e(void)h(stop\(\))f({)1337 1456 y(//Stop)g(des)i(Applets)989 +1556 y(})989 1655 y(public)e(void)h(destroy\(\))d({)1337 +1755 y(//Ende)i(des)i(Applets)1337 1854 y(//Speicher)d(wird)i +(freigegeben)989 1954 y(})640 2054 y(})640 2184 y +SDict begin H.S end + 640 +2184 a 640 2184 a +SDict begin 12 H.A end + 640 2184 a 640 2184 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.5) cvn /DEST pdfmark +end + 640 2184 a 112 +x Fi(19.17.5.)57 b(P)m(ak)m(ete)640 2452 y Fd(java.awt)694 +b(dient)41 b(zur)i(Bearbeitung)c(und)j(Ausgabe)f(von)h(Grafiken)e(und) +1686 2552 y(Fensterelementen)d(in)42 b(Applikationen)d(und)j(Applets) +1686 2651 y(\(advanced)e(window)h(toolkit\))640 2751 +y(java.applet)562 b(eine)42 b(Grundvoraussetz)o(ung)37 +b(f\374r)42 b(ein)g(Applet)640 2893 y +SDict begin H.S end + 640 2893 a 640 +2893 a +SDict begin 12 H.A end + 640 2893 a 640 2893 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.6) cvn /DEST pdfmark +end + 640 2893 a 100 x Fi(19.17.6.)57 +b(Die)36 b(Klasse)h(Graphics)640 3150 y Fd(public)k(void)h +(paint\(Graphics)c(g\))k({)392 b(um)43 b(in)g(das)f(Applet)f(zu)i +(zeichnen)989 3249 y(drawString\("Tex)o(t",)o(x,)o(y\))o(;)386 +b(Text)42 b(im)h(Applet)e(ausgeben)640 3349 y(})640 3548 +y(drawLine\(\))1303 b(Linie)42 b(zeichnen)640 3648 y(drawRect\(\))1303 +b(Rechteck)40 b(zeichnen)640 3747 y(fillRect\(\))1303 +b(gef\374lltes)40 b(Rechteck)g(zeichen)640 3847 y(drawRoundRect\(\)) +1083 b(Rechteck)40 b(mit)j(abgerundeten)38 b(Ecken)k(zeichnen)640 +3947 y(fillRoundRect\(\))1083 b(gef\374lltes)40 b(Rundeck)h(zeichnen) +640 4046 y(drawOval\(\))1303 b(Kreis/Elipse)39 b(zeichnen)640 +4146 y(fillOval\(\))1303 b(gef\374llte/r)40 b(Kreis/Elipse)e(zeichnen) +640 4245 y(copyArea\(\))1303 b(kopieren)40 b(eines)i(sichtbaren)d +(Bereiches)640 4388 y +SDict begin H.S end + 640 4388 a 640 4388 a +SDict begin 12 H.A end + 640 4388 +a 640 4388 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.7) cvn /DEST pdfmark +end + 640 4388 a 99 x Fi(19.17.7.)57 b(Die)36 +b(Klasse)h(Colo)m(r)640 4644 y Fd(Color)42 b(farbe)f(=)i(new)g +(Color\(r,g,b\);)386 b(Farben)41 b(erzeugen)f(r=0-255)h(g=0-255)g +(r=0-255)640 4744 y(Color)h(dfarbe)f(=)i(farbe.darker\(\);)429 +b(n\344chst)41 b(dunklere)f(Farbe)640 5092 y Fk(146)p +eop end +%%Page: 147 147 +TeXDict begin 147 146 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.147) cvn /DEST pdfmark end + 12 -5 a 2587 128 a Fh(19.17.)40 +b(Applets)20 360 y Fd(Color)i(hfarbe)f(=)i(farbe.brighter\()o(\);)342 +b(n\344chst)41 b(hellere)g(Farbe)20 559 y(Konstante)650 +b(Frabe)20 659 y(---------)g(-----)20 758 y(Clolor.white)518 +b(weiss)20 858 y(Clolor.yellow)474 b(gelb)20 958 y(Clolor.orange)g +(orange)20 1057 y(Clolor.grey)562 b(grau)20 1157 y(Clolor.pink)g(pink) +20 1257 y(Clolor.red)606 b(rot)20 1356 y(Clolor.magenta)430 +b(magenta)20 1456 y(Clolor.green)518 b(gr\374n)20 1556 +y(Clolor.blue)562 b(blau)20 1655 y(Clolor.darkGray)386 +b(dunkelgrau)20 1755 y(Clolor.lightGray)342 b(hellgrau)20 +1854 y(Clolor.black)518 b(schwarz)20 1998 y +SDict begin H.S end + 20 1998 a +20 1998 a +SDict begin 12 H.A end + 20 1998 a 20 1998 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.8) cvn /DEST pdfmark +end + 20 1998 a 123 x Fi(19.17.8.)57 +b(Die)36 b(Klasse)g(F)m(ont)20 2286 y Fd(Windows)389 +b(Java)20 2386 y(-------)g(----)20 2485 y(Arial)477 b(Helvetica)20 +2585 y(Courier)41 b(New)216 b(Corier)20 2685 y(MS)43 +b(Sans)f(Serif)128 b(Dialog)20 2784 y(Times)42 b(New)g(Roman)f +(TimesRoman)20 2884 y(WingDings)301 b(ZapfDingbats)20 +2983 y(Arial)477 b(default)20 3183 y(Font)42 b(f)h(=)g(new)g +(Font\("art",)38 b(stil,)k(gr\366\377e\);)433 b(neue)42 +b(Schrift)e(erstellen)2112 3282 y(stil:)h(plain\(normal\),)2112 +3382 y(italic\(kursiv\),)c(blod\(fett\))20 3537 y +SDict begin H.S end + 20 +3537 a 20 3537 a +SDict begin 12 H.A end + 20 3537 a 20 3537 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.9) cvn /DEST pdfmark +end + 20 3537 a 111 x +Fi(19.17.9.)57 b(Die)36 b(Klasse)g(Image)20 3814 y Fd(Image)42 +b(myImage)e(=)j(getImage\(getCodeB)o(as)o(e\()o(\),)37 +b("Bild.jpg"\);)169 b(Bildobjekt)40 b(erschaffen)20 4013 +y(drawImage\(\))1956 b(Bild)42 b(anzeigen)20 4175 y +SDict begin H.S end + 20 +4175 a 20 4175 a +SDict begin 12 H.A end + 20 4175 a 20 4175 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.17.10) cvn /DEST +pdfmark end + 20 4175 a 104 x +Fi(19.17.10.)57 b(Die)36 b(Klasse)g(Button)20 4445 y +Fd(Button)41 b(myButton)f(=)j(new)g(Button\("Klick"\))o(;)430 +b(Buttonobjekt)38 b(erschaffen)20 4644 y(setLabel\(\))1303 +b(Beschriftung)39 b(des)j(Buttons)f(\344ndern)20 4744 +y(getLabel\(\))1303 b(Beschriftung)39 b(des)j(Buttons)f(auslesen)2996 +5092 y Fk(147)p eop end +%%Page: 148 148 +TeXDict begin 148 147 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.148) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(19.)41 +b(Ja)n(v)-5 b(a)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 277 +a 640 277 a +SDict begin [/View [/XYZ H.V]/Dest (section.19.18) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(19.18.)68 b(Eventhandling)640 +548 y Fd(java.awt.event.*)o(;)648 b(Paket)41 b(zur)h(Ereignisbehandlun) +o(g)37 b(einbinden)640 692 y +SDict begin H.S end + 640 692 a 640 692 a +SDict begin 12 H.A end + 640 +692 a 640 692 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.18.1) cvn /DEST pdfmark +end + 640 692 a 101 x Fi(19.18.1.)57 b(Mouse)37 +b(Events)640 950 y Fd(public)k(class)h(myApplet)e(extends)g(Applet)h +(implements)f(MouseListener)e({})2035 1050 y(Schnittstelle)g +(MouseListener)g(implementieren)640 1249 y(Methode)389 +b(Aufgabe)640 1349 y(-------)g(-------)640 1448 y(mousePressed\(\))81 +b(Maustaste)40 b(wird)i(gedr\374ckt)640 1548 y(mouseReleased\(\))37 +b(Maustaste)j(wird)i(losgelassen)640 1648 y(mouseClicked\(\))81 +b(Mausklick)640 1747 y(mouseEntered\(\))g(Maus)42 b(bewegt)f(sich)h(in) +h(das)f(Applet)640 1847 y(mouseExited\(\))125 b(Maus)42 +b(verl\344sst)e(das)j(Applet)640 2046 y(addMouseListener)o(\(th)o(is)o +(\);)386 b(Listener)40 b(soll)i(auf)g(das)g(gesamte)f(Applet)g(achten) +640 2245 y(public)g(void)h(mousePressed\(mou)o(se)o(Eve)o(nt)37 +b(e\))43 b({)989 2345 y(int)f(x)h(=)g(e.getX\(\);)999 +b(Maustaste)40 b(an)i(X)h(gedr\374ckt)989 2445 y(int)f(y)h(=)g +(e.getY\(\);)999 b(Maustaste)40 b(an)i(Y)h(gedr\374ckt)640 +2544 y(})640 2743 y(addMouseMotionLi)o(ste)o(ne)o(r\()o(thi)o(s\))o(;) +125 b(MotionListener)37 b(soll)42 b(auf)g(das)h(Applet)e(achten)640 +2943 y(mouseMoved\(\))867 b(bewegte)40 b(Mausereignisse)640 +3042 y(mouseDragged\(\))640 3187 y +SDict begin H.S end + 640 3187 a 640 3187 +a +SDict begin 12 H.A end + 640 3187 a 640 3187 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.18.2) cvn /DEST pdfmark +end + 640 3187 a 100 x Fi(19.18.2.)57 +b(A)m(ction)36 b(Events)640 3445 y Fd(public)41 b(class)h(myApplet)e +(extends)g(Applet)h(implements)f(ActionListener)d({})2035 +3544 y(Schnittstelle)h(ActionListener)f(implementieren)640 +3743 y(Button)k(myButton)f(=)k(new)e(Button\("Knopf"\))o(;)81 +b(Button)41 b(erstellen)640 3843 y(this.add\(myButto)o(n\);)908 +b(Button)41 b(setzen)640 3943 y(myButton.addActi)o(onL)o(is)o(te)o(ner) +o(\(t)o(hi)o(s\);)298 b(Button)41 b(mit)i(ActionListener)37 +b(versehen)640 4142 y(public)k(void)h(actionPerformed\()o(Ac)o(tio)o +(nE)o(ve)o(nt)37 b(e\))43 b({)174 b(Aufruf)41 b(beim)h(Anklicken)d(des) +k(Button)989 4242 y(String)e(Klick)g(=)i(e.getActionComman)o(d\()o(\);) +168 b(gibt)42 b(die)g(Aufschift)e(des)i(Button)640 4341 +y(})640 4474 y +SDict begin H.S end + 640 4474 a 640 4474 a +SDict begin 12 H.A end + 640 4474 a 640 4474 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.18.3) cvn /DEST pdfmark +end + 640 4474 a 112 x Fi(19.18.3.)57 b(P)m(a)m(rameter)37 +b(an)g(ein)f(Applet)640 4744 y Fd()640 5092 y Fk(148)p +eop end +%%Page: 149 149 +TeXDict begin 149 148 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.149) cvn /DEST pdfmark end + 12 -5 a 2342 128 a Fh(19.18.)40 +b(Ev)n(en)n(thandling)369 360 y Fd()343 b(Parameter1)369 460 y()343 b(Parameter2)20 559 y()20 +858 y(String)41 b(var1)h(=)h(getParameter\("va)o(r1")o(\);)560 +b(Parameter1)39 b(an)k(den)f(String)f(var1)20 958 y(String)g(var2)h(=)h +(getParameter\("va)o(r2")o(\);)560 b(und)42 b(var2)g(\374bergeben)20 +1092 y +SDict begin H.S end + 20 1092 a 20 1092 a +SDict begin 12 H.A end + 20 1092 a 20 1092 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.19.18.4) cvn /DEST pdfmark +end + 20 1092 +a 98 x Fi(19.18.4.)57 b(W)m(eitere)37 b(wichtige)f(P)m(ak)m(ete)20 +1343 y Fd(java.net)694 b(Klassen)41 b(und)h(Schnittstellen)37 +b(f\374r)43 b(Netzwerkentwick)o(lun)o(g)20 1443 y(java.beans)606 +b(wieder)41 b(verwentbare)e(Komponenten)20 1543 y(java.security)474 +b(erh\366te)41 b(Sicherheit)e(innerhalb)h(von)i(Applikationen/App)o(le) +o(ts)20 1642 y(java.rmi)694 b(Verteilung)39 b(eines)j(Programms)d(auf)k +(mehrere)d(Rechner)20 1742 y(java.sql)694 b(Anbindung)40 +b(an)i(SQL-Datenbanken)20 1841 y(java.servlet)518 b(Applikationen)38 +b(die)k(serverseitig)d(laufen)2996 5092 y Fk(149)p eop +end +%%Page: 150 150 +TeXDict begin 150 149 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.150) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 151 151 +TeXDict begin 151 150 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.151) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.20) cvn /DEST pdfmark end + 20 277 a 520 x Fm(20.)100 b(JavaScript)20 +1003 y +SDict begin H.S end + 20 1003 a 20 1003 a +SDict begin 12 H.A end + 20 1003 a 20 1003 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.1) cvn /DEST pdfmark +end + 20 1003 +a 117 x Fe(20.1.)68 b(Einbindung)45 b(von)g(JavaScript)20 +1226 y +SDict begin H.S end + 20 1226 a 20 1226 a +SDict begin 12 H.A end + 20 1226 a 20 1226 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.20.1.1) cvn /DEST pdfmark +end + 20 1226 +a 93 x Fi(20.1.1.)57 b(Einbindung)34 b(in)i(den)h(Head)20 +1474 y Fd()107 1573 y()194 1673 y()194 +1773 y()255 +b(Leitet)41 b(den)h(JavaScript-Quellt)o(ex)o(t)c(ein)282 +1872 y()1261 b(Kommentar)40 +b(ende)194 2271 y()1173 b(Beendet)41 b(den)h(JavaScript-Quell) +o(te)o(xt)107 2370 y()107 2470 y()107 2570 +y()20 2669 y()20 2795 y +SDict begin H.S end + 20 2795 a 20 2795 +a +SDict begin 12 H.A end + 20 2795 a 20 2795 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.20.1.2) cvn /DEST pdfmark +end + 20 2795 a 110 x Fi(20.1.2.)57 b(Einbindung)34 +b(in)i(den)h(Bo)s(dy)20 3059 y Fd()107 3158 y()194 +3258 y()107 3358 y()107 3457 y()194 +3557 y()1173 b(Beendet)41 b(den)h(JavaScript-Quell)o +(te)o(xt)107 3856 y()20 3955 y()20 4081 +y +SDict begin H.S end + 20 4081 a 20 4081 a +SDict begin 12 H.A end + 20 4081 a 20 4081 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.20.1.3) cvn /DEST pdfmark +end + 20 4081 a 110 +x Fi(20.1.3.)57 b(Ausf\374hren)36 b(b)s(ei)g(b)s(estimmten)h(Aktionen) +20 4345 y Fd()107 4445 y()194 4544 y()107 +4644 y()107 4744 y()81 b(Beim)42 b(Laden)f(wird)h(der)h(JavaScript-Quel) +o(lt)o(ext)2996 5092 y Fk(151)p eop end +%%Page: 152 152 +TeXDict begin 152 151 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.152) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(20.)41 +b(Ja)n(v)-5 b(aScript)2383 360 y Fd(ausgef\374hrt)727 +460 y()640 559 y()640 695 y +SDict begin H.S end + 640 695 a 640 +695 a +SDict begin 12 H.A end + 640 695 a 640 695 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.2) cvn /DEST pdfmark +end + 640 695 a 143 x Fe(20.2.)68 +b(V)l(a)l(riablen)640 1022 y Fd(var)42 b(GlobaleVariable)212 +b(Globale)41 b(Variable)f(deklarieren)640 1121 y(function\(\))f({)727 +1221 y(var)k(LokaleVariable)168 b(Lokale)41 b(Variable)f(deklarieren) +640 1320 y(})640 1520 y(var)i(variable)520 b(Variable)40 +b(deklarieren)640 1619 y(variable)g(=)j("Wert")303 b(Wert)42 +b(zuweisen)640 1719 y(var)g(zahl=9)608 b(Variable)40 +b(deklarieren)f(und)j(Wert)g(zuweisen)640 1918 y(+)1002 +b(Verketten)640 2047 y +SDict begin H.S end + 640 2047 a 640 2047 a +SDict begin 12 H.A end + 640 2047 +a 640 2047 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.3) cvn /DEST pdfmark +end + 640 2047 a 150 x Fe(20.3.)68 b(Objekte)640 +2303 y +SDict begin H.S end + 640 2303 a 640 2303 a +SDict begin 12 H.A end + 640 2303 a 640 2303 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.20.3.1) cvn /DEST pdfmark +end + 640 +2303 a 94 x Fi(20.3.1.)57 b(Standa)m(rdobjekte)640 2552 +y Fd(document.write\(")o(Hal)o(lo)o("\))734 b(Hallo)42 +b(auf)g(der)g(Seite)g(ausgeben)640 2651 y(document.writeln)o(\("H)o(al) +o(lo)o("\))647 b(Hallo)42 b(auf)g(der)g(Seite)g(mit)g(Zeilenumruch)2383 +2751 y(ausgeben)640 2851 y(document.close\(\))1039 b(Schreiben)40 +b(schlie\377en)640 3050 y(document.bgColor)o(=\(")o(ff)o(ff)o(ff")o(\)) +560 b(Hintergrunffarbe)640 3150 y(document.fgColor)o(=\(")o(00)o(00)o +(00")o(\))g(Fordergrundfarbe)640 3249 y(document.linkCol)o(or=)o(\(")o +(00)o(ff0)o(0")o(\))473 b(Neuer)42 b(Link)640 3349 y(document.vlinkCo)o +(lor)o(=\()o("f)o(fff)o(00)o("\))429 b(Besuchter)40 b(Link)640 +3448 y(document.alinkCo)o(lor)o(=\()o("f)o(f00)o(00)o("\))429 +b(Aktiver)41 b(Link)640 3648 y(document.referre)o(r)996 +b(URL)42 b(von)h(der)f(aufgerufen)d(wurde)640 3747 y(document.locatio)o +(n)996 b(URL)42 b(der)h(Datei)e(selber)640 3847 y(document.title)1127 +b(Titel)42 b(der)g(Seite)640 4046 y(document.Name.sr)o(c=")o(bi)o(ld)o +(2.g)o(if)o(")473 b()g(um)43 +b(auf)2383 4146 y(das)f(Bild)g(zuzugreifen)640 4345 y(document.forms[0) +o(].N)o(am)o(e.)o(val)o(ue)516 b(Formular)40 b(1\(0\);)i(aktueller)e +(Text)h(im)2383 4445 y(Eingabefeld)e(auslesen)h(oder)i +(\374berschreiben)640 4544 y(document.forms[0)o(].N)o(am)o(e.)o(def)o +(au)o(lt)o(Val)o(ue)211 b(Defaultwert)39 b(auslesen)h(oder)i +(\374berschreiben)640 4644 y(document.forms[0)o(].N)o(am)o(e.)o(sel)o +(ec)o(t\()o(\))386 b(Text)42 b(im)h(Eingabefeld)c(makieren)640 +4744 y(document.forms[0)o(].N)o(am)o(e.)o(foc)o(us)o(\(\))429 +b(Cursor)41 b(in)i(das)f(Eingabefeld)d(setzen)640 5092 +y Fk(152)p eop end +%%Page: 153 153 +TeXDict begin 153 152 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.153) cvn /DEST pdfmark end + 12 -5 a 2618 128 a Fh(20.3.)40 +b(Ob)5 b(jekte)20 460 y Fd(document.forms[0)o(].)o(Nam)o(e[)o(0])o(.ch) +o(ec)o(ked)298 b(Radio-Checkbutto)o(ns)37 b(liest)42 +b(oder)f(schreibt,)1763 559 y(ob)i(ein)f(Button)f(ausgew\344hlt)f(ist) +20 659 y(document.forms[0)o(].)o(Nam)o(e[)o(0])o(.de)o(fa)o(ult)o(Ch)o +(ec)o(ked)1763 758 y(Voreinstellung)e(eines)j(Button)g(lesen)h(oder) +1763 858 y(schreiben)1763 958 y(nicht)g(markiert)432 +b(markiert)1763 1057 y(0)1002 b(1)1763 1157 y(false)826 +b(true)20 1356 y(document.forms[0)o(].)o(Nam)o(e.)o(op)o(tio)o(ns)o +([0])o(.s)o(el)o(ect)o(ed)o(In)o(dex)1763 1456 y(Auswahlliste)39 +b(auslesen)h(oder)i(schreiben)20 1556 y(document.forms[0)o(].)o(Nam)o +(e.)o(op)o(tio)o(ns)o([0])o(.v)o(al)o(ue)37 b(Wert)42 +b(auslesen)e(oder)i(schreiben)20 1755 y(parent.frames[0])o(.l)o(oca)o +(ti)o(on)o(.hr)o(ef)o(=)386 b(Frameinhalt)39 b(\344ndern)i(0)i(->)g +(Frame)e(1)20 1854 y("frame.htm")20 1954 y(parent.)1435 +b(verzweigt)40 b(in)j(den)f(n\344chsth\366heren)c(Frame)20 +2054 y(top.)1567 b(verzweigt)40 b(in)j(den)f(h\366chsten)e(Frame)i(im) +1763 2153 y(Browser)20 2253 y(frames[n])1347 b(verzweigt)40 +b(auf)i(die)g(n\344chstniedrigere)37 b(Stufe)1763 2353 +y(in)43 b(den)f(Frame)g(mit)g(dem)g(Index)g(n)20 2552 +y(window.status=\(")o(Ha)o(llo)o("\))734 b(Hallo)42 b(in)g(der)h +(Statusleiste)38 b(ausgeben)20 2751 y(myWindow=window.)o(op)o(en\()o +("D)o(at)o(ein)o(am)o(e",)o("F)o(en)o(ste)o(rn)o(am)o(e",)o("E)o(ig)o +(ens)o(ch)o(af)o(ten)o("\))1763 2851 y(\326ffnet)j(ein)h(neues)g +(Fenster)20 2950 y(Eigenschaften:)81 b(width=\(Pixel\))474 +b(gibt)42 b(die)g(Breite)f(an)717 3050 y(height=\(Pixel\))430 +b(gibt)42 b(die)g(H\366he)g(an)717 3150 y(resizable=yes/no)342 +b(gr\366\377e)42 b(des)g(Fensters)e(ver\344nderbar)f(?)717 +3249 y(menubar=yes/no)430 b(Men\374leiste)39 b(vorhanden)h(?)717 +3349 y(toolbar=yes/no)430 b(Buttonleiste)39 b(vorhanden)g(?)717 +3448 y(location=yes/no)386 b(Adresszeile)39 b(vorhanden)h(?)717 +3548 y(status=yes/no)474 b(Statuszeile)39 b(vorhanden)h(?)717 +3648 y(scrollbars=yes/no)298 b(Bildlaufleiste)38 b(vorhanden)i(?)717 +3747 y(dependent=yes/no)342 b(Vom)42 b(aktuellen)e(Fenster)h +(abh\344ngig)f(?)20 3947 y(myWindow.close\(\))1039 b(Schlie\377t)40 +b(das)j(neue)e(Fenster)20 4046 y(myWindow.closed)1083 +b(Zugriff)41 b(auf)h(den)g(Fensterzustand)20 4189 y +SDict begin H.S end + 20 +4189 a 20 4189 a +SDict begin 12 H.A end + 20 4189 a 20 4189 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.20.3.2) cvn /DEST pdfmark +end + 20 4189 a 99 x Fi(20.3.2.)57 +b(String-Objekt)20 4445 y Fd(String.length)823 b(Anzahl)41 +b(der)h(Zeichen)e(des)j(Strings)20 4544 y(String.substring)o(\(A)o(nfa) +o(ng)o(,E)o(nde)o(\))125 b(Gibt)41 b(den)i(Anfang)e(bis)h(Ende)g(des)g +(Strings)f(zur\374ck)20 4644 y(String.toLowerCa)o(se)604 +b(Wandelt)40 b(alle)i(Buchstaben)d(in)k(Kleinbuchstaben)20 +4744 y(String.toUpperCa)o(se)604 b(Wandelt)40 b(alle)i(Buchstaben)d(in) +k(Gro\377buchstaben)2996 5092 y Fk(153)p eop end +%%Page: 154 154 +TeXDict begin 154 153 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.154) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(20.)41 +b(Ja)n(v)-5 b(aScript)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 +277 a 640 277 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.20.3.3) cvn /DEST pdfmark +end + 640 277 a 83 x Fi(20.3.3.)57 b(Eigene)36 +b(Objekte)640 518 y Fd(function)k(person\(name,)f(alter\))i({)784 +b(Funktion)727 618 y(this.name)40 b(=)j(name)1306 b(zum)727 +718 y(this.alter)40 b(=)j(alter)1218 b(Objekt)640 817 +y(})2048 b(anlegen)640 1017 y(var)42 b(meier)g(=)h(new)f +(person\("Geier)c(Meier",)j(18\))304 b(Objekt)41 b(erzeugen)640 +1116 y(meier.name)e(=)44 b("Mr.)e(Geier)f(Meier")782 +b(Wert)42 b(\344ndern)640 1216 y(meier.alter)d(=)k(20)1394 +b(Wert)42 b(\344ndern)640 1415 y(meier)g(=)h(new)f(Object)1305 +b(Objekt)41 b(erzeugen)640 1515 y(meier.vorname)d(=)43 +b("Geier")1087 b(Wert)42 b(zuweisen)640 1614 y(meier.nachname)c(=)43 +b("Meier")1043 b(Wert)42 b(zuweisen)640 1742 y +SDict begin H.S end + 640 1742 +a 640 1742 a +SDict begin 12 H.A end + 640 1742 a 640 1742 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.20.3.4) cvn /DEST pdfmark +end + 640 1742 a 119 x Fi(20.3.4.)57 +b(Arra)m(ys)640 2020 y Fd(Variable)40 b(=)j(new)g(Array)1218 +b(Array)41 b(erzeugen)640 2119 y(Variable[0])e(=)k("hallo")1174 +b(Wert)42 b(zuweisen)640 2263 y +SDict begin H.S end + 640 2263 a 640 2263 a +SDict begin 12 H.A end + +640 2263 a 640 2263 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.4) cvn /DEST pdfmark +end + 640 2263 a 146 x Fe(20.4.)68 b(Mathematische)43 +b(Op)t(erationen)640 2596 y Fd(c)g(=)g(a)h(+)f(b)653 +b(Addition)640 2695 y(a++)42 b(;)i(a)f(=)g(a)g(+)g(1)640 +2795 y(c)g(=)g(a)h(-)f(b)653 b(Subtraktion)640 2894 y(a--)42 +b(;)i(a)f(=)g(a)g(-)g(1)640 2994 y(c)g(=)g(a)h(*)f(b)653 +b(Multiplikation)640 3094 y(c)43 b(=)g(a)h(/)f(b)653 +b(Division)640 3193 y(a)43 b(=)g(Math.round\(b\))300 +b(Ganzzahlige)39 b(Rundung)640 3349 y +SDict begin H.S end + 640 3349 a 640 +3349 a +SDict begin 12 H.A end + 640 3349 a 640 3349 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.5) cvn /DEST pdfmark +end + 640 3349 a 134 x Fe(20.5.)68 +b(Bedingte)44 b(Ausf\374hrung)640 3670 y Fd(if\(Ausdruck\))867 +b(wenn)41 b(der)i(Ausdruck)d(stimmt,)640 3769 y({)989 +3869 y(Anweisung-en1)474 b(Anweisung-en1)640 3968 y(})640 +4112 y +SDict begin H.S end + 640 4112 a 640 4112 a +SDict begin 12 H.A end + 640 4112 a 640 4112 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.6) cvn /DEST pdfmark +end + 640 +4112 a 146 x Fe(20.6.)68 b(Schleifen)640 4445 y Fd(for\(Ausdruck1;Au)o +(sdr)o(uc)o(k2)o(;Au)o(sd)o(ru)o(ck3)o(\))255 b(Ausdruck1)40 +b(einmal)h(ausf\374hren)640 4544 y({)1699 b(so)43 b(lange)e(der)i +(Ausdruck2)c(stimmt,)2383 4644 y(vorher)i(noch)h(Ausdruck3)989 +4744 y(Anweisug-en)910 b(Anweisung-en)640 5092 y Fk(154)p +eop end +%%Page: 155 155 +TeXDict begin 155 154 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.155) cvn /DEST pdfmark end + 12 -5 a 2381 128 a Fh(20.7.)40 +b(Ev)n(en)n(t-Handler)20 360 y Fd(})20 559 y(while\(Ausdruck\))1083 +b(so)43 b(lange)e(der)i(Ausdruck)d(stimmt,)20 659 y({)369 +758 y(Anweisung-en)866 b(Anweisung-en)20 858 y(})20 1105 +y +SDict begin H.S end + 20 1105 a 20 1105 a +SDict begin 12 H.A end + 20 1105 a 20 1105 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.7) cvn /DEST pdfmark +end + 20 1105 a 169 +x Fe(20.7.)68 b(Event-Handler)20 1506 y Fd(onLoad="Aktion")386 +b(Beim)42 b(Laden)f(Aktion)g(ausf\374hren)20 1605 y(onUnload="Aktion)o +(")299 b(Beim)42 b(Schlie\377en)e(Aktion)h(ausf\374hren)20 +1705 y(onMouseOver="Akt)o(io)o(n")168 b(Beim)42 b(\334berfahren)d +(Aktion)i(ausf\374hren)20 1805 y(onMouseOut="Akti)o(on)o(")212 +b(Beim)42 b(Verlassen)e(Aktion)h(ausf\374hren)20 1904 +y(onFocus="Aktion")342 b(Beim)42 b(Setzen)f(des)h(Cursors)f(auf)h(das)g +(Element)1066 2004 y(\(Einsatz)e(in)j(Formularen\))20 +2103 y(onBlur="Aktion")386 b(Beim)42 b(Verlassen)e(des)i(Elementes)20 +2203 y(onChange="Aktion)o(")299 b(Beim)42 b(Verlassen)e(des)i +(Elementes)e(wenn)h(ver\344ndert)20 2303 y(onClick="Aktion")342 +b(Beim)42 b(Anklicken)e(eines)h(Formularelements)20 2402 +y(Ve)o(rw)o(ei)o(ste)o(xt)o()20 2502 y(onSubmit="Aktion)o(")299 +b(Beim)42 b(Senden)f(eines)g(Formulares)f(Aktion)h(ausf\374hren)20 +2742 y +SDict begin H.S end + 20 2742 a 20 2742 a +SDict begin 12 H.A end + 20 2742 a 20 2742 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.8) cvn /DEST pdfmark +end + 20 2742 +a 176 x Fe(20.8.)68 b(F)l(unktionen)20 3150 y Fd(function)40 +b(Name\(var1,var2\))343 b(Definiert)39 b(eine)j(Funktion)e(mit)j(dem)f +(Name)20 3249 y({)107 3349 y(alert\(var2\))824 b(Hier)41 +b(kommt)h(der)g(Funktionsinhalt)37 b(rein)20 3448 y(})20 +3648 y(return\("Hallo"\))735 b(Hallo)41 b(zur\374ck)g(geben)20 +3847 y(alert\("Text"\))823 b(\326ffnet)41 b(ein)h(Fenster)e(und)j(gibt) +f(den)g(Text)g(aus)20 3947 y(uhrzeit=new)d(Date\(\))608 +b(Datum)41 b(und)h(Uhrzeit)f(in)i(das)f(Objekt)f(uhrzeit)1415 +4046 y(schreiben)20 4146 y(st=uhrzeit.getHo)o(ur)o(s\(\))473 +b(Stunden)40 b(aus)i(dem)h(Objekt)e(uhrzeit)f(der)j(Variable)1415 +4245 y(st)f(zuweisen)20 4345 y(min=uhrzeit.getM)o(in)o(ute)o(s\()o(\)) +343 b(Minuten)40 b(aus)i(dem)h(Objekt)e(uhrzeit)f(der)j(Variable)1415 +4445 y(min)f(zuweisen)20 4544 y(setTimeout\("Funk)o(ti)o(on")o(,M)o(il) +o(lis)o(ek)o(und)o(en)o(\))168 b(Funktion)40 b(nach)i(Millisekunden)c +(aufrufen)20 4744 y(Math.random\(\))2996 5092 y Fk(155)p +eop end +%%Page: 156 156 +TeXDict begin 156 155 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.156) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(20.)41 +b(Ja)n(v)-5 b(aScript)640 277 y +SDict begin H.S end + 640 277 a 640 277 a +SDict begin 12 H.A end + 640 +277 a 640 277 a +SDict begin [/View [/XYZ H.V]/Dest (section.20.9) cvn /DEST pdfmark +end + 640 277 a 85 x Fe(20.9.)68 b(Reservierte)44 +b(W\366)l(rter)640 559 y Fd(abstract)640 659 y(boolean)640 +758 y(break)640 858 y(byte)640 958 y(case)640 1057 y(catch)640 +1157 y(char)640 1257 y(class)640 1356 y(const)640 1456 +y(continue)640 1556 y(debugger)640 1655 y(default)640 +1755 y(delete)640 1854 y(else)640 1954 y(enum)640 2054 +y(export)640 2153 y(extends)640 2253 y(false)640 2353 +y(final)640 2452 y(finally)640 2552 y(float)640 2651 +y(for)640 2751 y(function)640 2851 y(goto)640 2950 y(if)640 +3050 y(implements)640 3150 y(import)640 3249 y(in)640 +3349 y(instanceof)640 3448 y(int)640 3548 y(interface)640 +3648 y(long)640 3747 y(native)640 3847 y(new)640 3947 +y(null)640 4046 y(package)640 4146 y(private)640 4245 +y(protected)640 4345 y(public)640 4445 y(return)640 4544 +y(short)640 4644 y(static)640 4744 y(super)640 5092 y +Fk(156)p eop end +%%Page: 157 157 +TeXDict begin 157 156 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.157) cvn /DEST pdfmark end + 12 -5 a 2214 128 a Fh(20.9.)40 +b(Reservierte)26 b(W\366rter)20 360 y Fd(switch)20 460 +y(synchronized)20 559 y(this)20 659 y(throw)20 758 y(throws)20 +858 y(transient)20 958 y(true)20 1057 y(try)20 1157 y(typeof)20 +1257 y(var)20 1356 y(void)20 1456 y(volatile)20 1556 +y(while)20 1655 y(with)2996 5092 y Fk(157)p eop end +%%Page: 158 158 +TeXDict begin 158 157 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.158) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 159 159 +TeXDict begin 159 158 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.159) cvn /DEST pdfmark end + 12 -5 a 20 1610 a +SDict begin H.S end + 20 1610 a 20 +1610 a +SDict begin 12 H.A end + 20 1610 a 20 1610 a +SDict begin [/View [/XYZ H.V]/Dest (part.5) cvn /DEST pdfmark end + 20 1610 a 1287 1788 a Fm(T)-17 +b(eil)69 b(V.)1179 2203 y Ff(Anhang)2996 5092 y Fk(159)p +eop end +%%Page: 160 160 +TeXDict begin 160 159 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.160) cvn /DEST pdfmark end + 632 -5 a eop end +%%Page: 161 161 +TeXDict begin 161 160 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.161) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter.21) cvn /DEST pdfmark end + 20 277 a 520 x Fm(21.)100 b(Glossa)-6 +b(r)20 1071 y Fj(Abh\344ngigk)m(eiten)40 b Fk(Ein)e(v)n(on)f(rpm)g(v)n +(erw)n(endetes)g(System,)g(um)h(die)g(V)-7 b(erw)n(altung)37 +b(installierter)228 1170 y(Soft)n(w)n(are)30 b(zu)h(v)n(ereinfac)n +(hen.)f(Jedes)h(P)n(ak)n(et)f(en)n(th\344lt)i(ein)f(Skript,)h(das)e +(dem)i(lok)-5 b(alen)31 b(rpm)228 1270 y(mitteilt,)d(w)n(elc)n(he)e +(anderen)h(P)n(ak)n(ete)f(es)h(zur)g(Ausf\374hrung)g(b)r(en\366tigt.)g +(Sind)h(die)f(erforderli-)228 1369 y(c)n(hen)e(P)n(ak)n(ete)g(nic)n(h)n +(t)h(installiert,)f(wird)h(die)g(Installation)f(abgebro)r(c)n(hen.)f +(Gleic)n(hes)h(gilt)g(f\374r)228 1469 y(die)i(Deinstallation.)20 +1638 y Fj(Andere,)k(others)40 b Fk(In)30 b(UNIX)h(die)f(Grupp)r(e)g +(der)f(Ben)n(utzer,)g(die)h(w)n(eder)f(Eiget\374mer)h(einer)f(Datei)228 +1738 y(sind,)d(no)r(c)n(h)f(zur)h(Besitzergrupp)r(e)e(geh\366ren.)h(Es) +h(ist)g(generell)f(eine)g(gute)h(Idee,)g(die)g(Rec)n(h)n(te)228 +1837 y(dieser)f(Grupp)r(e)g(so)g(restriktiv)g(wie)h(m\366glic)n(h)e(zu) +i(handhab)r(en.)g(Siehe)g(auc)n(h)f(Besitzergrup-)228 +1937 y(p)r(e.)20 2106 y Fj(alias)41 b Fk(Ein)31 b(Shell-Mec)n(hanism)n +(us,)d(um)j(eine)f(Zeic)n(henk)n(ette)f(durc)n(h)g(einen)h(anderen)f +(zu)h(ersetzen,)228 2205 y(b)r(ev)n(or)40 b(ein)h(K)n(ommando)f +(ausgef\374hrt)g(wird.)h(Einen)h(\334b)r(erblic)n(k)f(\374b)r(er)h +(alle)f(de\034nierten)228 2305 y(Aliasse)27 b(erhalten)g(Sie)g(mit)h +(dem)g(K)n(ommando)e(alias.)20 2474 y Fj(Anzeigehilfe)42 +b Fk(Programm)27 b(zum)i(Anzeigen)f(einer)g(\(T)-7 b(ext-\))29 +b(Datei.)g(Es)g(bietet)g(die)g(M\366glic)n(hk)n(eit)228 +2574 y(einfac)n(h)34 b(v)n(orw)n(\344rts)e(und)k(r\374c)n(kw)n(\344rts) +c(durc)n(h)j(das)f(Dokumen)n(t)h(zu)g(na)n(vigieren)e(so)n(wie)h(Zei-) +228 2673 y(c)n(henk)n(etten)g(zu)h(suc)n(hen.)f(Wir)h(empfehlen)g +(Ihnen)g(das)g(Programm)e(less)h(zu)h(v)n(erw)n(enden)228 +2773 y(\(u.a.)27 b(da)h(es)f(die)h(selb)r(en)f(T)-7 b(astaturk\374rzel) +26 b(wie)i(vim)g(v)n(erw)n(endet\).)20 2942 y Fj(APM)42 +b Fk(A)n(dv)-5 b(anced)28 b(P)n(o)n(w)n(er)e(Managemen)n(t)g(\(\021F)-7 +b(ortgesc)n(hrittenes)26 b(Energiemanagemen)n(t\021\).)g(Wird)228 +3041 y(v)n(on)f(einigen)h(BIOSsen)g(dazu)g(b)r(en)n(utzt,)h(die)g(Masc) +n(hine)e(nac)n(h)h(einer)g(P)n(erio)r(de)g(v)n(on)f(Inakti-)228 +3141 y(vit\344t)j(in)g(einen)h(energiesparenden)d(Ruhezustand)i(zu)h +(bringen.)f(Auf)h(Laptops)e(ist)i(APM)228 3241 y(auc)n(h)k(daf\374r)h +(zust\344ndig,)f(Informationen)g(\374b)r(er)h(den)h(Batteriestatus)e +(bzw.)h(die)g(v)n(erblei-)228 3340 y(b)r(ende)28 b(Arb)r(eitszeit)g(b)r +(ereit)f(zu)h(stellen.)20 3509 y Fj(Arb)s(eits\035\344che)39 +b Fk(W)-7 b(enn)30 b(Sie)f(das)f(X-Windo)n(ws-System)h(v)n(erw)n +(enden,)e(ist)i(die)h(Arb)r(eits\035\344c)n(he)e(der)228 +3609 y(teil)19 b(des)g(Bildsc)n(hirmes,)g(auf)g(dem)h(Sie)f(arb)r +(eiten)g(und)h(auf)f(dem)h(Ihre)f(Sym)n(b)r(ole)g(und)h(F)-7 +b(enster)228 3708 y(dargestellt)34 b(w)n(erden.)g(Mansc)n(hmal)g(wird)h +(auc)n(h)g(lac)n(hs)f(v)n(om)g(\021Hitergrund\021)41 +b(gespro)r(c)n(hen.)228 3808 y(Siehe)27 b(auc)n(h:)g(virtuelle)h(Arb)r +(eits\035\344c)n(he.)20 3977 y Fj(ARP)42 b Fk(A)n(ddress)21 +b(Resolution)g(Proto)r(col.)g(\(\021Protok)n(oll)f(zur)h(A)n +(dress-Au\035\366sungs\021\).)f(Das)h(Protok)n(oll)228 +4077 y(um)i(IP-A)n(dressen)f(dynamisc)n(h)g(in)h(ph)n(ysik)-5 +b(alisc)n(he)21 b(\(Hardw)n(are-\)A)n(dressen)f(umzu)n(w)n(andeln.)228 +4176 y(Nur)27 b(m\366glic)n(h)g(auf)g(direkt)h(v)n(erbundenen)f(Netzw)n +(erk)n(en)f(im)i(Hardw)n(are-)d(Broadcasting.)20 4345 +y Fj(ASCI)s(I)41 b Fk(Abk\374rzung)27 b(f\374r)h(American)f(Standart)g +(Co)r(de)g(for)g(Information)g(In)n(terc)n(hange.)f(Es)i(han-)228 +4445 y(delt)40 b(sic)n(h)g(um)g(den)g(meistv)n(ervw)n(endeten)f +(7-Bit-K)n(o)r(de)f(zur)i(Darstellung)f(v)n(on)h(Zi\033ern,)228 +4544 y(Buc)n(hstab)r(en)30 b(und)h(Sonderzeic)n(hen.)f(Der)g(ASCI)r +(I-Co)r(de)h(ist)g(mittlerw)n(eile)f(p)r(er)h(\021normati-)228 +4644 y(v)n(er)h(Kraft)g(des)h(F)-7 b(aktisc)n(hen\021)39 +b(durc)n(h)33 b(den)g(ISO)g(Standart)f(8859-1)f(abgel\366st)g(\(Siehe)j +(ISO)228 4744 y(8859\).)2996 5092 y(161)p eop end +%%Page: 162 162 +TeXDict begin 162 161 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.162) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(21.)41 +b(Glossar)640 360 y Fj(Assembler)h Fk(Masc)n(hinensprac)n(he.)28 +b(V)-7 b(orstufe)29 b(des)h(Ob)5 b(jekt-K)n(o)r(des.)28 +b(Programme)g(w)n(erden)h(meist)848 460 y(in)e(sogenann)n(ten)e(Ho)r(c) +n(hsprac)n(hen)g(\(wie)j(C\))f(gesc)n(hrieb)r(en,)e(die)i(dann)g(p)r +(er)g(K)n(ompilation)e(in)848 559 y(Assem)n(bler)h(umgew)n(andelt)h(w)n +(erden.)640 725 y Fj(A)-8 b(T)g(API)42 b Fk(eine)23 b(F)-7 +b(amilie)23 b(v)n(on)e(CD-R)n(OM-Laufw)n(erk)n(en,)f(die)j(an)f(den)h +(IDE-Con)n(troller)e(angesc)n(hlos-)848 825 y(sen)h(w)n(erden.)g(Es)h +(gibt)g(auc)n(h)f(SCSI-Laufw)n(erk)n(e,)f(die)i(am)f(SCSI-Con)n(troler) +f(b)r(etrieb)r(en)i(w)n(er-)848 925 y(den,)i(so)n(wie)g(propriet\344re) +e(Laufw)n(erk)n(e,)h(die)h(ihren)g(eigenen)g(Con)n(troller)e(b)r(en)n +(utzen)j(o)r(der)f(an)848 1024 y(die)i(Soundk)-5 b(arte)27 +b(angesc)n(hlossen)f(w)n(erden.)640 1190 y Fj(atoma)m(r)40 +b Fk(Eine)29 b(Grupp)r(e)e(v)n(on)g(Op)r(erationen,)g(die)g(nic)n(h)n +(t)h(w)n(eiter)f(aufgeteilt)g(w)n(erden)g(k)-5 b(ann.)640 +1356 y Fj(ausf\374hrlicher)29 b(Mo)s(dus)40 b Fk(Befehle)27 +b(pro)r(duzieren)g(im)h(ausf\374hrlic)n(hen)f(Mo)r(dus)h +(Zusatzinformatio-)848 1456 y(nen,)f(die)g(auf)f(die)h(Standardausgab)r +(e)e(o)r(der)h(Standart-F)-7 b(ehlerausgab)r(e)24 b(ausgegeb)r(en)i(w)n +(er-)848 1556 y(den.)e(Einige)g(Programme)e(bieten)i(die)g(M\366glic)n +(hk)n(eit)f(einzustellen)h(wie)f(\021redselig\021)29 +b(sie)24 b(sein)848 1655 y(sollen.)640 1821 y Fj(HTTP)42 +b Fk(Hyp)r(erT)-7 b(ext)25 b(T)-7 b(ransfer)24 b(Protok)n(oll\(Hyp)r +(ertext-\334b)r(ertragungsprotok)n(oll\).)d(Ist)26 b(ein)f(Pro-)848 +1921 y(tok)n(oll)d(zur)g(\334b)r(ertragung)g(v)n(on)g(Daten)h(\374b)r +(er)g(ein)g(Netzw)n(erk.)f(Es)h(wird)g(haupts\344c)n(hlic)n(h)f(ein-) +848 2020 y(gesetzt,)i(um)g(W)-7 b(ebseiten)25 b(aus)f(dem)h(W)-7 +b(orld)24 b(Wide)g(W)-7 b(eb)25 b(\(WWW\))h(in)f(einen)f(W)-7 +b(ebbro)n(wser)848 2120 y(zu)27 b(laden.)640 2286 y Fj(URL)43 +b Fk(Uniform)33 b(Resource)e(Lo)r(cator)h(\(Einheitlic)n(her)h +(Quellenanzeiger\).)f(Bezeic)n(hnet)g(man)h(ei-)848 2386 +y(ne)e(Un)n(terart)g(v)n(on)g(Uniform)g(Resource)g(Iden)n(ti\034ern)g +(\(URIs\).)h(URLs)g(iden)n(ti\034zieren)f(und)848 2485 +y(lok)-5 b(alisieren)28 b(eine)h(Ressource)f(\374b)r(er)i(die)f(zu)h(v) +n(erw)n(endende)e(Zugri\033smetho)r(de)h(\(z.)h(B.)f(das)848 +2585 y(v)n(erw)n(endete)d(Netzw)n(erkprotok)n(oll)f(wie)j(HTTP)g(o)r +(der)g(FTP\))g(und)g(den)g(Ort)g(\(engl.)f(lo)r(cati-)848 +2685 y(on\))c(der)g(Ressource)f(in)i(Computernetzw)n(erk)n(en.)e(Im)i +(allgemeinen)f(Sprac)n(hgebrauc)n(h)e(w)n(er-)848 2784 +y(den)i(sie)g(auc)n(h)f(als)g(In)n(ternetadresse)g(b)r(ezeic)n(hnet,)h +(w)n(ob)r(ei)f(damit)i(\(der)f(umgangssprac)n(hlic)n(h)848 +2884 y(h\344u\034gen)34 b(Gleic)n(hsetzung)h(v)n(on)f(In)n(ternet)h +(und)h(WWW)g(folgend\))f(meist)g(sp)r(eziell)h(URLs)848 +2983 y(v)n(on)26 b(W)-7 b(ebseiten)29 b(gemein)n(t)e(sind.)640 +3150 y Fj(USV)42 b Fk(Un)n(terbrec)n(h)n(ungsfreie)37 +b(Strom)n(v)n(ersorgung.)f(Sehr)j(gro\377er)e(Akku)i(\(au\035adbare)f +(Baterie\))848 3249 y(der)27 b(b)r(ei)h(einem)g(Stromausfall)e(den)i +(Rec)n(hner)f(mit)h(Strom)f(v)n(ersorgt.)640 3415 y Fj(WWW)42 +b Fk(W)-7 b(orld)18 b(Wide)h(W)-7 b(eb\(W)g(elt)n(w)n(eites)19 +b(Netz\).)g(Ist)g(ein)f(\374b)r(er)h(das)e(In)n(ternet)i(abrufbares)d +(Hyp)r(ertext-)848 3515 y(System,)34 b(b)r(estehend)h(aus)e +(elektronisc)n(hen)g(Dokumen)n(ten,)h(die)h(durc)n(h)e(Hyp)r(erlinks)h +(mit-)848 3614 y(einander)27 b(v)n(erkn)n(\374pft)g(sind.)640 +5092 y(162)p eop end +%%Page: 163 163 +TeXDict begin 163 162 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 12 -5 a +SDict begin H.S end + 12 -5 a +12 -5 a +SDict begin H.R end + 12 -5 a 12 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.163) cvn /DEST pdfmark end + 12 -5 a 20 277 a +SDict begin H.S end + 20 277 a 20 +277 a +SDict begin 12 H.A end + 20 277 a 20 277 a +SDict begin [/View [/XYZ H.V]/Dest (chapter*.34) cvn /DEST pdfmark +end + 20 277 a 520 x Fm(Stichw)-6 b(o)g +(rtverzeichnis)20 1168 y Fk(&,)135 1168 y +SDict begin H.S end + 135 1168 a +Fk(30)218 1115 y +SDict begin H.R end + 218 1115 a 218 1168 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 218 1168 a 20 +1345 a Fk(a\033s,)193 1345 y +SDict begin H.S end + 193 1345 a Fk(49)276 1292 +y +SDict begin H.R end + 276 1292 a 276 1345 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 276 1345 a 20 1445 a Fk(alias,)233 +1445 y +SDict begin H.S end + 233 1445 a Fk(22)316 1391 y +SDict begin H.R end + 316 1391 a 316 1445 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.22) cvn H.B /ANN pdfmark end + 316 1445 a 20 1544 a Fk(apt,)191 1544 y +SDict begin H.S end + 191 1544 a +Fk(32)274 1491 y +SDict begin H.R end + 274 1491 a 274 1544 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.32) cvn H.B /ANN pdfmark end + 274 1544 a 20 +1644 a Fk(apt-get,)329 1644 y +SDict begin H.S end + 329 1644 a Fk(32)412 1591 +y +SDict begin H.R end + 412 1591 a 412 1644 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.32) cvn H.B /ANN pdfmark end + 412 1644 a 20 1821 a Fk(bash,)237 +1821 y +SDict begin H.S end + 237 1821 a Fk(55)320 1768 y +SDict begin H.R end + 320 1768 a 320 1821 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 320 1821 a 20 1921 a Fk(bg,)158 1921 y +SDict begin H.S end + 158 1921 a Fk(30)241 +1867 y +SDict begin H.R end + 241 1867 a 241 1921 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 241 1921 a 20 2020 a Fk(Bildsc)n(hirmsc)n +(honer,)730 2020 y +SDict begin H.S end + 730 2020 a Fk(19)813 1967 y +SDict begin H.R end + 813 1967 +a 813 2020 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 813 2020 a Fk(,)352 2120 y +SDict begin H.S end + 352 2120 a Fk(39)435 +2067 y +SDict begin H.R end + 435 2067 a 435 2120 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.39) cvn H.B /ANN pdfmark end + 435 2120 a 20 2220 a Fk(blo)r(c)n(k)n +(orien)n(tiert,)595 2220 y +SDict begin H.S end + 595 2220 a Fk(28)678 2166 +y +SDict begin H.R end + 678 2166 a 678 2220 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 678 2220 a 20 2319 a Fk(bzip2,)264 +2319 y +SDict begin H.S end + 264 2319 a Fk(17)347 2266 y +SDict begin H.R end + 347 2266 a 347 2319 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 347 2319 a 20 2496 a Fk(cat,)181 2496 y +SDict begin H.S end + 181 2496 a +Fk(23)264 2443 y +SDict begin H.R end + 264 2443 a 264 2496 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 264 2496 a 20 +2596 a Fk(cd,)154 2596 y +SDict begin H.S end + 154 2596 a Fk(23)237 2543 y +SDict begin H.R end + +237 2543 a 237 2596 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 237 2596 a 20 2696 a Fk(cfdsik,)279 +2696 y +SDict begin H.S end + 279 2696 a Fk(27)362 2642 y +SDict begin H.R end + 362 2642 a 362 2696 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 362 2696 a 20 2795 a Fk(c)n(hgrp,)272 2795 y +SDict begin H.S end + 272 2795 +a Fk(28)355 2742 y +SDict begin H.R end + 355 2742 a 355 2795 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 355 2795 a 20 +2895 a Fk(c)n(hmo)r(d,)311 2895 y +SDict begin H.S end + 311 2895 a Fk(28)394 +2842 y +SDict begin H.R end + 394 2842 a 394 2895 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 394 2895 a 20 2994 a Fk(c)n(ho)n(wn,)297 +2994 y +SDict begin H.S end + 297 2994 a Fk(28)380 2941 y +SDict begin H.R end + 380 2941 a 380 2994 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 380 2994 a 20 3094 a Fk(c)n(hro)r(ot,)302 3094 y +SDict begin H.S end + 302 +3094 a Fk(31)385 3041 y +SDict begin H.R end + 385 3041 a 385 3094 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.31) cvn H.B /ANN pdfmark end + 385 3094 +a 20 3194 a Fk(clo)r(c)n(k,)253 3194 y +SDict begin H.S end + 253 3194 a Fk(21)336 +3140 y +SDict begin H.R end + 336 3140 a 336 3194 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark end + 336 3194 a 20 3293 a Fk(cmp,)223 +3293 y +SDict begin H.S end + 223 3293 a Fk(25)306 3240 y +SDict begin H.R end + 306 3240 a 306 3293 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 306 3293 a 20 3393 a Fk(comm,)288 3393 y +SDict begin H.S end + 288 3393 a +Fk(25)371 3340 y +SDict begin H.R end + 371 3340 a 371 3393 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 371 3393 a 20 +3493 a Fk(compress,)399 3493 y +SDict begin H.S end + 399 3493 a Fk(25)482 3439 +y +SDict begin H.R end + 482 3439 a 482 3493 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 482 3493 a 20 3592 a Fk(cp,)154 +3592 y +SDict begin H.S end + 154 3592 a Fk(23)237 3539 y +SDict begin H.R end + 237 3539 a 237 3592 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 237 3592 a 20 3692 a Fk(csh,)187 3692 y +SDict begin H.S end + 187 3692 a +Fk(55)270 3639 y +SDict begin H.R end + 270 3639 a 270 3692 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 270 3692 a 20 +3869 a Fk(date,)228 3869 y +SDict begin H.S end + 228 3869 a Fk(20)311 3816 +y +SDict begin H.R end + 311 3816 a 311 3869 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 311 3869 a Fk(,)361 3869 y +SDict begin H.S end + 361 +3869 a Fk(21)444 3816 y +SDict begin H.R end + 444 3816 a 444 3869 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark end + 444 3869 +a 20 3969 a Fk(Datum,)323 3969 y +SDict begin H.S end + 323 3969 a Fk(21)406 +3915 y +SDict begin H.R end + 406 3915 a 406 3969 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark end + 406 3969 a 20 4068 a Fk(dd,)163 +4068 y +SDict begin H.S end + 163 4068 a Fk(27)246 4015 y +SDict begin H.R end + 246 4015 a 246 4068 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 246 4068 a 20 4168 a Fk(df,)142 4168 y +SDict begin H.S end + 142 4168 a Fk(20)225 +4115 y +SDict begin H.R end + 225 4115 a 225 4168 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 225 4168 a 20 4268 a Fk(di\033,)188 +4268 y +SDict begin H.S end + 188 4268 a Fk(25)271 4214 y +SDict begin H.R end + 271 4214 a 271 4268 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 271 4268 a 20 4367 a Fk(dmesg,)297 4367 y +SDict begin H.S end + 297 4367 +a Fk(17)380 4314 y +SDict begin H.R end + 380 4314 a 380 4367 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 380 4367 a 20 +4467 a Fk(dpkg,)248 4467 y +SDict begin H.S end + 248 4467 a Fk(17)331 4413 +y +SDict begin H.R end + 331 4413 a 331 4467 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 331 4467 a Fk(,)382 4467 y +SDict begin H.S end + 382 +4467 a Fk(32)465 4413 y +SDict begin H.R end + 465 4413 a 465 4467 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.32) cvn H.B /ANN pdfmark end + 465 4467 +a 20 4644 a Fk(ec)n(ho,)230 4644 y +SDict begin H.S end + 230 4644 a Fk(20)313 +4591 y +SDict begin H.R end + 313 4591 a 313 4644 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 313 4644 a 20 4744 a Fk(egrep,)265 +4744 y +SDict begin H.S end + 265 4744 a Fk(24)348 4690 y +SDict begin H.R end + 348 4690 a 348 4744 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.24) cvn H.B /ANN pdfmark end + 348 4744 a 1150 1168 a Fk(Eigen)n(t\374mer,)1620 1168 +y +SDict begin H.S end + 1620 1168 a Fk(28)1703 1115 y +SDict begin H.R end + 1703 1115 a 1703 1168 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 1703 1168 a 1150 1268 a Fk(emerge,)1455 1268 y +SDict begin H.S end + 1455 +1268 a Fk(33)1538 1215 y +SDict begin H.R end + 1538 1215 a 1538 1268 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.33) cvn H.B /ANN pdfmark end + 1538 +1268 a 1150 1368 a Fk(en)n(v-up)r(date,)1605 1368 y +SDict begin H.S end + 1605 +1368 a Fk(31)1688 1315 y +SDict begin H.R end + 1688 1315 a 1688 1368 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.31) cvn H.B /ANN pdfmark end + 1688 +1368 a 1150 1468 a Fk(equery)f(,)1434 1468 y +SDict begin H.S end + 1434 1468 +a Fk(33)1517 1415 y +SDict begin H.R end + 1517 1415 a 1517 1468 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.33) cvn H.B /ANN pdfmark end + 1517 1468 +a 1150 1568 a Fk(etc-up)r(date,)1586 1568 y +SDict begin H.S end + 1586 1568 +a Fk(33)1669 1515 y +SDict begin H.R end + 1669 1515 a 1669 1568 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.33) cvn H.B /ANN pdfmark end + 1669 1568 +a 1150 1668 a Fk(euse,)1354 1668 y +SDict begin H.S end + 1354 1668 a Fk(33)1437 +1615 y +SDict begin H.R end + 1437 1615 a 1437 1668 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.33) cvn H.B /ANN pdfmark end + 1437 1668 a 1150 1768 +a Fk(expand,)1462 1768 y +SDict begin H.S end + 1462 1768 a Fk(25)1545 1715 +y +SDict begin H.R end + 1545 1715 a 1545 1768 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 1545 1768 a 1150 1868 a Fk(exp)r(ort,)1437 +1868 y +SDict begin H.S end + 1437 1868 a Fk(31)1520 1815 y +SDict begin H.R end + 1520 1815 a 1520 +1868 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.31) cvn H.B /ANN pdfmark end + 1520 1868 a Fk(,)1570 1868 y +SDict begin H.S end + 1570 1868 a Fk(38)1653 +1815 y +SDict begin H.R end + 1653 1815 a 1653 1868 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.38) cvn H.B /ANN pdfmark end + 1653 1868 a Fk(,)1704 +1868 y +SDict begin H.S end + 1704 1868 a Fk(55)1787 1815 y +SDict begin H.R end + 1787 1815 a 1787 +1868 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 1787 1868 a 1150 1969 a Fk(ext2,)1356 1969 y +SDict begin H.S end + 1356 +1969 a Fk(49)1439 1915 y +SDict begin H.R end + 1439 1915 a 1439 1969 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 1439 +1969 a 1150 2069 a Fk(ext3,)1356 2069 y +SDict begin H.S end + 1356 2069 a Fk(49)1439 +2015 y +SDict begin H.R end + 1439 2015 a 1439 2069 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 1439 2069 a 1150 2260 +a Fk(fak)n(ero)r(ot,)1496 2260 y +SDict begin H.S end + 1496 2260 a Fk(17)1579 +2206 y +SDict begin H.R end + 1579 2206 a 1579 2260 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 1579 2260 a 1150 2360 +a Fk(fdformat,)1515 2360 y +SDict begin H.S end + 1515 2360 a Fk(27)1598 2306 +y +SDict begin H.R end + 1598 2306 a 1598 2360 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 1598 2360 a 1150 2460 a Fk(fdisk,)1372 +2460 y +SDict begin H.S end + 1372 2460 a Fk(27)1455 2407 y +SDict begin H.R end + 1455 2407 a 1455 +2460 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 1455 2460 a 1150 2560 a Fk(fg,)1268 2560 y +SDict begin H.S end + 1268 +2560 a Fk(30)1351 2507 y +SDict begin H.R end + 1351 2507 a 1351 2560 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 1351 +2560 a 1150 2660 a Fk(fgrep,)1383 2660 y +SDict begin H.S end + 1383 2660 a +Fk(24)1467 2607 y +SDict begin H.R end + 1467 2607 a 1467 2660 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.24) cvn H.B /ANN pdfmark end + 1467 2660 a +1150 2760 a Fk(\034le,)1307 2760 y +SDict begin H.S end + 1307 2760 a Fk(22)1390 +2707 y +SDict begin H.R end + 1390 2707 a 1390 2760 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.22) cvn H.B /ANN pdfmark end + 1390 2760 a 1150 2860 +a Fk(\034nd,)1339 2860 y +SDict begin H.S end + 1339 2860 a Fk(24)1422 2807 +y +SDict begin H.R end + 1422 2807 a 1422 2860 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.24) cvn H.B /ANN pdfmark end + 1422 2860 a 1150 2960 a Fk(\034nger,)1404 +2960 y +SDict begin H.S end + 1404 2960 a Fk(20)1487 2907 y +SDict begin H.R end + 1487 2907 a 1487 +2960 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 1487 2960 a 1150 3060 a Fk(free,)1333 3060 y +SDict begin H.S end + 1333 +3060 a Fk(20)1416 3007 y +SDict begin H.R end + 1416 3007 a 1416 3060 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 1416 +3060 a 1150 3160 a Fk(fsc)n(k,)1338 3160 y +SDict begin H.S end + 1338 3160 +a Fk(27)1421 3107 y +SDict begin H.R end + 1421 3107 a 1421 3160 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 1421 3160 +a 1150 3261 a Fk(fstab,)1379 3261 y +SDict begin H.S end + 1379 3261 a Fk(48)1462 +3207 y +SDict begin H.R end + 1462 3207 a 1462 3261 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.48) cvn H.B /ANN pdfmark end + 1462 3261 a 1150 3361 +a Fk(ftp,)1305 3361 y +SDict begin H.S end + 1305 3361 a Fk(34)1388 3307 y +SDict begin H.R end + 1388 +3307 a 1388 3361 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 1388 3361 a 1150 3552 a Fk(gpg,)1330 +3552 y +SDict begin H.S end + 1330 3552 a Fk(17)1413 3498 y +SDict begin H.R end + 1413 3498 a 1413 +3552 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 1413 3552 a Fk(,)1464 3552 y +SDict begin H.S end + 1464 3552 a Fk(36)1547 +3498 y +SDict begin H.R end + 1547 3498 a 1547 3552 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.36) cvn H.B /ANN pdfmark end + 1547 3552 a 1150 3652 +a Fk(grep,)1358 3652 y +SDict begin H.S end + 1358 3652 a Fk(24)1441 3598 y +SDict begin H.R end + +1441 3598 a 1441 3652 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.24) cvn H.B /ANN pdfmark end + 1441 3652 a 1150 3752 a Fk(group,)1409 +3752 y +SDict begin H.S end + 1409 3752 a Fk(49)1492 3699 y +SDict begin H.R end + 1492 3699 a 1492 +3752 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 1492 3752 a 1150 3852 a Fk(grub,)1367 3852 y +SDict begin H.S end + 1367 +3852 a Fk(31)1450 3799 y +SDict begin H.R end + 1450 3799 a 1450 3852 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.31) cvn H.B /ANN pdfmark end + 1450 +3852 a 1150 3952 a Fk(Grupp)r(e,)1476 3952 y +SDict begin H.S end + 1476 3952 +a Fk(28)1559 3899 y +SDict begin H.R end + 1559 3899 a 1559 3952 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 1559 3952 +a 1150 4052 a Fk(gzip,)1349 4052 y +SDict begin H.S end + 1349 4052 a Fk(17)1432 +3999 y +SDict begin H.R end + 1432 3999 a 1432 4052 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 1432 4052 a 1150 4243 +a Fk(halt,)1344 4243 y +SDict begin H.S end + 1344 4243 a Fk(19)1427 4190 y +SDict begin H.R end + +1427 4190 a 1427 4243 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 1427 4243 a 1150 4343 a Fk(Hardlink,)1520 +4343 y +SDict begin H.S end + 1520 4343 a Fk(23)1603 4290 y +SDict begin H.R end + 1603 4290 a 1603 +4343 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 1603 4343 a 1150 4443 a Fk(head,)1372 4443 y +SDict begin H.S end + 1372 +4443 a Fk(23)1455 4390 y +SDict begin H.R end + 1455 4390 a 1455 4443 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 1455 +4443 a 1150 4543 a Fk(host,)1354 4543 y +SDict begin H.S end + 1354 4543 a Fk(34)1437 +4490 y +SDict begin H.R end + 1437 4490 a 1437 4543 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 1437 4543 a 1150 4643 +a Fk(hosts,)1386 4643 y +SDict begin H.S end + 1386 4643 a Fk(50)1469 4590 y +SDict begin H.R end + +1469 4590 a 1469 4643 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.50) cvn H.B /ANN pdfmark end + 1469 4643 a 1150 4744 a Fk(hpfs,)1351 +4744 y +SDict begin H.S end + 1351 4744 a Fk(49)1434 4690 y +SDict begin H.R end + 1434 4690 a 1434 +4744 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 1434 4744 a 2281 1168 a Fk(h)n(top,)2495 1168 +y +SDict begin H.S end + 2495 1168 a Fk(30)2578 1115 y +SDict begin H.R end + 2578 1115 a 2578 1168 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 2578 1168 a 2281 1345 a Fk(ifcon\034g,)2592 1345 y +SDict begin H.S end + +2592 1345 a Fk(34)2675 1292 y +SDict begin H.R end + 2675 1292 a 2675 1345 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + +2675 1345 a 2281 1445 a Fk(info,)2467 1445 y +SDict begin H.S end + 2467 1445 +a Fk(20)2550 1391 y +SDict begin H.R end + 2550 1391 a 2550 1445 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 2550 1445 +a 2281 1544 a Fk(init,)2456 1544 y +SDict begin H.S end + 2456 1544 a Fk(19)2539 +1491 y +SDict begin H.R end + 2539 1491 a 2539 1544 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 2539 1544 a Fk(,)2590 +1544 y +SDict begin H.S end + 2590 1544 a Fk(20)2673 1491 y +SDict begin H.R end + 2673 1491 a 2673 +1544 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 2673 1544 a 2281 1644 a Fk(initctl,)2548 1644 +y +SDict begin H.S end + 2548 1644 a Fk(20)2631 1591 y +SDict begin H.R end + 2631 1591 a 2631 1644 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 2631 1644 a 2281 1743 a Fk(insmo)r(d,)2592 1743 y +SDict begin H.S end + 2592 +1743 a Fk(17)2675 1690 y +SDict begin H.R end + 2675 1690 a 2675 1743 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 2675 +1743 a 2281 1843 a Fk(ip,)2401 1843 y +SDict begin H.S end + 2401 1843 a Fk(34)2484 +1790 y +SDict begin H.R end + 2484 1790 a 2484 1843 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 2484 1843 a 2281 1943 +a Fk(iso9660,)2595 1943 y +SDict begin H.S end + 2595 1943 a Fk(49)2678 1889 +y +SDict begin H.R end + 2678 1889 a 2678 1943 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 2678 1943 a 2281 2120 a Fk(jobs,)2477 +2120 y +SDict begin H.S end + 2477 2120 a Fk(30)2560 2067 y +SDict begin H.R end + 2560 2067 a 2560 +2120 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 2560 2120 a 2281 2297 a Fk(Kernel,)2571 2297 y +SDict begin H.S end + +2571 2297 a Fk(17)2654 2244 y +SDict begin H.R end + 2654 2244 a 2654 2297 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + +2654 2297 a 2281 2397 a Fk(kill,)2444 2397 y +SDict begin H.S end + 2444 2397 +a Fk(30)2527 2343 y +SDict begin H.R end + 2527 2343 a 2527 2397 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 2527 2397 +a 2281 2496 a Fk(ksh,)2454 2496 y +SDict begin H.S end + 2454 2496 a Fk(55)2537 +2443 y +SDict begin H.R end + 2537 2443 a 2537 2496 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 2537 2496 a 2281 2673 +a Fk(last,)2461 2673 y +SDict begin H.S end + 2461 2673 a Fk(20)2544 2620 y +SDict begin H.R end + +2544 2620 a 2544 2673 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 2544 2673 a 2281 2773 a Fk(ldd,)2447 +2773 y +SDict begin H.S end + 2447 2773 a Fk(34)2530 2720 y +SDict begin H.R end + 2530 2720 a 2530 +2773 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 2530 2773 a 2281 2873 a Fk(less,)2457 2873 y +SDict begin H.S end + 2457 +2873 a Fk(23)2540 2819 y +SDict begin H.R end + 2540 2819 a 2540 2873 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 2540 +2873 a 2281 2972 a Fk(ln,)2401 2972 y +SDict begin H.S end + 2401 2972 a Fk(23)2484 +2919 y +SDict begin H.R end + 2484 2919 a 2484 2972 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 2484 2972 a 2281 3072 +a Fk(lo)r(cate,)2546 3072 y +SDict begin H.S end + 2546 3072 a Fk(55)2629 3019 +y +SDict begin H.R end + 2629 3019 a 2629 3072 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 2629 3072 a 2281 3172 a Fk(login,)2507 +3172 y +SDict begin H.S end + 2507 3172 a Fk(19)2590 3118 y +SDict begin H.R end + 2590 3118 a 2590 +3172 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 2590 3172 a 2281 3271 a Fk(logout,)2557 3271 y +SDict begin H.S end + +2557 3271 a Fk(19)2640 3218 y +SDict begin H.R end + 2640 3218 a 2640 3271 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + +2640 3271 a 2281 3371 a Fk(losetup,)2590 3371 y +SDict begin H.S end + 2590 +3371 a Fk(28)2673 3318 y +SDict begin H.R end + 2673 3318 a 2673 3371 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 2673 +3371 a 2281 3470 a Fk(lp)r(q,)2447 3470 y +SDict begin H.S end + 2447 3470 a +Fk(25)2530 3417 y +SDict begin H.R end + 2530 3417 a 2530 3470 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 2530 3470 a +2281 3570 a Fk(lpr,)2433 3570 y +SDict begin H.S end + 2433 3570 a Fk(25)2516 +3517 y +SDict begin H.R end + 2516 3517 a 2516 3570 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 2516 3570 a 2281 3670 +a Fk(lprm,)2502 3670 y +SDict begin H.S end + 2502 3670 a Fk(25)2585 3616 y +SDict begin H.R end + +2585 3616 a 2585 3670 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 2585 3670 a 2281 3769 a Fk(ls,)2387 +3769 y +SDict begin H.S end + 2387 3769 a Fk(22)2470 3716 y +SDict begin H.R end + 2470 3716 a 2470 +3769 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.22) cvn H.B /ANN pdfmark end + 2470 3769 a 2281 3869 a Fk(lsmo)r(d,)2546 3869 +y +SDict begin H.S end + 2546 3869 a Fk(17)2629 3816 y +SDict begin H.R end + 2629 3816 a 2629 3869 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 2629 3869 a 2281 4046 a Fk(mail,)2488 4046 y +SDict begin H.S end + 2488 4046 +a Fk(37)2571 3993 y +SDict begin H.R end + 2571 3993 a 2571 4046 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.37) cvn H.B /ANN pdfmark end + 2571 4046 +a 2281 4146 a Fk(mak)n(e,)2521 4146 y +SDict begin H.S end + 2521 4146 a Fk(17)2604 +4093 y +SDict begin H.R end + 2604 4093 a 2604 4146 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 2604 4146 a Fk(,)2654 +4146 y +SDict begin H.S end + 2654 4146 a Fk(34)2737 4093 y +SDict begin H.R end + 2737 4093 a 2737 +4146 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 2737 4146 a 2281 4245 a Fk(mak)n(e-kpkg,)2723 +4245 y +SDict begin H.S end + 2723 4245 a Fk(17)2806 4192 y +SDict begin H.R end + 2806 4192 a 2806 +4245 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 2806 4245 a 2281 4345 a Fk(man,)2488 4345 y +SDict begin H.S end + 2488 +4345 a Fk(20)2571 4292 y +SDict begin H.R end + 2571 4292 a 2571 4345 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 2571 +4345 a 2281 4445 a Fk(mfomat,)2610 4445 y +SDict begin H.S end + 2610 4445 a +Fk(27)2693 4391 y +SDict begin H.R end + 2693 4391 a 2693 4445 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 2693 4445 a +2281 4544 a Fk(minix,)2537 4544 y +SDict begin H.S end + 2537 4544 a Fk(49)2620 +4491 y +SDict begin H.R end + 2620 4491 a 2620 4544 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 2620 4544 a 2281 4644 +a Fk(mkdir,)2546 4644 y +SDict begin H.S end + 2546 4644 a Fk(23)2629 4591 y +SDict begin H.R end + +2629 4591 a 2629 4644 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 2629 4644 a 2281 4744 a Fk(mkdosfs,)2623 +4744 y +SDict begin H.S end + 2623 4744 a Fk(27)2706 4690 y +SDict begin H.R end + 2706 4690 a 2706 +4744 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 2706 4744 a 2996 5092 a Fk(163)p eop end +%%Page: 164 164 +TeXDict begin 164 163 bop 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 632 -5 a +SDict begin H.S end + 632 -5 +a 632 -5 a +SDict begin H.R end + 632 -5 a 632 -5 a +SDict begin [/View [/XYZ H.V]/Dest (page.164) cvn /DEST pdfmark end + 632 -5 a 640 128 a Fh(STICHW)n(OR)-7 +b(TVERZEICHNIS)640 360 y Fk(mk)n(e2fs,)938 360 y +SDict begin H.S end + 938 +360 a Fk(27)1021 307 y +SDict begin H.R end + 1021 307 a 1021 360 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 1021 360 +a 640 460 a Fk(mkfs,)862 460 y +SDict begin H.S end + 862 460 a Fk(27)945 406 +y +SDict begin H.R end + 945 406 a 945 460 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 945 460 a 640 559 a Fk(mo)r(dprob)r(e,)1055 +559 y +SDict begin H.S end + 1055 559 a Fk(28)1138 506 y +SDict begin H.R end + 1138 506 a 1138 559 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 1138 559 a 640 659 a Fk(more,)871 659 y +SDict begin H.S end + 871 659 a Fk(23)954 +606 y +SDict begin H.R end + 954 606 a 954 659 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 954 659 a 640 758 a Fk(moun)n(t,)924 +758 y +SDict begin H.S end + 924 758 a Fk(27)1007 705 y +SDict begin H.R end + 1007 705 a 1007 758 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 1007 758 a 640 858 a Fk(msdos,)913 858 y +SDict begin H.S end + 913 858 a +Fk(49)996 805 y +SDict begin H.R end + 996 805 a 996 858 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 996 858 a 640 958 +a Fk(m)n(v,)802 958 y +SDict begin H.S end + 802 958 a Fk(23)885 904 y +SDict begin H.R end + 885 904 +a 885 958 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 885 958 a 640 1136 a Fk(ncpfs,)878 1136 y +SDict begin H.S end + +878 1136 a Fk(49)961 1083 y +SDict begin H.R end + 961 1083 a 961 1136 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 961 +1136 a 640 1236 a Fk(netcat,)917 1236 y +SDict begin H.S end + 917 1236 a Fk(34)1000 +1183 y +SDict begin H.R end + 1000 1183 a 1000 1236 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 1000 1236 a 640 1335 a +Fk(netdate,)963 1335 y +SDict begin H.S end + 963 1335 a Fk(21)1046 1282 y +SDict begin H.R end + 1046 +1282 a 1046 1335 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark end + 1046 1335 a 640 1435 a Fk(nfs,)795 +1435 y +SDict begin H.S end + 795 1435 a Fk(49)878 1382 y +SDict begin H.R end + 878 1382 a 878 1435 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 878 1435 a 640 1535 a Fk(nl,)760 1535 y +SDict begin H.S end + 760 1535 a +Fk(23)843 1481 y +SDict begin H.R end + 843 1481 a 843 1535 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 843 1535 a 640 +1634 a Fk(nmap,)894 1634 y +SDict begin H.S end + 894 1634 a Fk(34)977 1581 +y +SDict begin H.R end + 977 1581 a 977 1634 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 977 1634 a 640 1734 a Fk(nslo)r(okup,)1014 +1734 y +SDict begin H.S end + 1014 1734 a Fk(34)1097 1681 y +SDict begin H.R end + 1097 1681 a 1097 +1734 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 1097 1734 a 640 1834 a Fk(n)n(tfs,)825 1834 y +SDict begin H.S end + +825 1834 a Fk(49)908 1780 y +SDict begin H.R end + 908 1780 a 908 1834 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 908 +1834 a 640 2012 a Fk(o)r(d,)781 2012 y +SDict begin H.S end + 781 2012 a Fk(23)864 +1959 y +SDict begin H.R end + 864 1959 a 864 2012 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 864 2012 a 640 2191 a Fk(passwd,)950 +2191 y +SDict begin H.S end + 950 2191 a Fk(28)1033 2137 y +SDict begin H.R end + 1033 2137 a 1033 +2191 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 1033 2191 a Fk(,)1084 2191 y +SDict begin H.S end + 1084 2191 a Fk(53)1167 +2137 y +SDict begin H.R end + 1167 2137 a 1167 2191 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.53) cvn H.B /ANN pdfmark end + 1167 2191 a 640 2290 a +Fk(ping,)848 2290 y +SDict begin H.S end + 848 2290 a Fk(34)931 2237 y +SDict begin H.R end + 931 2237 +a 931 2290 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 931 2290 a 640 2390 a Fk(pr,)770 2390 y +SDict begin H.S end + +770 2390 a Fk(25)853 2337 y +SDict begin H.R end + 853 2337 a 853 2390 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 853 +2390 a 640 2490 a Fk(pro)r(c,)850 2490 y +SDict begin H.S end + 850 2490 a Fk(49)933 +2436 y +SDict begin H.R end + 933 2436 a 933 2490 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 933 2490 a 640 2589 a Fk(ps,)770 +2589 y +SDict begin H.S end + 770 2589 a Fk(30)853 2536 y +SDict begin H.R end + 853 2536 a 853 2589 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 853 2589 a 640 2689 a Fk(pstree,)908 2689 y +SDict begin H.S end + 908 2689 +a Fk(30)991 2635 y +SDict begin H.R end + 991 2635 a 991 2689 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 991 2689 a 640 +2788 a Fk(p)n(wd,)841 2788 y +SDict begin H.S end + 841 2788 a Fk(20)924 2735 +y +SDict begin H.R end + 924 2735 a 924 2788 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 924 2788 a 640 2967 a Fk(rcsshd,)918 +2967 y +SDict begin H.S end + 918 2967 a Fk(36)1001 2914 y +SDict begin H.R end + 1001 2914 a 1001 +2967 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.36) cvn H.B /ANN pdfmark end + 1001 2967 a 640 3067 a Fk(reb)r(o)r(ot,)926 3067 +y +SDict begin H.S end + 926 3067 a Fk(19)1009 3013 y +SDict begin H.R end + 1009 3013 a 1009 3067 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 1009 3067 a 640 3166 a Fk(reco)r(de,)924 3166 y +SDict begin H.S end + 924 +3166 a Fk(23)1007 3113 y +SDict begin H.R end + 1007 3113 a 1007 3166 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 1007 +3166 a 640 3266 a Fk(reiserfs,)944 3266 y +SDict begin H.S end + 944 3266 a +Fk(49)1027 3213 y +SDict begin H.R end + 1027 3213 a 1027 3266 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 1027 3266 a +640 3365 a Fk(revdep-rebuild,)1215 3365 y +SDict begin H.S end + 1215 3365 a +Fk(33)1298 3312 y +SDict begin H.R end + 1298 3312 a 1298 3365 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.33) cvn H.B /ANN pdfmark end + 1298 3365 a +640 3465 a Fk(rlogin,)899 3465 y +SDict begin H.S end + 899 3465 a Fk(34)982 +3412 y +SDict begin H.R end + 982 3412 a 982 3465 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 982 3465 a 640 3565 a Fk(rm,)793 +3565 y +SDict begin H.S end + 793 3565 a Fk(23)876 3511 y +SDict begin H.R end + 876 3511 a 876 3565 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 876 3565 a 640 3664 a Fk(rmdir,)894 3664 y +SDict begin H.S end + 894 3664 +a Fk(23)977 3611 y +SDict begin H.R end + 977 3611 a 977 3664 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 977 3664 a 640 +3764 a Fk(rmmo)r(d,)952 3764 y +SDict begin H.S end + 952 3764 a Fk(17)1035 +3711 y +SDict begin H.R end + 1035 3711 a 1035 3764 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 1035 3764 a 1770 360 a +Fk(rpm,)1969 360 y +SDict begin H.S end + 1969 360 a Fk(32)2052 307 y +SDict begin H.R end + 2052 307 +a 2052 360 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.32) cvn H.B /ANN pdfmark end + 2052 360 a 1770 557 a Fk(sax,)1939 557 y +SDict begin H.S end + +1939 557 a Fk(38)2022 504 y +SDict begin H.R end + 2022 504 a 2022 557 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.38) cvn H.B /ANN pdfmark end + 2022 +557 a 1770 658 a Fk(scp,)1937 658 y +SDict begin H.S end + 1937 658 a Fk(34)2020 +604 y +SDict begin H.R end + 2020 604 a 2020 658 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 2020 658 a Fk(,)2071 658 +y +SDict begin H.S end + 2071 658 a Fk(35)2154 604 y +SDict begin H.R end + 2154 604 a 2154 658 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.35) cvn H.B /ANN pdfmark end + 2154 +658 a 1770 758 a Fk(seten)n(v,)2048 758 y +SDict begin H.S end + 2048 758 a +Fk(55)2131 705 y +SDict begin H.R end + 2131 705 a 2131 758 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 2131 758 a 1770 +858 a Fk(settherm,)2140 858 y +SDict begin H.S end + 2140 858 a Fk(19)2223 805 +y +SDict begin H.R end + 2223 805 a 2223 858 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 2223 858 a 1770 959 a Fk(sh,)1900 +959 y +SDict begin H.S end + 1900 959 a Fk(55)1983 906 y +SDict begin H.R end + 1983 906 a 1983 959 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 1983 959 a 1770 1059 a Fk(sh)n(utdo)n(wn,)2168 1059 +y +SDict begin H.S end + 2168 1059 a Fk(19)2251 1006 y +SDict begin H.R end + 2251 1006 a 2251 1059 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 2251 1059 a 1770 1160 a Fk(sm)n(bfs,)2025 1160 y +SDict begin H.S end + 2025 +1160 a Fk(49)2108 1107 y +SDict begin H.R end + 2108 1107 a 2108 1160 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 2108 +1160 a 1770 1260 a Fk(Softlink,)2102 1260 y +SDict begin H.S end + 2102 1260 +a Fk(23)2185 1207 y +SDict begin H.R end + 2185 1207 a 2185 1260 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 2185 1260 +a 1770 1361 a Fk(source,)2048 1361 y +SDict begin H.S end + 2048 1361 a Fk(31)2131 +1307 y +SDict begin H.R end + 2131 1307 a 2131 1361 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.31) cvn H.B /ANN pdfmark end + 2131 1361 a 1770 1461 +a Fk(ssh,)1933 1461 y +SDict begin H.S end + 1933 1461 a Fk(34)2016 1408 y +SDict begin H.R end + 2016 +1408 a 2016 1461 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 2016 1461 a Fk(,)2067 1461 y +SDict begin H.S end + 2067 +1461 a Fk(35)2150 1408 y +SDict begin H.R end + 2150 1408 a 2150 1461 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.35) cvn H.B /ANN pdfmark end + 2150 +1461 a 1770 1562 a Fk(ssh-k)n(eygen,)2207 1562 y +SDict begin H.S end + 2207 +1562 a Fk(35)2290 1508 y +SDict begin H.R end + 2290 1508 a 2290 1562 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.35) cvn H.B /ANN pdfmark end + 2290 +1562 a 1770 1662 a Fk(startx,)2036 1662 y +SDict begin H.S end + 2036 1662 a +Fk(38)2119 1609 y +SDict begin H.R end + 2119 1609 a 2119 1662 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.38) cvn H.B /ANN pdfmark end + 2119 1662 a +1770 1762 a Fk(stderr,)2034 1762 y +SDict begin H.S end + 2034 1762 a Fk(19)2117 +1709 y +SDict begin H.R end + 2117 1709 a 2117 1762 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 2117 1762 a 1770 1863 +a Fk(stdin,)2002 1863 y +SDict begin H.S end + 2002 1863 a Fk(19)2085 1810 y +SDict begin H.R end + +2085 1810 a 2085 1863 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 2085 1863 a Fk(,)2135 1863 y +SDict begin H.S end + +2135 1863 a Fk(56)2218 1810 y +SDict begin H.R end + 2218 1810 a 2218 1863 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.56) cvn H.B /ANN pdfmark end + +2218 1863 a 1770 1963 a Fk(stdout,)2052 1963 y +SDict begin H.S end + 2052 1963 +a Fk(19)2135 1910 y +SDict begin H.R end + 2135 1910 a 2135 1963 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 2135 1963 +a 1770 2064 a Fk(strace,)2034 2064 y +SDict begin H.S end + 2034 2064 a Fk(34)2117 +2011 y +SDict begin H.R end + 2117 2011 a 2117 2064 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 2117 2064 a 1770 2164 +a Fk(strings,)2062 2164 y +SDict begin H.S end + 2062 2164 a Fk(23)2145 2111 +y +SDict begin H.R end + 2145 2111 a 2145 2164 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 2145 2164 a 1770 2265 a Fk(su,)1900 +2265 y +SDict begin H.S end + 1900 2265 a Fk(28)1983 2211 y +SDict begin H.R end + 1983 2211 a 1983 +2265 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 1983 2265 a 1770 2365 a Fk(sux,)1944 2365 y +SDict begin H.S end + 1944 +2365 a Fk(28)2027 2312 y +SDict begin H.R end + 2027 2312 a 2027 2365 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 2027 +2365 a 1770 2466 a Fk(systemctl,)2161 2466 y +SDict begin H.S end + 2161 2466 +a Fk(19)2244 2412 y +SDict begin H.R end + 2244 2412 a 2244 2466 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.19) cvn H.B /ANN pdfmark end + 2244 2466 +a 1770 2566 a Fk(sysv,)1974 2566 y +SDict begin H.S end + 1974 2566 a Fk(49)2057 +2513 y +SDict begin H.R end + 2057 2513 a 2057 2566 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 2057 2566 a 1770 2763 +a Fk(tail,)1941 2763 y +SDict begin H.S end + 1941 2763 a Fk(23)2024 2710 y +SDict begin H.R end + +2024 2710 a 2024 2763 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.23) cvn H.B /ANN pdfmark end + 2024 2763 a 1770 2864 a Fk(tar,)1927 +2864 y +SDict begin H.S end + 1927 2864 a Fk(27)2010 2810 y +SDict begin H.R end + 2010 2810 a 2010 +2864 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 2010 2864 a 1770 2964 a Fk(tcsh,)1969 2964 y +SDict begin H.S end + 1969 +2964 a Fk(55)2052 2911 y +SDict begin H.R end + 2052 2911 a 2052 2964 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 2052 +2964 a 1770 3065 a Fk(telnet,)2029 3065 y +SDict begin H.S end + 2029 3065 a +Fk(34)2112 3011 y +SDict begin H.R end + 2112 3011 a 2112 3065 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.34) cvn H.B /ANN pdfmark end + 2112 3065 a +1770 3165 a Fk(timedatectl,)2232 3165 y +SDict begin H.S end + 2232 3165 a Fk(21)2315 +3112 y +SDict begin H.R end + 2315 3112 a 2315 3165 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark end + 2315 3165 a 1770 3265 +a Fk(top,)1941 3265 y +SDict begin H.S end + 1941 3265 a Fk(30)2024 3212 y +SDict begin H.R end + 2024 +3212 a 2024 3265 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.30) cvn H.B /ANN pdfmark end + 2024 3265 a 1770 3366 a Fk(tr,)1886 +3366 y +SDict begin H.S end + 1886 3366 a Fk(25)1969 3313 y +SDict begin H.R end + 1969 3313 a 1969 +3366 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 1969 3366 a 1770 3466 a Fk(tune2fs,)2082 3466 +y +SDict begin H.S end + 2082 3466 a Fk(27)2165 3413 y +SDict begin H.R end + 2165 3413 a 2165 3466 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 2165 3466 a 1770 3663 a Fk(ufs,)1925 3663 y +SDict begin H.S end + 1925 3663 +a Fk(49)2008 3610 y +SDict begin H.R end + 2008 3610 a 2008 3663 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 2008 3663 +a 1770 3764 a Fk(Uhrzeit,)2091 3764 y +SDict begin H.S end + 2091 3764 a Fk(21)2174 +3711 y +SDict begin H.R end + 2174 3711 a 2174 3764 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark end + 2174 3764 a 2901 360 a +Fk(umoun)n(t,)3231 360 y +SDict begin H.S end + 3231 360 a Fk(27)3314 307 y +SDict begin H.R end + +3314 307 a 3314 360 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.27) cvn H.B /ANN pdfmark end + 3314 360 a 2901 460 a Fk(umsdos,)3220 +460 y +SDict begin H.S end + 3220 460 a Fk(49)3303 406 y +SDict begin H.R end + 3303 406 a 3303 460 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 3303 460 a 2901 559 a Fk(uname,)3191 559 y +SDict begin H.S end + 3191 559 +a Fk(17)3274 506 y +SDict begin H.R end + 3274 506 a 3274 559 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 3274 559 a 2901 +659 a Fk(uncompress,)3372 659 y +SDict begin H.S end + 3372 659 a Fk(25)3455 +606 y +SDict begin H.R end + 3455 606 a 3455 659 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 3455 659 a 2901 758 a Fk(uniq,)3111 +758 y +SDict begin H.S end + 3111 758 a Fk(25)3194 705 y +SDict begin H.R end + 3194 705 a 3194 758 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 3194 758 a 2901 858 a Fk(unpac)n(k,)3210 858 y +SDict begin H.S end + 3210 +858 a Fk(25)3293 805 y +SDict begin H.R end + 3293 805 a 3293 858 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.25) cvn H.B /ANN pdfmark end + 3293 858 +a 2901 958 a Fk(unset,)3146 958 y +SDict begin H.S end + 3146 958 a Fk(55)3229 +904 y +SDict begin H.R end + 3229 904 a 3229 958 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 3229 958 a 2901 1057 a Fk(unseten)n(v,)3270 +1057 y +SDict begin H.S end + 3270 1057 a Fk(55)3353 1004 y +SDict begin H.R end + 3353 1004 a 3353 +1057 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.55) cvn H.B /ANN pdfmark end + 3353 1057 a 2901 1157 a Fk(Upstart,)3231 1157 +y +SDict begin H.S end + 3231 1157 a Fk(20)3314 1104 y +SDict begin H.R end + 3314 1104 a 3314 1157 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 3314 1157 a 2901 1257 a Fk(useradd,)3234 1257 y +SDict begin H.S end + 3234 +1257 a Fk(28)3317 1203 y +SDict begin H.R end + 3317 1203 a 3317 1257 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 3317 +1257 a 2901 1356 a Fk(userdel,)3206 1356 y +SDict begin H.S end + 3206 1356 +a Fk(28)3289 1303 y +SDict begin H.R end + 3289 1303 a 3289 1356 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 3289 1356 +a 2901 1456 a Fk(usermo)r(d,)3259 1456 y +SDict begin H.S end + 3259 1456 a +Fk(28)3342 1403 y +SDict begin H.R end + 3342 1403 a 3342 1456 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 3342 1456 a +2901 1556 a Fk(UTC,)3134 1556 y +SDict begin H.S end + 3134 1556 a Fk(21)3217 +1502 y +SDict begin H.R end + 3217 1502 a 3217 1556 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark end + 3217 1556 a 2901 1738 +a Fk(vfat,)3094 1738 y +SDict begin H.S end + 3094 1738 a Fk(49)3177 1685 y +SDict begin H.R end + +3177 1685 a 3177 1738 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.49) cvn H.B /ANN pdfmark end + 3177 1738 a 2901 1838 a Fk(vi,)3018 +1838 y +SDict begin H.S end + 3018 1838 a Fk(24)3101 1785 y +SDict begin H.R end + 3101 1785 a 3101 +1838 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.24) cvn H.B /ANN pdfmark end + 3101 1838 a Fk(,)3152 1838 y +SDict begin H.S end + 3152 1838 a Fk(61)3235 +1785 y +SDict begin H.R end + 3235 1785 a 3235 1838 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.61) cvn H.B /ANN pdfmark end + 3235 1838 a 2901 1937 +a Fk(vip)n(w,)3122 1937 y +SDict begin H.S end + 3122 1937 a Fk(28)3205 1884 +y +SDict begin H.R end + 3205 1884 a 3205 1937 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 3205 1937 a 2901 2120 a Fk(w,)3011 +2120 y +SDict begin H.S end + 3011 2120 a Fk(20)3094 2067 y +SDict begin H.R end + 3094 2067 a 3094 +2120 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 3094 2120 a 2901 2220 a Fk(w)n(c,)3046 2220 y +SDict begin H.S end + +3046 2220 a Fk(22)3129 2166 y +SDict begin H.R end + 3129 2166 a 3129 2220 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.22) cvn H.B /ANN pdfmark end + +3129 2220 a 2901 2319 a Fk(wget,)3122 2319 y +SDict begin H.S end + 3122 2319 +a Fk(17)3205 2266 y +SDict begin H.R end + 3205 2266 a 3205 2319 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 3205 2319 +a 2901 2419 a Fk(whatis,)3187 2419 y +SDict begin H.S end + 3187 2419 a Fk(20)3270 +2366 y +SDict begin H.R end + 3270 2366 a 3270 2419 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 3270 2419 a 2901 2519 +a Fk(whic)n(h,)3161 2519 y +SDict begin H.S end + 3161 2519 a Fk(20)3244 2465 +y +SDict begin H.R end + 3244 2465 a 3244 2519 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 3244 2519 a 2901 2618 a Fk(who,)3099 +2618 y +SDict begin H.S end + 3099 2618 a Fk(20)3182 2565 y +SDict begin H.R end + 3182 2565 a 3182 +2618 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 3182 2618 a 2901 2718 a Fk(whoami,)3233 2718 y +SDict begin H.S end + +3233 2718 a Fk(20)3316 2665 y +SDict begin H.R end + 3316 2665 a 3316 2718 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + +3316 2718 a 2901 2900 a Fk(xf86con\034g,)3316 2900 y +SDict begin H.S end + +3316 2900 a Fk(38)3399 2847 y +SDict begin H.R end + 3399 2847 a 3399 2900 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.38) cvn H.B /ANN pdfmark end + +3399 2900 a 2901 3000 a Fk(XF86Setup,)3358 3000 y +SDict begin H.S end + 3358 +3000 a Fk(38)3441 2947 y +SDict begin H.R end + 3441 2947 a 3441 3000 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.38) cvn H.B /ANN pdfmark end + 3441 +3000 a 2901 3100 a Fk(xset,)3097 3100 y +SDict begin H.S end + 3097 3100 a Fk(39)3180 +3046 y +SDict begin H.R end + 3180 3046 a 3180 3100 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.39) cvn H.B /ANN pdfmark end + 3180 3100 a 2901 3199 +a Fk(xsetro)r(ot,)3247 3199 y +SDict begin H.S end + 3247 3199 a Fk(39)3330 +3146 y +SDict begin H.R end + 3330 3146 a 3330 3199 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.39) cvn H.B /ANN pdfmark end + 3330 3199 a 2901 3382 +a Fk(y)n(ast,)3100 3382 y +SDict begin H.S end + 3100 3382 a Fk(20)3183 3329 +y +SDict begin H.R end + 3183 3329 a 3183 3382 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.20) cvn H.B /ANN pdfmark end + 3183 3382 a 2901 3565 a Fk(zcat,)3099 +3565 y +SDict begin H.S end + 3099 3565 a Fk(17)3182 3511 y +SDict begin H.R end + 3182 3511 a 3182 +3565 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.17) cvn H.B /ANN pdfmark end + 3182 3565 a 2901 3664 a Fk(zeic)n(henorien)n(tiert,)3547 +3664 y +SDict begin H.S end + 3547 3664 a Fk(28)3630 3611 y +SDict begin H.R end + 3630 3611 a 3630 +3664 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.28) cvn H.B /ANN pdfmark end + 3630 3664 a 2901 3764 a Fk(Zeit,)3094 3764 y +SDict begin H.S end + 3094 +3764 a Fk(21)3177 3711 y +SDict begin H.R end + 3177 3711 a 3177 3764 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/BS +<>/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark end + 3177 +3764 a 640 5092 a Fk(164)0 0 y @beginspecial @setspecial +%%BeginDocument: linux.out.ps +%! +/pdfmark where{pop} +{/globaldict where{pop globaldict}{userdict}ifelse/pdfmark/cleartomark load put} +ifelse +[ +/Title(\376\377\000V\000o\000r\000w\000o\000r\000t) +/Action/GoTo/Dest(chapter.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000I\000n\000h\000a\000l\000t\000s\000v\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s) +/Action/GoTo/Dest(chapter*.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000i\000n\000u\000x) +/Count -4 +/Action/GoTo/Dest(part.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000i\000n\000u\000x) +/Count -2 +/Action/GoTo/Dest(chapter.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000W\000a\000s\000\040\000i\000s\000t\000\040\000L\000i\000n\000u\000x\000?) +/Action/GoTo/Dest(section.2.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000e\000r\000n\000e\000l\000\040\000u\000n\000d\000\040\000M\000o\000d\000u\000l\000e) +/Count -2 +/Action/GoTo/Dest(section.2.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000e\000r\000n\000e\000l\000\040\0002\000.\0004) +/Action/GoTo/Dest(subsection.2.2.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000e\000r\000n\000e\000l\000\040\0002\000.\0006\000\040\000\050\000D\000e\000b\000i\000a\000n\000\040\0004\000.\0000\000\040\000e\000t\000c\000h\000\051) +/Action/GoTo/Dest(subsection.2.2.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000f\000e\000h\000l\000e) +/Count -31 +/Action/GoTo/Dest(chapter.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000t\000a\000n\000d\000a\000r\000t\000e\000i\000n\000-\000a\000u\000s\000-\000g\000a\000b\000e) +/Action/GoTo/Dest(section.3.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000m\000e\000l\000d\000e\000n\000\040\000u\000n\000d\000\040\000A\000b\000m\000e\000l\000d\000e\000n) +/Action/GoTo/Dest(section.3.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000h\000a\000l\000t\000e\000n\000\040\000d\000e\000s\000\040\000S\000y\000s\000t\000e\000m\000s\000\040\000u\000n\000d\000\040\000B\000o\000o\000t\000e\000n) +/Action/GoTo/Dest(section.3.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000R\000u\000n\000l\000e\000v\000e\000l) +/Count -1 +/Action/GoTo/Dest(section.3.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000U\000p\000s\000t\000a\000r\000t) +/Action/GoTo/Dest(subsection.3.4.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000u\000S\000E\000-\000L\000i\000n\000u\000x) +/Action/GoTo/Dest(section.3.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000Z\000u\000r\000\040\000O\000r\000i\000e\000n\000t\000i\000e\000r\000u\000n\000g\000\040\000a\000u\000f\000\040\000e\000i\000n\000e\000m\000\040\000U\000N\000I\000X\000-\000R\000e\000c\000h\000n\000e\000r) +/Action/GoTo/Dest(section.3.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000u\000m\000\040\000u\000n\000d\000\040\000U\000h\000r\000z\000e\000i\000t) +/Action/GoTo/Dest(section.3.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000f\000l\000i\000s\000t\000e\000n) +/Action/GoTo/Dest(section.3.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000i\000n\000a\000m\000e\000n) +/Action/GoTo/Dest(section.3.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000i\000e\000n\000d\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(section.3.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000I\000n\000f\000o\000s\000\040\000\374\000b\000e\000r\000\040\000F\000i\000l\000e\000s) +/Action/GoTo/Dest(section.3.11)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000b\000e\000i\000t\000e\000n\000\050\000V\000e\000r\000w\000\374\000s\000t\000u\000n\000g\000e\000n\000\051\000\040\000i\000m\000\040\000u\000n\000d\000\040\000a\000m\000\040\000F\000i\000l\000e\000s\000y\000s\000t\000e\000m) +/Action/GoTo/Dest(section.3.12)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000p\000i\000e\000r\000e\000n\000\040\000u\000n\000d\000\040\000V\000e\000r\000s\000c\000h\000i\000e\000b\000e\000n) +/Action/GoTo/Dest(section.3.13)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000\366\000s\000c\000h\000e\000n) +/Action/GoTo/Dest(section.3.14)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000s\000g\000e\000b\000e\000n) +/Action/GoTo/Dest(section.3.15)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000e\000r\000\040\000T\000e\000x\000t\000e\000d\000i\000t\000o\000r\000\040\000v\000i\000/\000v\000i\000m) +/Action/GoTo/Dest(section.3.16)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000u\000c\000h\000e\000n\000\040\000n\000a\000c\000h\000\040\000D\000a\000t\000e\000i\000e\000n) +/Action/GoTo/Dest(section.3.17)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000u\000c\000h\000e\000n\000\040\000i\000n\000\040\000D\000a\000t\000e\000i\000e\000n) +/Action/GoTo/Dest(section.3.18)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000e\000r\000g\000l\000e\000i\000c\000h\000e\000n\000\040\000v\000o\000n\000\040\000D\000a\000t\000e\000i\000e\000n) +/Action/GoTo/Dest(section.3.19)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000r\000u\000c\000k\000e\000n) +/Action/GoTo/Dest(section.3.20)cvn +/OUT pdfmark +[ +/Title(\376\377\000F\000i\000l\000e\000-\000I\000n\000h\000a\000l\000t\000\040\000b\000e\000a\000r\000b\000e\000i\000t\000e\000n) +/Action/GoTo/Dest(section.3.21)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000A\000R\000\040\000\050\000t\000a\000p\000e\000\040\000a\000r\000c\000h\000i\000v\000e\000r\000\051\000\040\000v\000e\000r\000w\000a\000l\000t\000e\000t\000\040\000D\000a\000t\000e\000i\000a\000r\000c\000h\000i\000v\000e) +/Count -2 +/Action/GoTo/Dest(section.3.22)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000a\000c\000k\000e\000n) +/Action/GoTo/Dest(subsection.3.22.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000n\000t\000p\000a\000c\000k\000e\000n) +/Action/GoTo/Dest(subsection.3.22.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000s\000k\000e\000t\000t\000e\000n\000/\000F\000e\000s\000t\000p\000l\000a\000t\000t\000e\000n) +/Count -1 +/Action/GoTo/Dest(section.3.23)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000i\000s\000y\000s\000t\000e\000m\000\040\000v\000e\000r\000s\000c\000h\000l\000\374\000s\000s\000e\000l\000n) +/Action/GoTo/Dest(subsection.3.23.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000Z\000u\000g\000r\000i\000f\000f\000s\000r\000e\000c\000h\000t\000e\000/\000E\000i\000g\000e\000n\000t\000\374\000m\000e\000r\000/\000G\000r\000u\000p\000p\000e) +/Action/GoTo/Dest(section.3.24)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000r\000o\000z\000e\000s\000s\000b\000e\000f\000e\000h\000l\000e) +/Action/GoTo/Dest(section.3.25)cvn +/OUT pdfmark +[ +/Title(\376\377\000R\000e\000-\000i\000n\000s\000t\000a\000l\000l\000\040\000G\000r\000u\000b\000\040\000w\000i\000t\000h\000\040\000L\000i\000v\000e\000\040\000C\000D) +/Count -2 +/Action/GoTo/Dest(section.3.26)cvn +/OUT pdfmark +[ +/Title(\376\377\000C\000h\000r\000o\000o\000t) +/Action/GoTo/Dest(subsection.3.26.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000r\000u\000b) +/Action/GoTo/Dest(subsection.3.26.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000o\000f\000t\000w\000a\000r\000e\000\040\000i\000n\000s\000t\000a\000l\000l\000i\000e\000r\000e\000n) +/Count -5 +/Action/GoTo/Dest(section.3.27)cvn +/OUT pdfmark +[ +/Title(\376\377\000r\000p\000m\000-\000F\000o\000r\000m\000a\000t) +/Action/GoTo/Dest(subsection.3.27.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000d\000e\000b\000-\000F\000o\000r\000m\000a\000t) +/Action/GoTo/Dest(subsection.3.27.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000o\000r\000t\000a\000g\000e\000\040\000G\000e\000n\000t\000o\000o) +/Action/GoTo/Dest(subsection.3.27.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000Q\000u\000e\000l\000l\000t\000e\000x\000t\000e) +/Action/GoTo/Dest(subsection.3.27.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000H\000i\000l\000f\000e) +/Action/GoTo/Dest(subsection.3.27.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000I\000m\000\040\000N\000e\000t\000z) +/Action/GoTo/Dest(section.3.28)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000S\000H) +/Count -4 +/Action/GoTo/Dest(section.3.29)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000e\000n\000e\000r\000i\000e\000r\000u\000n\000g\000\040\000e\000i\000n\000e\000s\000\040\000D\000S\000A\000\040\000S\000c\000h\000l\000\374\000s\000s\000e\000l\000p\000a\000a\000r\000e\000s) +/Action/GoTo/Dest(subsection.3.29.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000u\000b\000l\000i\000c\000-\000K\000e\000y\000\040\000a\000u\000f\000\040\000d\000e\000m\000\040\000Z\000i\000e\000l\000r\000e\000c\000h\000n\000e\000r\000\040\000h\000i\000n\000z\000u\000f\000\374\000g\000e\000n) +/Action/GoTo/Dest(subsection.3.29.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000r\000i\000v\000a\000t\000e\000-\000K\000e\000y\000\040\000a\000u\000f\000\040\000d\000e\000m\000\040\000Q\000e\000l\000l\000r\000e\000c\000h\000n\000e\000r) +/Action/GoTo/Dest(subsection.3.29.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000o\000g\000i\000n\000\040\000n\000u\000r\000\040\000m\000i\000t\000\040\000S\000S\000H\000-\000K\000e\000y\000s\000\040\000e\000r\000l\000a\000u\000b\000e\000n) +/Action/GoTo/Dest(subsection.3.29.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000n\000u\000P\000G) +/Count -10 +/Action/GoTo/Dest(section.3.30)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000r\000z\000e\000u\000g\000e\000n) +/Action/GoTo/Dest(subsection.3.30.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000H\000o\000c\000h\000l\000a\000d\000e\000n) +/Action/GoTo/Dest(subsection.3.30.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000\366\000s\000c\000h\000e\000n) +/Action/GoTo/Dest(subsection.3.30.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000H\000o\000l\000e\000n) +/Action/GoTo/Dest(subsection.3.30.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000i\000g\000n\000a\000t\000u\000r\000\040\000e\000r\000z\000e\000u\000g\000e\000n\000\040\000u\000n\000d\000\040\000p\000r\000\374\000f\000e\000n) +/Action/GoTo/Dest(subsection.3.30.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000e\000r\000s\000c\000h\000l\000\374\000s\000s\000e\000l\000n) +/Action/GoTo/Dest(subsection.3.30.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000n\000t\000s\000c\000h\000l\000\374\000s\000s\000e\000l\000n) +/Action/GoTo/Dest(subsection.3.30.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000c\000h\000l\000\374\000s\000s\000e\000l\000v\000e\000r\000w\000a\000l\000t\000u\000n\000g) +/Action/GoTo/Dest(subsection.3.30.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000z\000e\000i\000g\000e\000n) +/Action/GoTo/Dest(subsection.3.30.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000x\000p\000o\000r\000t\000i\000e\000r\000e\000n) +/Action/GoTo/Dest(subsection.3.30.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000X\0001\0001\000\040\000-\000\040\000G\000r\000a\000f\000i\000k) +/Count -2 +/Action/GoTo/Dest(section.3.31)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000i\000l\000d\000s\000c\000h\000i\000r\000m\000s\000c\000h\000o\000n\000e\000r) +/Action/GoTo/Dest(subsection.3.31.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000X\0001\0001\000\040\000o\000h\000n\000e\000\040\000M\000a\000u\000s) +/Action/GoTo/Dest(subsection.3.31.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s\000s\000e\000\040\000u\000n\000d\000\040\000D\000a\000t\000e\000i\000e\000n) +/Count -8 +/Action/GoTo/Dest(chapter.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000i\000b\000a\000u\000m) +/Action/GoTo/Dest(section.4.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000/\000e\000t\000c\000/\000f\000s\000t\000a\000b) +/Action/GoTo/Dest(section.4.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000/\000d\000e\000v\000/) +/Action/GoTo/Dest(section.4.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000i\000s\000y\000s\000t\000e\000m\000t\000y\000p\000e\000n\000\040\000u\000n\000t\000e\000r\000\040\000L\000i\000n\000u\000x) +/Action/GoTo/Dest(section.4.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000/\000e\000t\000c\000/\000g\000r\000o\000u\000p) +/Action/GoTo/Dest(section.4.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000/\000e\000t\000c\000/\000h\000o\000s\000t\000s) +/Action/GoTo/Dest(section.4.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000/\000e\000t\000c\000/\000i\000n\000i\000t\000t\000a\000b) +/Count -7 +/Action/GoTo/Dest(section.4.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000e\000r\000m\000i\000n\000a\000l) +/Action/GoTo/Dest(subsection.4.7.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000e\000r\000m\000c\000a\000p\000e\000i\000n\000t\000r\000a\000g) +/Action/GoTo/Dest(subsection.4.7.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000e\000t\000t\000y\000k\000o\000m\000m\000a\000n\000d\000o) +/Action/GoTo/Dest(subsection.4.7.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000\374\000r\000z\000e\000l) +/Action/GoTo/Dest(subsection.4.7.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000b\000e\000i\000t\000s\000s\000t\000u\000f\000e\000n) +/Action/GoTo/Dest(subsection.4.7.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000o\000d\000u\000s) +/Action/GoTo/Dest(subsection.4.7.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000m\000m\000a\000n\000d\000o) +/Action/GoTo/Dest(subsection.4.7.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000/\000e\000t\000c\000/\000p\000a\000s\000s\000w\000d) +/Action/GoTo/Dest(section.4.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000S\000h\000e\000l\000l\000s) +/Count -5 +/Action/GoTo/Dest(chapter.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000S\000h\000e\000l\000l\000s) +/Action/GoTo/Dest(section.5.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000S\000t\000a\000r\000t\000-\000S\000c\000r\000i\000p\000t\000s) +/Action/GoTo/Dest(section.5.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000a\000s\000t\000e\000n\000k\000o\000m\000b\000i\000n\000a\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(section.5.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000C\000-\000S\000h\000e\000l\000l) +/Action/GoTo/Dest(section.5.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000a\000s\000h\000\040\000r\000e\000c\000h\000n\000e\000n) +/Action/GoTo/Dest(section.5.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000r\000o\000g\000r\000a\000m\000m\000e) +/Count -2 +/Action/GoTo/Dest(part.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000e\000r\000\040\000T\000e\000x\000t\000e\000d\000i\000t\000o\000r\000\040\000v\000i\000/\000v\000i\000m) +/Count -4 +/Action/GoTo/Dest(chapter.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000f\000r\000u\000f) +/Action/GoTo/Dest(section.6.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000g\000a\000b\000e\000m\000o\000d\000u\000s\000\040\000\050\000i\000n\000p\000u\000t\000\040\000m\000o\000d\000e\000\051) +/Action/GoTo/Dest(section.6.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000f\000e\000h\000l\000s\000m\000o\000d\000u\000s\000\040\000\050\000v\000i\000s\000u\000a\000l\000\040\000m\000o\000d\000e\000\051) +/Count -14 +/Action/GoTo/Dest(section.6.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000g\000e\000b\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000\334\000b\000e\000r\000s\000c\000h\000r\000e\000i\000b\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000w\000e\000g\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000\366\000s\000c\000h\000e\000n\000\040\000u\000n\000d\000\040\000E\000i\000n\000g\000e\000b\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000\366\000s\000c\000h\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000f\000h\000e\000b\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000e\000r\000s\000c\000h\000i\000e\000b\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000Z\000u\000s\000a\000m\000m\000e\000n\000f\000\374\000g\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000a\000r\000k\000i\000e\000r\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000p\000i\000e\000r\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000f\000\374\000g\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.11)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000u\000c\000h\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.12)cvn +/OUT pdfmark +[ +/Title(\376\377\000W\000i\000e\000d\000e\000r\000h\000o\000l\000e\000n\000:) +/Action/GoTo/Dest(subsection.6.3.13)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000o\000n\000s\000t\000i\000g\000e\000\040\000K\000o\000m\000m\000a\000n\000d\000o\000s\000:) +/Action/GoTo/Dest(subsection.6.3.14)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000m\000m\000a\000n\000d\000o\000m\000o\000d\000u\000s\000\040\000\050\000c\000o\000l\000o\000n\000\040\000m\000o\000d\000e\000\051) +/Count -1 +/Action/GoTo/Dest(section.6.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000e\000x\000t\000e\000i\000n\000g\000a\000b\000e\000\040\000K\000o\000m\000m\000a\000n\000d\000o\000s) +/Action/GoTo/Dest(subsection.6.4.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000a\000T\000e\000X) +/Count -1 +/Action/GoTo/Dest(chapter.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000a\000T\000e\000X) +/Action/GoTo/Dest(section.7.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000i\000n\000u\000x\000\040\000i\000m\000\040\000N\000e\000t\000z\000w\000e\000r\000k) +/Count -5 +/Action/GoTo/Dest(part.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000N\000e\000t\000z\000w\000e\000r\000k) +/Action/GoTo/Dest(chapter.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000p\000a\000c\000h\000e) +/Count -6 +/Action/GoTo/Dest(chapter.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000l\000e\000i\000t\000u\000n\000g) +/Action/GoTo/Dest(section.9.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000m\000p\000i\000l\000i\000e\000r\000e\000n\000\040\000u\000n\000d\000\040\000I\000n\000s\000t\000a\000l\000l\000i\000e\000r\000e\000n) +/Count -8 +/Action/GoTo/Dest(section.9.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000f\000o\000r\000d\000e\000r\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.9.2.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000o\000r\000b\000e\000r\000e\000i\000t\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.9.2.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000O\000p\000e\000n\000S\000S\000L) +/Action/GoTo/Dest(subsection.9.2.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000p\000a\000c\000h\000e\000\040\0001\000.\0003\000\040\000u\000n\000d\000\040\000S\000S\000L) +/Action/GoTo/Dest(subsection.9.2.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000p\000a\000c\000h\000e\0002) +/Action/GoTo/Dest(subsection.9.2.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000e\000s\000t\000e\000n) +/Action/GoTo/Dest(subsection.9.2.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000U\000p\000g\000r\000a\000d\000e) +/Action/GoTo/Dest(subsection.9.2.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000u\000r\000e\000F\000T\000P\000d) +/Action/GoTo/Dest(subsection.9.2.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000p\000a\000c\000h\000e\000\040\000s\000t\000a\000r\000t\000e\000n) +/Count -5 +/Action/GoTo/Dest(section.9.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000p\000a\000c\000h\000e\000\040\000s\000t\000a\000r\000t\000e\000n) +/Action/GoTo/Dest(subsection.9.3.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000W\000i\000e\000\040\000d\000e\000r\000\040\000A\000p\000a\000c\000h\000e\000\040\000s\000t\000a\000r\000t\000e\000t) +/Action/GoTo/Dest(subsection.9.3.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000F\000e\000h\000l\000e\000r\000\040\000w\000\344\000h\000r\000e\000n\000d\000\040\000d\000e\000s\000\040\000H\000o\000c\000h\000f\000a\000h\000r\000e\000n\000s) +/Action/GoTo/Dest(subsection.9.3.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000t\000o\000m\000a\000t\000i\000s\000c\000h\000\040\000s\000t\000a\000r\000t\000e\000n\000\040\000u\000n\000d\000\040\000b\000e\000e\000n\000d\000e\000n) +/Action/GoTo/Dest(subsection.9.3.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000W\000e\000i\000t\000e\000r\000e\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(subsection.9.3.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000e\000n\000d\000e\000n\000\040\000u\000n\000d\000\040\000N\000e\000u\000s\000t\000a\000r\000t\000e\000n) +/Count -5 +/Action/GoTo/Dest(section.9.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000l\000e\000i\000t\000u\000n\000g) +/Action/GoTo/Dest(subsection.9.4.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000e\000n\000d\000e\000n) +/Action/GoTo/Dest(subsection.9.4.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000U\000n\000t\000e\000r\000b\000r\000e\000c\000h\000u\000n\000g\000s\000f\000r\000e\000i\000e\000r\000\040\000N\000e\000u\000s\000t\000a\000r\000t) +/Action/GoTo/Dest(subsection.9.4.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000N\000e\000u\000s\000t\000a\000r\000t\000e\000n) +/Action/GoTo/Dest(subsection.9.4.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000h\000a\000n\000g\000:\000\040\000S\000y\000n\000t\000a\000x\000\040\000\374\000b\000e\000r\000p\000r\000\374\000f\000e\000n) +/Action/GoTo/Dest(subsection.9.4.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000h\000a\000n\000g) +/Count -1 +/Action/GoTo/Dest(section.9.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000Z\000u\000\040\000d\000e\000n\000\040\000D\000a\000t\000e\000i\000e\000n) +/Action/GoTo/Dest(subsection.9.5.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000n\000u\000t\000z\000e\000r\000h\000a\000n\000d\000b\000u\000c\000h) +/Count -6 +/Action/GoTo/Dest(section.9.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000h\000t\000t\000p\000d\000.\000c\000o\000n\000f) +/Action/GoTo/Dest(subsection.9.6.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000c\000c\000e\000s\000s\000\040\000C\000o\000n\000t\000r\000o\000l\000\040\000L\000i\000s\000t\000\040\000F\000i\000l\000e\000\040\000\050\000.\000h\000t\000a\000c\000c\000e\000s\000s\000\051) +/Action/GoTo/Dest(subsection.9.6.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000r\000u\000p\000p\000e\000n\000d\000a\000t\000e\000i\000\040\000\050\000.\000h\000t\000g\000r\000o\000u\000p\000\051) +/Action/GoTo/Dest(subsection.9.6.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000a\000s\000s\000w\000o\000r\000t\000-\000D\000a\000t\000e\000i\000\040\000\050\000.\000h\000t\000p\000a\000s\000s\000w\000d\000\051) +/Action/GoTo/Dest(subsection.9.6.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000r\000s\000t\000e\000l\000l\000e\000n\000\040\000e\000i\000n\000e\000s\000\040\000S\000S\000L\000-\000Z\000e\000r\000t\000i\000f\000i\000k\000a\000t\000s) +/Action/GoTo/Dest(subsection.9.6.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000i\000n\000k\000I\000c\000o\000n\000\040\000\050\000f\000a\000v\000i\000c\000o\000n\000.\000i\000c\000o\000\051) +/Action/GoTo/Dest(subsection.9.6.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000y\000S\000Q\000L) +/Count -2 +/Action/GoTo/Dest(chapter.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000l\000e\000i\000t\000u\000n\000g) +/Action/GoTo/Dest(section.10.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000m\000p\000i\000l\000i\000e\000r\000e\000n\000\040\000u\000n\000d\000\040\000I\000n\000s\000t\000a\000l\000l\000i\000e\000r\000e\000n) +/Count -5 +/Action/GoTo/Dest(section.10.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000f\000o\000r\000d\000e\000r\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.10.2.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000o\000r\000b\000e\000r\000e\000i\000t\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.10.2.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000y\000S\000Q\000L) +/Action/GoTo/Dest(subsection.10.2.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000y\000S\000Q\000L\000\040\000T\000e\000s\000t\000e\000n) +/Action/GoTo/Dest(subsection.10.2.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000p\000h\000p\000M\000y\000A\000d\000m\000i\000n) +/Action/GoTo/Dest(subsection.10.2.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000H\000P) +/Count -3 +/Action/GoTo/Dest(chapter.11)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000l\000e\000i\000t\000u\000n\000g) +/Action/GoTo/Dest(section.11.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000m\000p\000i\000l\000i\000e\000r\000e\000n\000\040\000u\000n\000d\000\040\000I\000n\000s\000t\000a\000l\000l\000i\000e\000r\000e\000n) +/Count -4 +/Action/GoTo/Dest(section.11.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000f\000o\000r\000d\000e\000r\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.11.2.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000o\000r\000b\000e\000r\000e\000i\000t\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.11.2.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000i\000b\000r\000a\000r\000i\000e\000s\000\040\000f\000\374\000r\000\040\000Z\000u\000s\000a\000t\000z\000f\000u\000n\000k\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(subsection.11.2.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000H\000P) +/Action/GoTo/Dest(subsection.11.2.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000R\000e\000f\000e\000r\000e\000n\000z) +/Count -2 +/Action/GoTo/Dest(section.11.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000r\000u\000n\000d\000l\000a\000g\000e\000n) +/Action/GoTo/Dest(subsection.11.3.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000F\000u\000n\000k\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(subsection.11.3.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000q\000u\000i\000d) +/Count -11 +/Action/GoTo/Dest(chapter.12)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000r\000o\000x\000y) +/Action/GoTo/Dest(section.12.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000f\000a\000c\000h\000e\000r\000\040\000C\000a\000c\000h\000e) +/Action/GoTo/Dest(section.12.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000r\000o\000x\000y\000\040\000C\000a\000c\000h\000e) +/Action/GoTo/Dest(section.12.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000f\000g\000a\000b\000e\000n) +/Action/GoTo/Dest(section.12.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000g\000e\000n\000s\000c\000h\000a\000f\000t\000e\000n) +/Action/GoTo/Dest(section.12.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000r\000o\000t\000o\000k\000o\000l\000l\000e) +/Count -2 +/Action/GoTo/Dest(section.12.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000C\000l\000i\000e\000n\000t\000-\000K\000o\000m\000m\000u\000n\000i\000k\000a\000t\000i\000o\000n) +/Action/GoTo/Dest(subsection.12.6.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000m\000m\000u\000n\000i\000k\000a\000t\000i\000o\000n\000\040\000z\000w\000i\000s\000c\000h\000e\000n\000\040\000P\000r\000o\000x\000y\000-\000C\000a\000c\000h\000e\000-\000S\000e\000r\000v\000e\000r\000n) +/Action/GoTo/Dest(subsection.12.6.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000y\000s\000t\000e\000m\000v\000o\000r\000a\000u\000s\000s\000e\000t\000z\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(section.12.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000u\000S\000E\000\040\000L\000i\000n\000u\000x) +/Action/GoTo/Dest(section.12.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000t\000o\000m\000a\000t\000i\000s\000c\000h\000e\000\040\000S\000t\000a\000r\000t\000e\000n\000\040\000v\000o\000n\000\040\000S\000q\000u\000i\000t) +/Action/GoTo/Dest(section.12.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000q\000u\000i\000d\000d\000a\000t\000e\000i\000e\000n) +/Action/GoTo/Dest(section.12.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000s\000q\000u\000i\000d\000.\000c\000o\000n\000f) +/Action/GoTo/Dest(section.12.11)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000r\000o\000g\000r\000a\000m\000m\000i\000e\000r\000e\000n) +/Count -8 +/Action/GoTo/Dest(part.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000a\000s\000h) +/Count -3 +/Action/GoTo/Dest(chapter.13)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000l\000e\000i\000t\000u\000n\000g) +/Action/GoTo/Dest(section.13.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000R\000e\000f\000e\000r\000e\000n\000z) +/Action/GoTo/Dest(section.13.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000t\000e\000u\000e\000r\000\040\000u\000n\000d\000\040\000S\000o\000n\000d\000e\000r\000z\000e\000i\000c\000h\000e\000n\000\040\000d\000e\000r\000\040\000B\000a\000s\000h) +/Action/GoTo/Dest(section.13.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000g\000i\000t) +/Count -18 +/Action/GoTo/Dest(chapter.14)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000o\000k\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +/Action/GoTo/Dest(section.14.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n) +/Action/GoTo/Dest(section.14.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n\000e\000n\000\040\000\374\000b\000e\000r\000\040\000U\000m\000g\000e\000b\000u\000n\000g\000s\000v\000a\000r\000i\000a\000b\000l\000e\000n) +/Action/GoTo/Dest(section.14.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000e\000r\000\040\000I\000n\000d\000e\000x) +/Action/GoTo/Dest(section.14.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000R\000e\000p\000o\000s\000i\000t\000o\000r\000y) +/Action/GoTo/Dest(section.14.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000C\000o\000m\000m\000i\000t) +/Action/GoTo/Dest(section.14.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000i\000e\000n\000\040\000e\000n\000t\000f\000e\000r\000n\000e\000n) +/Action/GoTo/Dest(section.14.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000i\000e\000n\000\040\000v\000e\000r\000s\000c\000h\000i\000e\000b\000e\000n) +/Action/GoTo/Dest(section.14.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000\304\000n\000d\000e\000r\000u\000n\000g\000\040\000a\000n\000\040\000e\000i\000n\000e\000r\000\040\000D\000a\000t\000e\000i\000\040\000r\000\374\000c\000k\000g\000\344\000n\000g\000i\000g\000\040\000m\000a\000c\000h\000e\000n) +/Action/GoTo/Dest(section.14.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000i\000e\000n\000\040\000i\000g\000n\000o\000r\000i\000e\000r\000e\000n) +/Action/GoTo/Dest(section.14.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000i\000t\000\040\000e\000x\000t\000e\000r\000n\000e\000n\000\040\000R\000e\000p\000o\000s\000i\000t\000o\000r\000y\000s\000\040\000a\000r\000b\000e\000i\000t\000e\000n) +/Action/GoTo/Dest(section.14.11)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000a\000g\000s) +/Action/GoTo/Dest(section.14.12)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000r\000a\000n\000c\000h) +/Action/GoTo/Dest(section.14.13)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000i\000t\000\040\000A\000l\000i\000a\000s\000e) +/Action/GoTo/Dest(section.14.14)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000i\000t\000\040\000a\000u\000f\000\040\000e\000i\000n\000e\000n\000\040\000S\000e\000r\000v\000e\000r\000\040\000b\000e\000k\000o\000m\000m\000e\000n) +/Action/GoTo/Dest(section.14.15)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000i\000t\000\040\000a\000u\000f\000\040\000d\000e\000m\000\040\000S\000S\000H\000-\000S\000e\000r\000v\000e\000r\000\040\000e\000i\000n\000r\000i\000c\000h\000t\000e\000n) +/Action/GoTo/Dest(section.14.16)cvn +/OUT pdfmark +[ +/Title(\376\377\000\326\000f\000f\000e\000n\000t\000l\000i\000c\000h\000e\000r\000\040\000W\000e\000b\000s\000e\000r\000v\000e\000r\000-\000Z\000u\000g\000a\000n\000g) +/Action/GoTo/Dest(section.14.17)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000r\000u\000n\000d\000b\000e\000g\000r\000i\000f\000f\000e) +/Action/GoTo/Dest(section.14.18)cvn +/OUT pdfmark +[ +/Title(\376\377\000C\000/\000C\000+\000+) +/Count -12 +/Action/GoTo/Dest(chapter.15)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000f\000e\000h\000l\000e\000\040\000u\000n\000d\000\040\000G\000r\000u\000n\000d\000e\000l\000e\000m\000e\000n\000t\000e) +/Action/GoTo/Dest(section.15.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000t\000e\000u\000e\000r\000s\000e\000q\000u\000e\000n\000z\000e\000n\000\040\000f\000\374\000r\000\040\000A\000N\000S\000I\000-\000B\000i\000l\000d\000s\000c\000h\000i\000r\000m\000e\000\040\000-\000\040\000I\000n\000n\000e\000r\000h\000a\000l\000b\000\040\000v\000o\000n\000\040\000T\000e\000x\000t\000e\000n) +/Action/GoTo/Dest(section.15.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000s\000t\000d\000i\000o\000.\000h\000\040\000-\000>\000\040\000S\000t\000a\000n\000d\000a\000r\000d\000\040\000E\000i\000n\000-\000\040\000u\000n\000d\000\040\000A\000u\000s\000g\000a\000b\000e) +/Action/GoTo/Dest(section.15.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000c\000t\000y\000p\000e\000.\000h) +/Action/GoTo/Dest(section.15.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000s\000t\000r\000i\000n\000g\000.\000h) +/Action/GoTo/Dest(section.15.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000n\000t\000r\000o\000l\000l\000s\000t\000r\000u\000k\000t\000u\000r\000e\000n) +/Action/GoTo/Dest(section.15.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000S\000C\000I\000I\000\050\000A\000m\000e\000r\000i\000c\000a\000n\000\040\000S\000t\000a\000n\000d\000a\000r\000t\000\040\000C\000o\000d\000e\000\040\000f\000o\000r\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n\000\040\000I\000n\000t\000e\000r\000c\000h\000a\000n\000g\000e\000\051\000-\000T\000a\000b\000e\000l\000l\000e) +/Count -2 +/Action/GoTo/Dest(section.15.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000U\000n\000t\000e\000r\000t\000e\000i\000l\000u\000n\000g\000\040\000d\000e\000r\000\040\000S\000t\000e\000u\000e\000r\000z\000e\000i\000c\000h\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.7.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000d\000e\000u\000t\000u\000n\000g\000\040\000d\000e\000r\000\040\000S\000t\000e\000u\000e\000r\000z\000e\000i\000c\000h\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.7.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000O\000p\000e\000r\000a\000t\000o\000r\000e\000n\000\040\000u\000n\000d\000\040\000A\000u\000s\000d\000r\000\374\000c\000k\000e) +/Count -7 +/Action/GoTo/Dest(section.15.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000i\000t\000h\000m\000e\000t\000i\000s\000c\000h\000e\000\040\000O\000p\000e\000r\000a\000t\000o\000r\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.8.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000e\000r\000g\000l\000e\000i\000c\000h\000s\000o\000p\000e\000r\000a\000t\000o\000r\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.8.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000L\000o\000g\000i\000s\000c\000h\000e\000\040\000O\000p\000e\000r\000a\000t\000o\000r\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.8.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000Z\000u\000w\000e\000i\000s\000u\000n\000g\000s\000o\000p\000e\000r\000a\000t\000o\000r\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.8.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000o\000s\000t\000-\000\040\000u\000n\000d\000\040\000P\000r\000e\000f\000i\000x\000-\000\040\000O\000p\000e\000r\000a\000t\000o\000r\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.8.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000Z\000e\000i\000g\000e\000r\000o\000p\000e\000r\000a\000t\000o\000r\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.8.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000v\000e\000r\000s\000e\000\040\000K\000a\000t\000e\000g\000o\000r\000i\000e\000n\000:) +/Action/GoTo/Dest(subsection.15.8.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000I\000n\000k\000r\000e\000m\000e\000n\000t\000i\000e\000r\000e\000n\000\040\000u\000n\000d\000\040\000D\000e\000k\000r\000e\000m\000e\000n\000t\000i\000e\000r\000e\000n) +/Action/GoTo/Dest(section.15.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000W\000e\000r\000t\000e\000b\000e\000r\000e\000i\000c\000h\000\040\000u\000n\000d\000\040\000G\000e\000n\000a\000u\000i\000g\000k\000e\000i\000t\000\040\000e\000l\000e\000m\000e\000n\000t\000a\000r\000e\000r\000\040\000D\000a\000t\000e\000n\000t\000y\000p\000e\000n) +/Action/GoTo/Dest(section.15.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000n\000i\000n\000i\000t\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g) +/Action/GoTo/Dest(section.15.11)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000n\000s\000t\000a\000n\000t\000e\000n) +/Count -3 +/Action/GoTo/Dest(section.15.12)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000a\000n\000z\000z\000a\000h\000l\000k\000o\000n\000s\000t\000a\000n\000t\000e\000n) +/Action/GoTo/Dest(subsection.15.12.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000l\000e\000i\000t\000k\000o\000m\000m\000a\000k\000o\000n\000s\000t\000a\000n\000t\000e\000n) +/Action/GoTo/Dest(subsection.15.12.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000Z\000e\000i\000c\000h\000e\000n\000-\000\040\000u\000n\000d\000\040\000Z\000e\000i\000c\000h\000e\000n\000k\000e\000t\000t\000e\000n\000k\000o\000n\000s\000t\000a\000n\000t\000e\000n) +/Action/GoTo/Dest(subsection.15.12.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000c\000l\000/\000T\000k) +/Action/GoTo/Dest(chapter.16)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000e\000r\000l) +/Action/GoTo/Dest(chapter.17)cvn +/OUT pdfmark +[ +/Title(\376\377\000C\000G\000I\000+\000P\000e\000r\000l) +/Count -3 +/Action/GoTo/Dest(chapter.18)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000l\000e\000i\000t\000u\000n\000g) +/Action/GoTo/Dest(section.18.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000e\000r\000l) +/Count -7 +/Action/GoTo/Dest(section.18.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000T\000e\000x\000t\000e\000\040\000u\000n\000d\000\040\000S\000t\000r\000i\000n\000g\000s) +/Action/GoTo/Dest(subsection.18.2.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000R\000e\000c\000h\000e\000n\000o\000p\000e\000r\000a\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(subsection.18.2.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000r\000a\000y\000s\000\040\000\050\000L\000i\000s\000t\000e\000n\000\051) +/Action/GoTo/Dest(subsection.18.2.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000t\000r\000i\000n\000g\000-\000\040\000u\000n\000d\000\040\000Z\000a\000h\000l\000e\000n\000v\000e\000r\000g\000l\000e\000i\000c\000h\000s\000o\000p\000e\000r\000r\000a\000t\000o\000r\000e\000n) +/Action/GoTo/Dest(subsection.18.2.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000i\000f\000-\000B\000e\000d\000i\000n\000g\000u\000n\000g) +/Action/GoTo/Dest(subsection.18.2.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000i\000f\000-\000e\000l\000s\000e\000-\000B\000e\000d\000i\000n\000g\000u\000n\000g) +/Action/GoTo/Dest(subsection.18.2.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000i\000f\000-\000e\000l\000s\000e\000i\000f\000-\000B\000e\000d\000i\000n\000g\000u\000n\000g) +/Action/GoTo/Dest(subsection.18.2.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000F\000u\000n\000k\000t\000i\000o\000n\000e\000n) +/Count -3 +/Action/GoTo/Dest(section.18.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000t\000r\000i\000n\000g\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(subsection.18.3.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000R\000e\000c\000h\000e\000n\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(subsection.18.3.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000r\000a\000y\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(subsection.18.3.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000J\000a\000v\000a) +/Count -18 +/Action/GoTo/Dest(chapter.19)cvn +/OUT pdfmark +[ +/Title(\376\377\000F\000u\000n\000k\000t\000i\000o\000n\000\040\000v\000o\000n\000\040\000J\000a\000v\000a) +/Action/GoTo/Dest(section.19.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000p\000r\000a\000c\000h\000e\000\040\000u\000n\000d\000\040\000S\000y\000n\000t\000a\000x\000\040\000v\000o\000n\000\040\000J\000a\000v\000a) +/Count -3 +/Action/GoTo/Dest(section.19.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000m\000m\000e\000n\000t\000r\000a\000r\000e) +/Action/GoTo/Dest(subsection.19.2.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000t\000e\000n\000t\000y\000p\000e\000n) +/Action/GoTo/Dest(subsection.19.2.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000n) +/Action/GoTo/Dest(subsection.19.2.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000a\000k\000e\000t\000e\000\040\000u\000n\000d\000\040\000V\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s\000s\000t\000r\000u\000k\000t\000u\000r\000e\000n) +/Count -7 +/Action/GoTo/Dest(section.19.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000i\000c\000h\000t\000b\000a\000r\000k\000e\000i\000t\000\040\000u\000n\000d\000\040\000Z\000u\000g\000r\000i\000f\000f\000s\000r\000e\000c\000h\000t\000e\000\040\000v\000o\000n\000\040\000K\000l\000a\000s\000s\000e\000n\000\040\000u\000n\000d\000\040\000M\000e\000t\000h\000o\000d\000e\000n) +/Action/GoTo/Dest(subsection.19.3.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000l\000a\000s\000s\000e\000n) +/Action/GoTo/Dest(subsection.19.3.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000n\000s\000t\000r\000u\000k\000t\000o\000r\000e\000n\000\040\000u\000n\000d\000\040\000D\000e\000s\000t\000r\000u\000k\000t\000o\000r\000e\000n) +/Action/GoTo/Dest(subsection.19.3.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000e\000t\000h\000o\000d\000e\000n\000\040\000\374\000b\000e\000r\000l\000a\000d\000e\000n) +/Action/GoTo/Dest(subsection.19.3.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000O\000b\000j\000e\000k\000t\000e) +/Action/GoTo/Dest(subsection.19.3.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000e\000r\000e\000r\000b\000u\000n\000g) +/Action/GoTo/Dest(subsection.19.3.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000c\000h\000n\000i\000t\000t\000s\000t\000e\000l\000l\000e\000n) +/Action/GoTo/Dest(subsection.19.3.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000l\000e\000m\000e\000n\000t\000a\000r\000e\000\040\000S\000y\000n\000t\000a\000x\000\040\000v\000o\000n\000\040\000J\000a\000v\000a) +/Count -9 +/Action/GoTo/Dest(section.19.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000O\000p\000e\000r\000r\000a\000t\000o\000r\000e\000n) +/Action/GoTo/Dest(subsection.19.4.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000e\000r\000k\000n\000\374\000p\000f\000u\000n\000g\000s\000o\000p\000e\000r\000a\000t\000o\000r\000e\000n) +/Action/GoTo/Dest(subsection.19.4.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000I\000n\000k\000r\000e\000m\000e\000n\000t\000-\000O\000p\000e\000r\000a\000t\000o\000r) +/Action/GoTo/Dest(subsection.19.4.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000e\000k\000r\000e\000m\000e\000n\000t\000-\000O\000p\000e\000r\000a\000t\000o\000r) +/Action/GoTo/Dest(subsection.19.4.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000i\000t\000h\000m\000e\000t\000i\000s\000c\000h\000e\000\040\000Z\000u\000w\000e\000i\000s\000u\000n\000g\000s\000o\000p\000e\000r\000a\000t\000o\000r\000e\000n) +/Action/GoTo/Dest(subsection.19.4.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000d\000i\000n\000g\000u\000n\000g\000e\000n\000\040\000u\000n\000d\000\040\000E\000n\000t\000s\000c\000h\000e\000i\000d\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.19.4.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000i\000f\000\040\000-\000\040\000e\000l\000s\000e\000\040\000-\000\040\000B\000e\000d\000i\000n\000g\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.19.4.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000e\000r\000s\000c\000h\000a\000c\000h\000t\000e\000l\000t\000e\000\040\000B\000e\000d\000i\000n\000g\000u\000n\000g\000e\000n) +/Action/GoTo/Dest(subsection.19.4.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000F\000a\000l\000l\000u\000n\000t\000e\000r\000s\000c\000h\000e\000i\000d\000u\000n\000g\000\040\000m\000i\000t\000\040\000s\000w\000i\000t\000c\000h\000\040\000-\000\040\000c\000a\000s\000e) +/Action/GoTo/Dest(subsection.19.4.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000c\000h\000l\000e\000i\000f\000e\000n) +/Count -5 +/Action/GoTo/Dest(section.19.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000w\000h\000i\000l\000e\000\040\000-\000\040\000S\000c\000h\000l\000e\000i\000f\000e) +/Action/GoTo/Dest(subsection.19.5.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000d\000o\000\040\000-\000\040\000w\000h\000i\000l\000e\000\040\000-\000\040\000S\000c\000h\000l\000e\000i\000f\000e) +/Action/GoTo/Dest(subsection.19.5.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000f\000o\000r\000\040\000-\000\040\000S\000c\000h\000l\000e\000i\000f\000e) +/Action/GoTo/Dest(subsection.19.5.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000c\000h\000l\000e\000i\000f\000e\000n\000\040\000m\000i\000t\000\040\000b\000r\000e\000a\000k\000\040\000v\000e\000r\000l\000a\000s\000s\000e\000n) +/Action/GoTo/Dest(subsection.19.5.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000c\000h\000l\000e\000i\000f\000e\000\040\000m\000i\000t\000\040\000c\000o\000n\000t\000i\000n\000u\000e\000\040\000w\000i\000e\000d\000e\000r\000h\000o\000l\000e\000n) +/Action/GoTo/Dest(subsection.19.5.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000K\000o\000m\000p\000l\000e\000x\000e\000\040\000D\000a\000t\000e\000n\000t\000y\000p\000e\000n) +/Count -1 +/Action/GoTo/Dest(section.19.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000r\000a\000y\000s) +/Action/GoTo/Dest(subsection.19.6.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000A\000n\000w\000e\000i\000s\000u\000n\000g\000\040\000i\000m\000p\000o\000r\000t) +/Action/GoTo/Dest(section.19.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000J\000a\000v\000a\000\040\000e\000i\000g\000e\000n\000e\000\040\000K\000l\000a\000s\000s\000e\000n) +/Count -1 +/Action/GoTo/Dest(section.19.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000M\000a\000t\000h) +/Action/GoTo/Dest(subsection.19.8.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000O\000b\000j\000e\000c\000t) +/Count -1 +/Action/GoTo/Dest(section.19.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000O\000b\000j\000e\000c\000t) +/Action/GoTo/Dest(subsection.19.9.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000R\000u\000n\000t\000i\000m\000e) +/Action/GoTo/Dest(section.19.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000S\000t\000r\000i\000n\000g) +/Action/GoTo/Dest(section.19.11)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000S\000t\000r\000i\000n\000g\000b\000u\000f\000f\000e\000r) +/Count -1 +/Action/GoTo/Dest(section.19.12)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000S\000t\000r\000i\000n\000g\000b\000u\000f\000f\000e\000r) +/Action/GoTo/Dest(subsection.19.12.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000S\000y\000s\000t\000e\000m) +/Action/GoTo/Dest(section.19.13)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000s\000\040\000P\000a\000k\000e\000t\000\040\000j\000a\000v\000a\000.\000u\000t\000i\000l) +/Count -3 +/Action/GoTo/Dest(section.19.14)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000D\000a\000t\000e) +/Action/GoTo/Dest(subsection.19.14.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000R\000a\000n\000d\000o\000m) +/Action/GoTo/Dest(subsection.19.14.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000S\000t\000a\000c\000k) +/Action/GoTo/Dest(subsection.19.14.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000s\000n\000a\000h\000m\000e\000n\000\040\000\050\000E\000x\000c\000e\000p\000t\000i\000o\000n\000s\000\051) +/Count -1 +/Action/GoTo/Dest(section.19.15)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000g\000e\000n\000e\000\040\000A\000u\000s\000n\000a\000h\000m\000e\000\040\000e\000r\000z\000e\000u\000g\000e\000n\000\040\000\050\000t\000h\000r\000o\000w\000\051) +/Action/GoTo/Dest(subsection.19.15.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000u\000l\000t\000i\000t\000a\000s\000k\000i\000n\000g\000\040\000m\000i\000t\000\040\000T\000h\000r\000e\000a\000d\000s) +/Count -1 +/Action/GoTo/Dest(section.19.16)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000b\000e\000i\000t\000e\000n\000\040\000m\000i\000t\000\040\000T\000h\000r\000e\000a\000d\000s) +/Action/GoTo/Dest(subsection.19.16.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000p\000p\000l\000e\000t\000s) +/Count -10 +/Action/GoTo/Dest(section.19.17)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000p\000p\000l\000e\000t\000s\000\040\000i\000n\000\040\000e\000i\000n\000e\000\040\000W\000e\000b\000s\000e\000i\000t\000e\000\040\000e\000i\000n\000b\000i\000n\000d\000e\000n) +/Action/GoTo/Dest(subsection.19.17.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000a\000s\000\040\000e\000r\000s\000t\000e\000\040\000J\000a\000v\000a\000\040\000A\000p\000p\000l\000e\000t) +/Action/GoTo/Dest(subsection.19.17.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000M\000e\000t\000h\000o\000d\000e\000n\000\040\000e\000i\000n\000e\000s\000\040\000A\000p\000p\000l\000e\000t\000s) +/Action/GoTo/Dest(subsection.19.17.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000\040\000A\000p\000p\000l\000e\000t\000\040\000i\000m\000\040\000\334\000b\000e\000r\000b\000l\000i\000c\000k) +/Action/GoTo/Dest(subsection.19.17.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000a\000k\000e\000t\000e) +/Action/GoTo/Dest(subsection.19.17.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000G\000r\000a\000p\000h\000i\000c\000s) +/Action/GoTo/Dest(subsection.19.17.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000C\000o\000l\000o\000r) +/Action/GoTo/Dest(subsection.19.17.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000F\000o\000n\000t) +/Action/GoTo/Dest(subsection.19.17.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000I\000m\000a\000g\000e) +/Action/GoTo/Dest(subsection.19.17.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000D\000i\000e\000\040\000K\000l\000a\000s\000s\000e\000\040\000B\000u\000t\000t\000o\000n) +/Action/GoTo/Dest(subsection.19.17.10)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000v\000e\000n\000t\000h\000a\000n\000d\000l\000i\000n\000g) +/Count -4 +/Action/GoTo/Dest(section.19.18)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000o\000u\000s\000e\000\040\000E\000v\000e\000n\000t\000s) +/Action/GoTo/Dest(subsection.19.18.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000c\000t\000i\000o\000n\000\040\000E\000v\000e\000n\000t\000s) +/Action/GoTo/Dest(subsection.19.18.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000a\000n\000\040\000e\000i\000n\000\040\000A\000p\000p\000l\000e\000t) +/Action/GoTo/Dest(subsection.19.18.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000W\000e\000i\000t\000e\000r\000e\000\040\000w\000i\000c\000h\000t\000i\000g\000e\000\040\000P\000a\000k\000e\000t\000e) +/Action/GoTo/Dest(subsection.19.18.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000J\000a\000v\000a\000S\000c\000r\000i\000p\000t) +/Count -9 +/Action/GoTo/Dest(chapter.20)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000b\000i\000n\000d\000u\000n\000g\000\040\000v\000o\000n\000\040\000J\000a\000v\000a\000S\000c\000r\000i\000p\000t) +/Count -3 +/Action/GoTo/Dest(section.20.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000b\000i\000n\000d\000u\000n\000g\000\040\000i\000n\000\040\000d\000e\000n\000\040\000H\000e\000a\000d) +/Action/GoTo/Dest(subsection.20.1.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000n\000b\000i\000n\000d\000u\000n\000g\000\040\000i\000n\000\040\000d\000e\000n\000\040\000B\000o\000d\000y) +/Action/GoTo/Dest(subsection.20.1.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000u\000s\000f\000\374\000h\000r\000e\000n\000\040\000b\000e\000i\000\040\000b\000e\000s\000t\000i\000m\000m\000t\000e\000n\000\040\000A\000k\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(subsection.20.1.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000n) +/Action/GoTo/Dest(section.20.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000O\000b\000j\000e\000k\000t\000e) +/Count -4 +/Action/GoTo/Dest(section.20.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000t\000a\000n\000d\000a\000r\000d\000o\000b\000j\000e\000k\000t\000e) +/Action/GoTo/Dest(subsection.20.3.1)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000t\000r\000i\000n\000g\000-\000O\000b\000j\000e\000k\000t) +/Action/GoTo/Dest(subsection.20.3.2)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000i\000g\000e\000n\000e\000\040\000O\000b\000j\000e\000k\000t\000e) +/Action/GoTo/Dest(subsection.20.3.3)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000r\000r\000a\000y\000s) +/Action/GoTo/Dest(subsection.20.3.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000M\000a\000t\000h\000e\000m\000a\000t\000i\000s\000c\000h\000e\000\040\000O\000p\000e\000r\000a\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(section.20.4)cvn +/OUT pdfmark +[ +/Title(\376\377\000B\000e\000d\000i\000n\000g\000t\000e\000\040\000A\000u\000s\000f\000\374\000h\000r\000u\000n\000g) +/Action/GoTo/Dest(section.20.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000c\000h\000l\000e\000i\000f\000e\000n) +/Action/GoTo/Dest(section.20.6)cvn +/OUT pdfmark +[ +/Title(\376\377\000E\000v\000e\000n\000t\000-\000H\000a\000n\000d\000l\000e\000r) +/Action/GoTo/Dest(section.20.7)cvn +/OUT pdfmark +[ +/Title(\376\377\000F\000u\000n\000k\000t\000i\000o\000n\000e\000n) +/Action/GoTo/Dest(section.20.8)cvn +/OUT pdfmark +[ +/Title(\376\377\000R\000e\000s\000e\000r\000v\000i\000e\000r\000t\000e\000\040\000W\000\366\000r\000t\000e\000r) +/Action/GoTo/Dest(section.20.9)cvn +/OUT pdfmark +[ +/Title(\376\377\000A\000n\000h\000a\000n\000g) +/Count -1 +/Action/GoTo/Dest(part.5)cvn +/OUT pdfmark +[ +/Title(\376\377\000G\000l\000o\000s\000s\000a\000r) +/Action/GoTo/Dest(chapter.21)cvn +/OUT pdfmark +[ +/Title(\376\377\000S\000t\000i\000c\000h\000w\000o\000r\000t\000v\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s) +/Action/GoTo/Dest(chapter*.34)cvn +/OUT pdfmark + +%%EndDocument + @endspecial eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/linux.tex b/linux.tex new file mode 100644 index 0000000..7f5dcdb --- /dev/null +++ b/linux.tex @@ -0,0 +1,51 @@ +% master: linux.tex +% linux.tex v0.30 +% 2022-05-09 (Rx) + +\NeedsTeXFormat{LaTeX2e} +\documentclass[10pt,a4paper,titlepage]{scrbook} % das Papierformat zuerst + +\RedeclareSectionCommand[% +tocnumwidth=3em,]{section} +\RedeclareSectionCommand[% +tocnumwidth=4em,]{subsection} + +\usepackage[T1]{fontenc} +%\usepackage{ucs} +\usepackage[utf8x]{inputenc} +\usepackage{imakeidx} % Stichwortverzeichnis +\makeindex[title=Stichwortverzeichnis,columns=3] % Stichwortverzeichis +\usepackage[german]{babel} +\usepackage{datetime} +\usepackage[pdfborderstyle={/S/U/W 1}]{hyperref} + +% Titelseite +%----------- +\title{linux v0.1.52} +\author{tresix69@freenet.de} +\newdateformat{myformat}{\THEDAY{. }\monthname[\THEMONTH] \THEYEAR} +\date{\myformat\today} +\publishers{betreut durch Thomas resiX} + +\begin{document} % Dokumentanfang + +% Verzeichnise +%------------- +\maketitle % Titelseite + +% Seiten +%------- +\input{vorwort/vorwort} +\setuptoc{toc}{totoc} +%\renewcommand{\contentsname}{Inhalt} +\tableofcontents % Inhaltsverzeichnis +\input{linux/linux} +\input{programme/programme} +\input{netzwerk/netzwerk} +\input{programmieren/programmieren} +\input{anhang/anhang} +\printindex % Stichwortverzeichnis +\addcontentsline{toc}{part}{Stichwortverzeichnis} + +\end{document} % Dokumentende + diff --git a/linux.txt b/linux.txt new file mode 100644 index 0000000..dea12ef --- /dev/null +++ b/linux.txt @@ -0,0 +1,4814 @@ + linux v0.1.52 + tresix69@freenet.de + 15. Februar 2025 + betreut durch Thomas resiX + 1. Vorwort + Habe versucht alles so kurz wie möglich aber dennoch ausführlich zu Beschreiben und + wie immer aus verschiedenen Anleitugen abgeschrieben ;-) + 3 + Inhaltsverzeichnis + 1. Vorwort 3 + Inhaltsverzeichnis 5 + I. Linux 15 + 2. Linux 17 + 2.1. Was ist Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 + 2.2. Kernel und Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 + 2.2.1. Kernel 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 + 2.2.2. Kernel 2.6 (Debian 4.0 etch) . . . . . . . . . . . . . . . . . . . 17 + 3. Befehle 19 + 3.1. Standartein-aus-gabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 + 3.2. Anmelden und Abmelden . . . . . . . . . . . . . . . . . . . . . . . . . 19 + 3.3. Anhalten des Systems und Booten . . . . . . . . . . . . . . . . . . . . 19 + 3.4. Die Runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 + 3.4.1. Upstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 + 3.5. SuSE-Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 + 3.6. Zur Orientierung auf einem UNIX-Rechner . . . . . . . . . . . . . . . . 20 + 3.7. Datum und Uhrzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 + 3.8. Auflisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 + 3.9. Dateinamen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 + 3.10. Dateiendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 + 3.11. Infos über Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 + 3.12. Arbeiten(Verwüstungen) im und am Filesystem . . . . . . . . . . . . . 23 + 3.13. Kopieren und Verschieben . . . . . . . . . . . . . . . . . . . . . . . . . 23 + 3.14. Löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 + 3.15. Ausgeben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 + 3.16. Der Texteditor vi/vim . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 + 3.17. Suchen nach Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 + 3.18. Suchen in Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 + 3.19. Vergleichen von Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . 25 + 3.20. Drucken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 + 3.21. File-Inhalt bearbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 + 3.22. TAR(tape archiver) verwaltet Dateiarchive . . . . . . . . . . . . . . . 25 + 3.22.1. Packen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 + 5 + Inhaltsverzeichnis + 3.22.2. Entpacken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 + 3.23. Disketten/Festplatten . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 + 3.23.1. Dateisystem verschlüsseln . . . . . . . . . . . . . . . . . . . . . 28 + 3.24. Zugriffsrechte/Eigentümer/Gruppe . . . . . . . . . . . . . . . . . . . . 28 + 3.25. Prozessbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 + 3.26. Re-install Grub with Live CD . . . . . . . . . . . . . . . . . . . . . . . 31 + 3.26.1. Chroot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + 3.26.2. Grub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + 3.27. Software installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + 3.27.1. rpm-Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + 3.27.2. deb-Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + 3.27.3. Portage Gentoo . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 + 3.27.4. Quelltexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 + 3.27.5. Hilfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 + 3.28. Im Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 + 3.29. SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 + 3.29.1. Generierung eines DSA Schlüsselpaares . . . . . . . . . . . . . 35 + 3.29.2. Public-Key auf dem Zielrechner hinzufügen . . . . . . . . . . . 35 + 3.29.3. Private-Key auf dem Qellrechner . . . . . . . . . . . . . . . . . 35 + 3.29.4. Login nur mit SSH-Keys erlauben . . . . . . . . . . . . . . . . 36 + 3.30. GnuPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 + 3.30.1. Erzeugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 + 3.30.2. Hochladen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 + 3.30.3. Löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 + 3.30.4. Holen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 + 3.30.5. Signatur erzeugen und prüfen . . . . . . . . . . . . . . . . . . . 37 + 3.30.6. Verschlüsseln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 + 3.30.7. Entschlüsseln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 + 3.30.8. Schlüsselverwaltung . . . . . . . . . . . . . . . . . . . . . . . . 38 + 3.30.9. Anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 + 3.30.10. Exportieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 + 3.31. X11 - Grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 + 3.31.1. Bildschirmschoner . . . . . . . . . . . . . . . . . . . . . . . . . 39 + 3.31.2. X11 ohne Maus . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 + 4. Verzeichnisse und Dateien 41 + 4.1. Dateibaum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 + 4.2. /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 + 4.3. /dev/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 + 4.4. Dateisystemtypen unter Linux . . . . . . . . . . . . . . . . . . . . . . . 49 + 4.5. /etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 + 4.6. /etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 + 4.7. /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 + 4.7.1. Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 + 4.7.2. Termcapeintrag . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 + 6 + Inhaltsverzeichnis + 4.7.3. Gettykommando . . . . . . . . . . . . . . . . . . . . . . . . . . 51 + 4.7.4. Kürzel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 + 4.7.5. Arbeitsstufen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 + 4.7.6. Modus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 + 4.7.7. Kommando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 + 4.8. /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 + 5. Die Shells 55 + 5.1. Die Shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 + 5.2. Die Start-Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 + 5.3. Tastenkombinationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 + 5.4. Die C-Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 + 5.5. Bash rechnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 + II. Programme 59 + 6. Der Texteditor vi/vim 61 + 6.1. Aufruf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 + 6.2. Eingabemodus (input mode) . . . . . . . . . . . . . . . . . . . . . . . . 61 + 6.3. Befehlsmodus (visual mode) . . . . . . . . . . . . . . . . . . . . . . . . 61 + 6.3.1. Eingeben: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 + 6.3.2. Überschreiben: . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 + 6.3.3. Bewegen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 + 6.3.4. Löschen und Eingeben: . . . . . . . . . . . . . . . . . . . . . . 63 + 6.3.5. Löschen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 + 6.3.6. Aufheben: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 + 6.3.7. Verschieben: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 + 6.3.8. Zusammenfügen: . . . . . . . . . . . . . . . . . . . . . . . . . . 64 + 6.3.9. Markieren: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 + 6.3.10. Kopieren: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 + 6.3.11. Einfügen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 + 6.3.12. Suchen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 + 6.3.13. Wiederholen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 + 6.3.14. Sonstige Kommandos: . . . . . . . . . . . . . . . . . . . . . . . 65 + 6.4. Kommandomodus (colon mode) . . . . . . . . . . . . . . . . . . . . . . 65 + 6.4.1. Texteingabe Kommandos . . . . . . . . . . . . . . . . . . . . . 65 + 7. LaTeX 67 + A + 7.1. LT X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 + E + III. Linux im Netzwerk 69 + 8. Netzwerk 71 + 7 + Inhaltsverzeichnis + 9. Apache 73 + 9.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 + 9.2. Kompilieren und Installieren . . . . . . . . . . . . . . . . . . . . . . . . 73 + 9.2.1. Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 + 9.2.2. Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 + 9.2.3. OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 + 9.2.4. Apache 1.3 und SSL . . . . . . . . . . . . . . . . . . . . . . . . 74 + 9.2.5. Apache2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 + 9.2.6. Testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 + 9.2.7. Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 + 9.2.8. PureFTPd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 + 9.3. Apache starten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 + 9.3.1. Apache starten . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 + 9.3.2. Wie der Apache startet . . . . . . . . . . . . . . . . . . . . . . 78 + 9.3.3. Fehler während des Hochfahrens . . . . . . . . . . . . . . . . . 79 + 9.3.4. Automatisch starten und beenden . . . . . . . . . . . . . . . . 79 + 9.3.5. Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . 79 + 9.4. Beenden und Neustarten . . . . . . . . . . . . . . . . . . . . . . . . . . 80 + 9.4.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 + 9.4.2. Beenden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 + 9.4.3. Unterbrechungsfreier Neustart . . . . . . . . . . . . . . . . . . 80 + 9.4.4. Neustarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 + 9.4.5. Anhang: Syntax überprüfen . . . . . . . . . . . . . . . . . . . . 81 + 9.5. Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 + 9.5.1. Zu den Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 + 9.6. Benutzerhandbuch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 + 9.6.1. httpd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 + 9.6.2. Access Control List File (.htaccess) . . . . . . . . . . . . . . . . 85 + 9.6.3. Gruppendatei (.htgroup) . . . . . . . . . . . . . . . . . . . . . . 86 + 9.6.4. Passwort-Datei (.htpasswd) . . . . . . . . . . . . . . . . . . . . 86 + 9.6.5. Erstellen eines SSL-Zertifikats . . . . . . . . . . . . . . . . . . . 86 + 9.6.6. LinkIcon (favicon.ico) . . . . . . . . . . . . . . . . . . . . . . . 86 + 10.MySQL 89 + 10.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 + 10.2. Kompilieren und Installieren . . . . . . . . . . . . . . . . . . . . . . . . 89 + 10.2.1. Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 + 10.2.2. Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 + 10.2.3. MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 + 10.2.4. MySQLTesten . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 + 10.2.5. phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 + 11.PHP 93 + 11.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 + 8 + Inhaltsverzeichnis + 11.2. Kompilieren und Installieren . . . . . . . . . . . . . . . . . . . . . . . . 93 + 11.2.1. Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 + 11.2.2. Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 + 11.2.3. Libraries für Zusatzfunktionen . . . . . . . . . . . . . . . . . . 94 + 11.2.4. PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 + 11.3. Referenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 + 11.3.1. Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 + 11.3.2. Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 + 12.Squid 97 + 12.1. Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 + 12.2. Einfacher Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 + 12.3. Proxy Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 + 12.4. Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 + 12.5. Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 + 12.6. Protokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 + 12.6.1. Client-Kommunikation . . . . . . . . . . . . . . . . . . . . . . . 98 + 12.6.2. Kommunikation zwischen Proxy-Cache-Servern . . . . . . . . . 98 + 12.7. Systemvoraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 + 12.8. SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 + 12.9. Automatische Starten von Squit . . . . . . . . . . . . . . . . . . . . . . 99 + 12.10. Squiddateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 + 12.11. squid.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 + IV. Programmieren 103 + 13.Bash 105 + 13.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 + 13.2. Referenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 + 13.3. Steuer und Sonderzeichen der Bash . . . . . . . . . . . . . . . . . . . . 106 + 14.git 107 + 14.1. Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 + 14.2. Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 + 14.3. Konfigurationen über Umgebungsvariablen . . . . . . . . . . . . . . . . 108 + 14.4. Der Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 + 14.5. Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 + 14.6. Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 + 14.7. Dateien entfernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 + 14.8. Dateien verschieben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 + 14.9. Änderung an einer Datei rückgängig machen . . . . . . . . . . . . . . . 109 + 14.10. Dateien ignorieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 + 14.11. Mit externen Repositorys arbeiten . . . . . . . . . . . . . . . . . . . . 110 + 14.12. Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 + 9 + Inhaltsverzeichnis + 14.13. Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 + 14.14. Git Aliase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 + 14.15. Git auf einen Server bekommen . . . . . . . . . . . . . . . . . . . . . . 112 + 14.16. Git auf dem SSH-Server einrichten . . . . . . . . . . . . . . . . . . . . 112 + 14.17. Öffentlicher Webserver-Zugang . . . . . . . . . . . . . . . . . . . . . . 113 + 14.18. Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 + 15.C/C++ 117 + 15.1. Befehle und Grundelemente . . . . . . . . . . . . . . . . . . . . . . . . 117 + 15.2. Steuersequenzen für ANSI-Bildschirme - Innerhalb von Texten . . . . . 117 + 15.3. stdio.h -> Standard Ein- und Ausgabe . . . . . . . . . . . . . . . . . . 118 + 15.4. ctype.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 + 15.5. string.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 + 15.6. Kontrollstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 + 15.7. ASCII(American Standart Code for Information Interchange)-Tabelle . 121 + 15.7.1. Unterteilung der Steuerzeichen: . . . . . . . . . . . . . . . . . . 122 + 15.7.2. Bedeutung der Steuerzeichen: . . . . . . . . . . . . . . . . . . . 122 + 15.8. Operatoren und Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . 123 + 15.8.1. Arithmetische Operatoren: . . . . . . . . . . . . . . . . . . . . 123 + 15.8.2. Vergleichsoperatoren: . . . . . . . . . . . . . . . . . . . . . . . 123 + 15.8.3. Logische Operatoren: . . . . . . . . . . . . . . . . . . . . . . . . 123 + 15.8.4. Zuweisungsoperatoren: . . . . . . . . . . . . . . . . . . . . . . . 124 + 15.8.5. Post- und Prefix- Operatoren: . . . . . . . . . . . . . . . . . . . 124 + 15.8.6. Zeigeroperatoren: . . . . . . . . . . . . . . . . . . . . . . . . . . 124 + 15.8.7. Diverse Kategorien: . . . . . . . . . . . . . . . . . . . . . . . . 124 + 15.9. Inkrementieren und Dekrementieren . . . . . . . . . . . . . . . . . . . 125 + 15.10. Wertebereich und Genauigkeit elementarer Datentypen . . . . . . . . . 125 + 15.11. Variableninitialisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 + 15.12. Konstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 + 15.12.1. Ganzzahlkonstanten . . . . . . . . . . . . . . . . . . . . . . . . 126 + 15.12.2. Gleitkommakonstanten . . . . . . . . . . . . . . . . . . . . . . 126 + 15.12.3. Zeichen- und Zeichenkettenkonstanten . . . . . . . . . . . . . . 126 + 16.Tcl/Tk 127 + 17.Perl 129 + 18.CGI+Perl 131 + 18.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 + 18.2. Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 + 18.2.1. Texte und Strings . . . . . . . . . . . . . . . . . . . . . . . . . 131 + 18.2.2. Rechenoperationen . . . . . . . . . . . . . . . . . . . . . . . . . 131 + 18.2.3. Arrays (Listen) . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 + 18.2.4. String- und Zahlenvergleichsoperratoren . . . . . . . . . . . . . 132 + 18.2.5. if-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 + 10 + Inhaltsverzeichnis + 18.2.6. if-else-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . 132 + 18.2.7. if-elseif-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . 133 + 18.3. Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 + 18.3.1. String Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . 133 + 18.3.2. Rechen Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . 133 + 18.3.3. Array Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . 133 + 19.Java 135 + 19.1. Funktion von Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 + 19.2. Sprache und Syntax von Java . . . . . . . . . . . . . . . . . . . . . . . 135 + 19.2.1. Kommentrare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 + 19.2.2. Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 + 19.2.3. Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 + 19.3. Pakete und Verzeichnisstrukturen . . . . . . . . . . . . . . . . . . . . . 136 + 19.3.1. Sichtbarkeit und Zugriffsrechte von Klassen und Methoden . . 136 + 19.3.2. Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 + 19.3.3. Konstruktoren und Destruktoren . . . . . . . . . . . . . . . . . 137 + 19.3.4. Methoden überladen . . . . . . . . . . . . . . . . . . . . . . . . 137 + 19.3.5. Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 + 19.3.6. Vererbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 + 19.3.7. Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 + 19.4. Elementare Syntax von Java . . . . . . . . . . . . . . . . . . . . . . . . 138 + 19.4.1. Operratoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 + 19.4.2. Verknüpfungsoperatoren . . . . . . . . . . . . . . . . . . . . . . 138 + 19.4.3. Inkrement-Operator . . . . . . . . . . . . . . . . . . . . . . . . 138 + 19.4.4. Dekrement-Operator . . . . . . . . . . . . . . . . . . . . . . . . 139 + 19.4.5. Arithmetische Zuweisungsoperatoren . . . . . . . . . . . . . . . 139 + 19.4.6. Bedingungen und Entscheidungen . . . . . . . . . . . . . . . . 139 + 19.4.7. if - else - Bedingungen . . . . . . . . . . . . . . . . . . . . . . . 139 + 19.4.8. Verschachtelte Bedingungen . . . . . . . . . . . . . . . . . . . . 139 + 19.4.9. Fallunterscheidung mit switch - case . . . . . . . . . . . . . . . 140 + 19.5. Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 + 19.5.1. Die while - Schleife . . . . . . . . . . . . . . . . . . . . . . . . . 140 + 19.5.2. Die do - while - Schleife . . . . . . . . . . . . . . . . . . . . . . 140 + 19.5.3. Die for - Schleife . . . . . . . . . . . . . . . . . . . . . . . . . . 140 + 19.5.4. Schleifen mit break verlassen . . . . . . . . . . . . . . . . . . . 140 + 19.5.5. Schleife mit continue wiederholen . . . . . . . . . . . . . . . . . 140 + 19.6. Komplexe Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 + 19.6.1. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 + 19.7. Die Anweisung import . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 + 19.8. Java eigene Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 + 19.8.1. Die Klasse Math . . . . . . . . . . . . . . . . . . . . . . . . . . 141 + 19.9. Die Klasse Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 + 19.9.1. Die Klasse Object . . . . . . . . . . . . . . . . . . . . . . . . . 141 + 19.10. Die Klasse Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 + 11 + Inhaltsverzeichnis + 19.11. Die Klasse String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 + 19.12. Die Klasse Stringbuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 + 19.12.1. Die Klasse Stringbuffer . . . . . . . . . . . . . . . . . . . . . . 142 + 19.13. Die Klasse System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 + 19.14. Das Paket java.util . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 + 19.14.1. Die Klasse Date . . . . . . . . . . . . . . . . . . . . . . . . . . 143 + 19.14.2. Die Klasse Random . . . . . . . . . . . . . . . . . . . . . . . . 143 + 19.14.3. Die Klasse Stack . . . . . . . . . . . . . . . . . . . . . . . . . . 143 + 19.15. Ausnahmen (Exceptions) . . . . . . . . . . . . . . . . . . . . . . . . . . 143 + 19.15.1. Eigene Ausnahme erzeugen (throw) . . . . . . . . . . . . . . . 144 + 19.16. Multitasking mit Threads . . . . . . . . . . . . . . . . . . . . . . . . . 144 + 19.16.1. Arbeiten mit Threads . . . . . . . . . . . . . . . . . . . . . . . 144 + 19.17. Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 + 19.17.1. Applets in eine Webseite einbinden . . . . . . . . . . . . . . . . 145 + 19.17.2. Das erste Java Applet . . . . . . . . . . . . . . . . . . . . . . . 145 + 19.17.3. Die Methoden eines Applets . . . . . . . . . . . . . . . . . . . . 145 + 19.17.4. Ein Applet im Überblick . . . . . . . . . . . . . . . . . . . . . . 145 + 19.17.5. Pakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 + 19.17.6. Die Klasse Graphics . . . . . . . . . . . . . . . . . . . . . . . . 146 + 19.17.7. Die Klasse Color . . . . . . . . . . . . . . . . . . . . . . . . . . 146 + 19.17.8. Die Klasse Font . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 + 19.17.9. Die Klasse Image . . . . . . . . . . . . . . . . . . . . . . . . . . 147 + 19.17.10.Die Klasse Button . . . . . . . . . . . . . . . . . . . . . . . . . 147 + 19.18. Eventhandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 + 19.18.1. Mouse Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 + 19.18.2. Action Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 + 19.18.3. Parameter an ein Applet . . . . . . . . . . . . . . . . . . . . . . 148 + 19.18.4. Weitere wichtige Pakete . . . . . . . . . . . . . . . . . . . . . . 149 + 20.JavaScript 151 + 20.1. Einbindung von JavaScript . . . . . . . . . . . . . . . . . . . . . . . . 151 + 20.1.1. Einbindung in den Head . . . . . . . . . . . . . . . . . . . . . . 151 + 20.1.2. Einbindung in den Body . . . . . . . . . . . . . . . . . . . . . . 151 + 20.1.3. Ausführen bei bestimmten Aktionen . . . . . . . . . . . . . . . 151 + 20.2. Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 + 20.3. Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 + 20.3.1. Standardobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . 152 + 20.3.2. String-Objekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 + 20.3.3. Eigene Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 + 20.3.4. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 + 20.4. Mathematische Operationen . . . . . . . . . . . . . . . . . . . . . . . . 154 + 20.5. Bedingte Ausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 + 20.6. Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 + 20.7. Event-Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 + 20.8. Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 + 12 + Inhaltsverzeichnis + 20.9. Reservierte Wörter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 + V. Anhang 159 + 21.Glossar 161 + Stichwortverzeichnis 164 + 13 + Teil I. + Linux + 15 + 2. Linux + 2.1. Was ist Linux? + Der Kernel, eine Schnittstelle für die Software zur Hardware. + 2.2. Kernel und Module + http://www.kernel.org/ http-Adresse für den Kernel und Kernel-Patches + http://www.de.kernel.org/pub/linux/kernel/ Spiegel für den Kernel + 2.2.1. Kernel 2.4 + tar xvfj kernel.tar.bz2 entpackt den Kernel + tar xvfz kernel.tar.gz entpackt den Kernel + cd kernel Verzeichnis wechseln + bzip2 -dc ../patch-2.x.xx.bz2 | patch -p1 Kernel patchen + gzip -dc ../patch-2.x.xx.gz | patch -p1 Kernel patchen + zcat /proc/config.gz > /usr/src/linux/.config die aktuelle Konfiguration des + laufenden Kernels auslesen + make menuconfig Kernelkonfiguration im Textmodus + make dep aktualisiert die Abhängigkeiten + make clean löscht die temporären Dateien und Ausgabedateien + make zImage übersetzt und komprimiert den Kernel + make bzImage übersetzt und komprimiert den gossen Kernel + make dep clean zImage aktualisiert,löscht und übersetzt + make modules übersetzt Module + make modules_install installiert Module + make zlilo installiert den Kernel und den Boot-Loader LILO + make bzlilo installiert den gossen Kernel und + den Boot-Loader LILO + make zdisk erzeugt eine Bootdiskette mit dem neuen Kernel + make mrproper löscht alle erzeugten Dateien, + auch die Konfiguration + 2.2.2. Kernel 2.6 (Debian 4.0 etch) + sudo apt-get update Paket-Datenbank aktualisieren + sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 \ + 17 + 2. Linux + build-essential benötigte Pakete installieren + cd /usr/src in das Verzeichnis zu den Quell-Paketen wechseln + wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2 + den aktuellen Kernel downloaden + wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2.sign + die dazugehörige Signatur downloaden + gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0x517D0F0E + Public-Key vom Key-Server holen + gpg --verify linux-2.6.22.1.tar.bz2.sign + Kernel-Signatur überprüfen + tar xvfj linux-2.6.22.1.tar.bz2 Kernel entpacken + ln -s linux-2.6.22.1 linux Soft-Link zu den Kernel-Quellen anlegen + cd /usr/src/linux zu den aktuellen Kernel-Quellen wechseln + bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run + Aktualisieren prüfen + bzip2 -dc /usr/src/patch.bz2 | patch -p1 + Kernel-Quellen aktualisieren wenn nötig + make clean && make mrproper Kernel säubern und korigieren + cp /boot/config-‘uname -r‘ ./.config + laufende Konfiguration holen + make menuconfig Konfigurations-Programm starten + Load an Alternate Configuration File + laufende Konfiguration laden und Kernel + konfigurieren + make-kpkg clean + fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image \ + kernel_headers Kernel-Pakete und Kernel-Headers herstellen + sudo dpkg -i linux-image-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb + den neuen Kernel installieren + sudo dpkg -i linux-headers-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb + die neuen Header installieren + sudo shutdown -r now Neustart um den Kernel zu testen + uname -a feststellen welcher Kernel gestartet ist + dmesg Kernelmeldungen vom letzten Start anzeigen + insmod Modul Modul laden + modprobe Modul Modul eigenständig laden + lsmod geladene Module anzeigen lassen + rmmod Modul Modul entfernen + 18 + 3. Befehle + 3.1. Standartein-aus-gabe + Jedes UNIX kennt 3 spezielle Files: + stdin Standardeingabe, normalerweise die Tastatur + stdout Standardausgabe, normalerweise der Bildschirm + stderr Standardausgabe für Fehlermeldungen, + normalerweise der Bildschirm + All diese Files können umgelenkt werden + setterm -blank 0 Bildschirmschoner ausschalten + 3.2. Anmelden und Abmelden + login: Benutzername 1. zum Anmelden den Benutzernamen eingeben + Passwort: Benutzerpasswort 2. zum Anmelden das Benutzerpasswort eingeben + logout zum Abmelden eingeben + exit zum Abmelden eingeben + [Strg]+[d] beendet die Shell (alle Shells) + 3.3. Anhalten des Systems und Booten + Unter keinen Umständen darf während des Betriebs einfach der Strom abgeschaltet + oder der Resetknopf betätigt werden. Da es sonst zu einer Beschädigung des Dateisy- + stems mit Datenverlust kommen kann. + root: shutdown -h now hält das System an + root: halt hält das System an + root: init 0 hält das System an + root: systemctl poweroff hält das System an + root: shutdown -r now startet den Computer nach dem Herunterfahren neu + root: reboot startet den Computer nach dem Herunterfahren neu + root: init 6 startet den Computer nach dem Herunterfahren neu + root: systemctl reboot startet den Computer nach dem Herunterfahren neu + root: systemctl suspend Bereitschaft + root: systemctl hibernate Ruhezustand + 19 + 3. Befehle + 3.4. Die Runlevel + root: init 0 Systemhalt + root: init S Einzelbenutzerbetrieb (Single User Mode) + root: init 1 Einzelbenutzerbetrieb (Single User Mode) + root: init 2 Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk + (Local multiuser without remote network) + root: init 3 Voller Mehrbenutzerbetrieb mit Netzwerk + (Full multiuser with network) + root: init 4 Frei (Not used) + root: init 5 Voller Mehrbenutzerbetrieb mit Netzwerk und KDM, GDM oder XDM + (Full multiuser with network and xdm) + root: init 6 Systemneustart (System reboot) + root: init q Quit zum Neueinlesen der inittab + 3.4.1. Upstart + UpstartsorgtdafürdasDiensteereignisbasiertparallelgestartetwerdenkönnen/etc/inittab + entfällt neu /etc/init/ (bzw. /etc/event.d/) + initctl list Liste aller Init-Jobs + sudo initctl start/stop Init-Jobs (zB. ssh) + Im Header der Datei kann dann zum Starten und Beenden flogendes stehen: + start on runlevel [2345] + stop on runlevel [!2345] + sudo initctl reload-configuration ließt die Konfiguration neu ein und + startet/beendet die Dienste + 3.5. SuSE-Linux + hilfe Hilfesystem starten + yast Yet another Setup Tool - + SuSE Administrationstool + yast2 Yet another Setup Tool 2 - + SuSE Administrationstool + SuSEconfig das Skript muss aufgerufen werden + nachdem die /etc/rc.config und /etc/sysconfig/ + von Hand verändert wurden + 3.6. Zur Orientierung auf einem UNIX-Rechner + date zeigt Datum und Uhrzeit an + 20 + 3.7. Datum und Uhrzeit + df -k zeigt den feien Platten-Platz in kB an + df -m zeigt den feien Platten-Platz in MB an + df -h Ausgabe von Größen in Menschen-lesbarem Format + du -h zeigt wie viel Platten-Platz in kB bestimmte Dateien einnehmen + echo Text schreibt den Text auf stdout (Bildschirm) + finger zeigt Infos über eingeloggte Benutzer an + finger -l zeigt ausführliche Infos über eingeloggte Benutzer an + free -t zeigt den feien Arbeitsspeicher in kB an + last zeigt wer sich zuletzt von wo aus auf dem Rechner eingeloggt hat + info Begriff Hilfe zu dem Begriff im Infoformat + man Begriff Hilfe zu dem Begriff + man -a Begriff alle Kapitel zu dem Begriff + man -f Begriff listet die gefundenen Seiten zu dem Begriff auf + man -k Begriff listet die Seiten in dem der Begriff vorkommt auf + man n Begriff Hilfe zum Begriff mit der Sektion n + Die Manual-Pages sind auf verschiedene Sektionen aufgeteilt: + 1 Shell-Kommandos + 2 System-Aufrufe + 3 Funktionen - C-Bibliotheksfunktionen. + 4 Die Beschreibung von Konfigurationsdateien. + 5 Die Syntax wichtiger Dateien. + 6 Beschreibung von Spielen. + 7 Alles was mit Text, Textformatierung und anderen Formaten zu + tun hat. + 8 Die Befehle des Systemverwalters. + 9 Die Beschreibung der Linux-Kernelroutinen. + n n kommt angeblich von neu, hier sind sonstige Manual-Pages + aufgeführt, die in eine der oberen Sektionen gehören, aber + traditionell hier stehen oder zu keiner Sektion genau passen. + pwd Ausgabe des aktuellen Verzeichnisses + w wer ist da und was ist los + whatis Befehl zeigt Kurzerklärung eines Befehls + which Befehl zeigt, wo Executable liegt, und eventual alias + who zeigt Liste aller eingeloggten Benutzer + whoami zeigt, wem die Shell gehört + 3.7. Datum und Uhrzeit + date Datum und Uhrzeit abfragen + date -s ’2000-01-29 20:00:00’ +’%Y-%m-%d %T’ Datum und Uhrzeit einstellen + netdate Rechnername Datum und Uhrzeit vom Rechner- + name holen + clock -u -w Datum und Uhrzeit in + das BIOS schreiben + 21 + 3. Befehle + timedatectl set-local-rtc 1 locale Zeit einstellen + timedatectl set-local-rtc 0 UTC Zeit einstellen + 3.8. Auflisten + ls Auflisten der Dateien im aktuellen Verzeichnis + ls Verzeichnis Inhalt des Verzeichnisses ausgeben + ls -la alles Auflisten im aktuellen Verzeichnis + ls -laFi alles ausführlicher Auflisten + ls | paste - - - - Dateien vierspaltig ausgeben + ls -1 untereinander ausgeben + ls -F Verzeichnisse mit angehängtem / markieren + ls -i inode-Nummer mit ausgeben + ls -R alle Unterverzeichnisse mit ausgeben + ls -r Auflisten der Dateien umkehren + 3.9. Dateinamen + UNIX unterscheidet Groß- und Kleinschreibung! liesmich, Liesmich, LIESMICH sind + verschiedene Dateinamen! max. 256 Zeichen, alle Zeichen sind erlaubt . am Namens- + anfang versteckt Datei vor ls, cp, rm, mv + alias gibt alle definierten Kurznamen aus + alias la=’ls -la’ definiert Kurznamen für ein Kommando + aus ls -la wird ein la + 3.10. Dateiendungen + .a Objektbibliotheken + .c C-Quelltextdatei + .cpp C++-Quellen + .o Objektdatei + .p Pascal-Quellen + .s Assembler + 3.11. Infos über Files + file Datei Anzeige des Dateitypes + wc -lwc Datei Ausgabe der Zeilen, Worte und Buchstaben der Datei + ls -a | wc -l alle Dateien im aktuellen Verzeichnis zählen + 22 + 3.12. Arbeiten(Verwüstungen) im und am Filesystem + 3.12. Arbeiten(Verwüstungen) im und am Filesystem + cd Pfad Verzeichnis wechseln + mkdir Name Verzeichnis erzeugen + mkdir -p Name Verzeichnis erzeugen, fehlende Verzeichnisse mit anlegen + 3.13. Kopieren und Verschieben + cp Dateien Ziel Dateien kopieren + cp -i Dateien Ziel Dateien kopieren, vor dem Überschreiben + einer Datei nachfragen + cp -R Quelle* Ziel gesamten Inhalt eines Verzeichnises kopieren + mv Quelle Ziel Datei verschieben oder umbenennen + mv -f Quelle Ziel Schreibgeschützte Datei verschieben oder umbenennen + mv -i Quelle Ziel Datei verschieben oder umbenennen, + vor dem Überschreiben nachfragen + ln Quelle Ziel Verknüpfung erzeugen (Hardlink), + beide Dateien haben die gleiche inode + ln -s Quelle Ziel Verknüpfung erzeugen (Softlink) + ln -sf Quelle Ziel Verknüpfung erzeugen (Softlink) + ohne Rückfrage überschreiben + 3.14. Löschen + rm Datei löschen von Daten + rm -r Dateien löschen von Dateien mit Verzeichnissen + rmdir Verzeichnis löscht Verzeichnis wenn es leer ist, + überflüssig rm -r geht auch + 3.15. Ausgeben + cat Datei Inhalt der Datei auf dem Bildschirm ausgeben + cat Datei1 Datei2 > Datei3 Dateien1+2 zusammenfügen in die Datei3 schreiben + strings Datei Druckbare Zeichen der Datei ausgeben + more Datei Datei seitenweise ausgeben + less Datei Datei ausgeben und mit den Curser scrollen + j eine Zeile weiter + k eine Zeile zurück + u halbe Seite zurück + /Text sucht den Text + q less verlassen + nl Datei Datei mit Zeilennummern ausgeben + tail Datei zeigt die letzten 10 Zeilen einer Datei an + 23 + 3. Befehle + tail -n Datei zeigt die letzten n Zeilen einer Datei an + tail -f Datei zeigt ständig die letzten 10 Zeilen der Datei an + tail -f /var/log/messages Systemmeldungen mitverfolgen + head Datei zeigt die ersten 10 Zeilen einer Datei an + head -n Datei zeigt die ersten n Zeilen einer Datei an + od -b Datei Datei oktal ausgeben + od -c Datei Datei als ASCII ausgeben + od -x Datei Datei hexadezimal ausgeben + ls | paste - - - - Dateien vierspaltig ausgeben + recode ibmpc:lat1 Datei Konvertierung der Datei + 7 Bit DOS in das UNICODE/8 Bit Format + 3.16. Der Texteditor vi/vim + vi Editor vi aufrufen + vi Datei Editor vi aufrufen und Datei öffnen + vi -r swap-Dateien anzeigen + vi -r Datei Datei nach einem Stromausfall (oder Absturz) wieder herstellen + vi -R Datei Datei schreibgeschützt öffnen + 3.17. Suchen nach Dateien + find Pfad Bedingung nach Dateien suchen + find Pfad | grep name nach Dateien suchen, hat sich bewährt + find Pfad -name .profile nach dem Dateinamen .profile suchen + find Pfad -user higi nach Dateien die dem Benutzer + higi gehören suchen + find Pfad -size +1024c nach Dateien die größer als 1024 Bytes + sind suchen + find Pfad -atime +7 nach Dateien suchen die älter als 7 Tage sind + find Pfad -print alle Dateien im Pfad ausgeben + find -name *.txt alle Dateien im aktuellen Pfad + mit der Endung .txt ausgeben + find / -size +16000000c alle Dateien die mehr als 16MB haben ausgeben + find / -fstype msdos -name *.zip sucht auf MS-DOS-Partition nach *.zip + find / -fstype vfat -name *.txt sucht auf Windows-Partition nach *.txt + 3.18. Suchen in Dateien + grep Ausdruck Datei sucht nach dem Ausdruck in der Datei + grep -c Ausdruck Datei Anzahl der Zeilen, die den Begriff + enthalten ausgeben + grep -i Ausdruck Datei große und kleine Buchstaben nicht unterscheiden + 24 + 3.19. Vergleichen von Dateien + grep -l Ausdruck Datei meldet die Dateien die den Ausdruck enthalten + grep -n Ausdruck Datei sucht nach dem Ausdruck und + gibt die Zeilennummer mit aus + grep -v Ausdruck Datei Ausgabe der Zeilen die den Ausdruck + nicht enthalten + egrep Ausdruck Datei sucht nach dem Ausdruck in der Datei + fgrep String Datei sucht nach dem String in der Datei + fgrep -x String Datei sucht nach dem String in der Zeile einer Datei + 3.19. Vergleichen von Dateien + diff Datei1 Datei2 zeigt die Unterschiede zwischen zwei Dateien + comm [-123] Datei1 Datei2 zwei sortierte Textdateien vergleichen + cmp -l Datei1 Datei2 Binär-/Dateien vergleichen + 3.20. Drucken + lpr Datei Datei auf dem Drucker ausgeben + lpr -#n Datei Datei n mal auf dem Drucker ausgeben + lpr -m Datei Datei auf dem Drucker ausgeben, nach dem Drucken + bekommt man eine mail + lpq Warteschlange anschauen + lprm Jobnummer Druckauftrag/Job aus der Warteschlange löschen + pr Dateien für das Drucken aufbereiten + 3.21. File-Inhalt bearbeiten + compress Datei Datei komprimieren nach Datei.Z + uncompress Datei.Z Datei.Z dekomprimieren + expand Datei1 > Datei2 Tabs aus der Datei1 entfernen und + zur Datei2 schreiben + unpack Datei.z Datei.z dekomprimieren + sort Datei1 > Datei2 die Zeilen der Datei1 in + die Datei2 sortieren + tr [A-Z] [a-z] < Datei1 > Datei2 Klein durch Großbuchstaben ersetzen + uniq Datei Datei ausgeben bis auf doppelte Zeilen + 3.22. TAR (tape archiver) verwaltet Dateiarchive + Syntax: + tar [-Acdrtux] [–delete] [-b n] [-BgGhijklmMoOpPPsSvwWz] [-C Verzeichnis] [-f Datei] + [-F Datei] [-K Datei] [-L Länge] [-N Datum] [-T Datei] [-V Name] [-X Datei] [0-7] [lmh] + 25 + 3. Befehle + Optionen: + -A Archiv an ein Archiv anhängen + -c erzeugt ein neues Archiv + -d vergleicht das Archiv mit dem Dateisystem + --delete Datei löscht die Datei aus dem Archiv (nicht für Magnetbänder) + -r hängt Dateien an das Archiv an (nicht für Magnetbänder) + -t zeigt den Inhalt des Archivs + -u ersetzt neue Dateien oder fügt sie ein (nicht für Magnetbänder) + -x kopiert/entpackt Datei-en aus dem Archiv + --atime-preserve Zugriffszeit nach der Archivierung zurück setzen + -b n setzt die Blockgröße n*512Bytes (Voreinstellung n=20) + -B unterdrückt den Abbruch beim Lesen unvollständiger Blöcke + zum Lesen von 4.2BSD Pipes + -C Verzeichnis wechselt in das Verzeichnis, um dort weitere Dateien zu + archivieren + -f Datei benutzt Datei oder das Gerät als Archiv + -F Datei bei -M führt das Shellscript Datei aus, wenn das Medium voll ist + -G erzeugt am Anfang des Bandarchives einen speziellen Eintrag für + jedes archivierte Verzeichnis; spezielles GNU Format + -g Datei erzeugt eine Datei mit einer Liste der archivierten + Verzeichnisse als Zeitmarke der Archivierung; wenn die Datei + bereits existiert, werden nur die Dateien archiviert, die nach + dieser Zeitmarke erzeugt oder verändert wurden (spezielles GNU + Format: 1.Zeile=Zeitmarke, 1.Feld=Nr. der Partition, + 2.Feld=Inode des Verzeichnisses, 3.Feld=Name des Verzeichisses) + -h archiviert die referenzierten Dateien anstelle der Links + -i ignoriert Blöcke mit Nullbytes im Archiv + -j erzeugt ein mit bzip2 komprimiertes Archiv + -k existierende Dateien werden beim Auspacken von Archiven nicht + überschrieben + -K Datei beginnt eine Aktion bei Datei im Archiv + -l verhindert Archivierung von Dateien aus anderen Dateisystemen + -L Länge wartet auf Medienwechsel nach Länge Bytes + -m das Datum der letzten Änderung wird nicht mit archiviert + -M das Archiv ist auf mehrere Medien verteilt (Multi-Volume) + -N Datum archiviert nur Dateien, die neuer sind als Datum + -o benutzt das alte V7 tar-Format anstelle des ANSI Formates + -O schreibt die Dateien in die Standardausgabe + -p erhält die Zugriffsrechte der Dateien + -P archiviert mit absoluten Dateinamen + -R gibt zu jeder Meldung die Blocknummer des Archivblocks aus, von + dem die Meldung verursacht wurde + -s zeigt an, dass die Liste von Dateien im Argument die gleiche + Reihenfolge hat wie die Dateien im Archiv + -T Datei holt die Namen der zu archivierenden Dateien aus Datei + 26 + 3.23. Disketten/Festplatten + -v meldet jede Aktion + -V Name erzeugt ein Archiv mit dem (internen) Label Name + -w erwartet interaktiv Bestätigung jeder Aktion + -W verifiziert die geschriebenen Daten im Archiv + -X Datei liest aus der Datei Namen oder reguläre Ausdrücke von bzw. für + Dateien, die nicht archiviert werden soll + -z erzeugt ein mit gzip komprimiertes Archiv + -Z erzeugt ein mit compress komprimiertes Archiv + -{0...7}{lmh} spezifiziert das Gerät und die Dichte des Speichermediums (für + Diskettenarchive ohne Bedeutung); 0 ist der erste Streamer, 1 + 1 der zweite und so weiter; die Dichte bestimmt den Bandtyp + 3.22.1. Packen + tar rPvf name.tar /etc/ Verzeichnis zum tar zufügen + tar rPvf name.tar /etc/inittab* Datei-en zum tar zufügen + tar cPvzf name.tgz name.tar tar -> tgz + tar cPvMf /dev/fd0 name.tgz tgz auf Diskette sichern + tar cvzf Datei.tgz Verzeichnis Packt Verzeichnis in Datei.tgz + 3.22.2. Entpacken + tar xvfpM /dev/fd0 tgz von Diskette holen + tar xvfpz name.tgz tgz -> tar + tar tvfp name.tar Inhalt des Tars anzeigen + tar xvfp name.tar Tar entpacken + 3.23. Disketten/Festplatten + dd if=/dev/zero of=/dev/sda bs=512 count=1 überschreibt den MBR der ersten + SCSI-Platte mit Nullen + fdisk Gerätedatei Partitionstabelleneditor + fdisk -l /dev/hda zeigt die Partitionstabelle der ersten + Festplatte an + fdisk -C 12416 -H 15 -S 63 /dev/hdb Partitionstabelle mit vorgegebenen + C-Zylinder H-Köpfe S-Sektoren pro Spur + bearbeiten + cfdisk Gerätedatei Curses-Partitionstabelleneditor + fdformat /dev/fd0u1440 Diskette Low-Level-Formatieren + mformat a: Dateisystem DOS-FAT anlegen + mkdosfs -I /dev/sda Superfloppy-Format mit FAT16-Dateisystem + 27 + 3. Befehle + für z.B. USB-Sticks anlegen + mkdosfs -n Name /dev/sda1 FAT16-Dateisystem mit Name anlegen + mkfs -t minix /dev/fd0u1440 1440 Dateisystem minix anlegen + mke2fs /dev/fd0u1440 Dateisystem ext2 anlegen + mkfs -V -t ext2 /dev/sda7 Dateisystem ext2 anlegen + fsck -V -t ext2 /dev/sda7 Dateisystem Prüfung und Reparatur + tune2fs Optionen Gerät Einstellungen zum ext2 Dateisystem + mount Gerät Verzeichnis Gerät im Verzeichnis anmelden + mount -t minix /dev/fd0 /mnt Diskette im minix-Format anmelden + mount -t ext2 /dev/fd0 /mnt Diskette im ext2-Format anmelden + mount -t msdos /dev/fd0 /mnt Diskette im msdos-Format anmelden + mount -o loop disk.img /mnt Datei als Diskette anmelden + umount Verzeichnis Verzeichnis abmelden + umount /mnt Diskette abmelden + 3.23.1. Dateisystem verschlüsseln + modprobe loop_fish2 Modul für die Verschlüssellung laden + dd if=/dev/urandom of=datei bs=1024 count=10000 10MB Datei anlegen + losetup -e twofish /dev/loop0 datei Datei anmelden (Passwort anlegen) + mkfs -t ext2 /dev/loop0 Dateisystem anlegen + mount -t ext2 /dev/loop0 /mnt Dateisystem anmelden + umount /mnt/ Dateisystem abmelden + losetup -d /dev/loop0 Datei abmelden + /dev/loop0 /datei /mnt ext2 twofish defaults /etc/cryptotab + /datei /mnt ext2 loop,encryption=twofish,noauto,user /etc/fstab + 3.24. Zugriffsrechte/Eigentümer/Gruppe + ls -l /dev/fd0 + brw-rw-rw- 1 root disk 2, 0 Feb 16 16:30 /dev/fd0 + | | | +----- Gerät + | | +------ Minor-Device-Nummer(Nebennummer) + | +----------- Major-Device-Nummer(Hauptnummer) + +-------------------- b-blockorientierte Geräte c-zeichenorientierte Geräte + ls -laFi linux.txt + 1561 -rw-r----- 1 higi users 26419 Mar 13 19:19 linux.txt + | |||||||||| | | | | | | | +----- Datei/Verzeichnisname + 28 + 3.24. Zugriffsrechte/Eigentümer/Gruppe + | |||||||||| | | | | | | +----------- Uhrzeit + | |||||||||| | | | | | +-------------- Tag + | |||||||||| | | | | +------------------ Monat + | |||||||||| | | | +------------------------ Größe + | |||||||||| | | +----------- Gruppe + | |||||||||| | +----------------- Eigentümer + | |||||||||| +------------------- Links + | |||||||||+---- alle Anderen x-ausführen oder t-text mit x-bit + | ||||||||| T-text ohne x-bit + | ||||||||+----- alle Anderen w-schreiben + | |||||||+------ alle Anderen r-lesen + | ||||||+------- Gruppe x-ausführen oder s-Gruppenkennung mit x-bit + | |||||| S-Gruppenkennung ohne x-bit + | |||||+-------- Gruppe w-schreiben + | ||||+--------- Gruppe r-lesen + | |||+---------- Eigentümer x-ausführen oder s-Benutzerkennung mit x-bit + | ||| S-Benutzerkennung ohne x-bit + | ||+----------- Eigentümer w-schreiben + | |+------------ Eigentümer r-lesen + | +------------- d-Verzeichnis l-Verknüpfung + +------- inode + chmod werwiewas Datei Zugriffsrechte einer Datei/Verzeichnis ändern + wer: u-Eigentümer g-Gruppe + o-alle Anderen a-alle 3 Benutzergruppen + wie: +-hinzufügen --wegnehmen + =-nachfolgendes Muster setzen + was: r-lesen w-schreiben x-ausführen + ( s-Benutzerkennung oder Gruppenkennung + t-text ) + chmod zahl Datei Zugriffsrechte einer Datei/Verzeichnis ändern + zahl-> rwx rwx rwx -> 4+2 4 0 -> 640 + 421 421 421 + 640 -> Eigentümer lesen schreiben + Gruppe lesen + chmod nzahl Datei Zugriffsrechte und Kennung einer Datei/ + Verzeichnis ändern + bit 4 von n, mit Benutzerkennung/ + Benutzerrechten ausführen + bit 2 von n, mit Gruppenkennung/ + Gruppenrechten ausführen + bit 1 von n, mit text werden die Dateien vor + dem Löschen durch fremde Benutzer geschützt, + macht nur bei Verzeichnissen sinn + chown NeuerEigentümer Datei Eigentümer der Datei ändern + 29 + 3. Befehle + chgrp NeueGruppe Datei Gruppenzugehörigkeit der Datei ändern + passwd Benutzer Benutzerpasswort ändern + useradd Optionen Benutzer Benutzer anlegen + -u Benutzer-ID (-u 500) + -g Primäre Gruppenzugehörigkeit (-g users) + -G weitere Gruppenzugehörigkeit + -d Homeverzeichnis (-d /home/user500) + -s Shell (-s /bin/bash) + -m legt das Homeverzeichnis an und kopiert die + Dateien aus /etc/skel in das Homeverzeichnis + -c Kommentar + -p Passwort im Klartext! + -e Auslaufdatum (-e 2002.12.24) + -f Pufferzeit + usermod Optionen Benutzer Benutzerdaten verändern + userdel Benutzername Benutzer löschen + userdel -r Benutzername Benutzer und Benutzerverzeichnis löschen + vipw Benutzerdatenbank ändern + su Shell mit root-Zugriffsrechten starten + su - Shell im root-Homeverzeichnis + mit root-Zugriffsrechten starten + sux - Shell im root-Homeverzeichnis + mit root-Zugriffsrechten starten und X-Variabeln + su -l Benutzername Shell im Benutzer-Homeverzeichnis + mit Benutzer-Rechten starten + 3.25. Prozessbefehle + S=schlafend R=running(laufend) T=terminiert Z=Zombie + [Strg]+[z] im Vordergrund laufendes Programm anhalten + [1]+ Stopped + | +----- schlafend + +------------- Jobnummer + bg %JOB Job im Hintergrund fortsetzen + fg %JOB Job im Vordergrund fortsetzen + Programm & Programm im eigenem Prozess starten + [1] 819 + | +--------- Prozessnummer + +------------- Jobnummer + ps Überblick über die aktuell laufenden Prozesse + ps aux gibt in den meisten Fällen eine ausreichende Auskunft + pstree zeigt den kompletten Prozessbaum an + 30 + 3.26. Re-install Grub with Live CD + jobs das Schellkommando gibt eine Liste der aktuellen Jobs aus + top Programm, das die aktuellen Prozesse anzeigt + htop Programm, das die aktuellen Prozesse anzeigt + kill PID Prozess killen + kill %JOB Job killen + kill -1 PID Prozess initialisieren + kill -1 %JOB Job initialisieren + kill -9 PID Prozess killen + kill -9 %JOB Job killen + kill -15 PID Prozess beenden + kill -15 %JOB Job beenden + kill -HUP PID veranlasst die meisten Dämonen ihre Konfigurationsdateien + erneut zu lesen + 3.26. Re-install Grub with Live CD + 3.26.1. Chroot + sudo fdisk -l Patition für das chroot festellen + sudo mount /dev/sdb3 /mnt/gentoo chroot z.B. /dev/sdb3 auf z.B. /mnt/gentoo mounten + sudo mount -t proc none /mnt/gentoo/proc Mounten der /proc und /dev Dateisysteme + sudo mount --rbind /dev /mnt/gentoo/dev + sudo chroot /mnt/gentoo /bin/bash Betreten der neuen Umgebung + env-update Umgebungsvariablen aktualisieren + source /etc/profile Profil laden + export PS1="(chroot) $PS1" Promt anpassen + 3.26.2. Grub + sudo grub + grub> find /boot/grub/stage1 + grub> root (hd0,1) + grub> setup (hd0) + grub> quit + reboot + 3.27. Software installieren + 3.27.1. rpm-Format + http://www.rpm.org/ weiterführende Informationen + http://www.rpmfind.net/ Hilfe zu fehlenden rpms oder Merkmalen + /var/lib/rpm/Packages rpm-Datenbank + 31 + 3. Befehle + /var/lib/rpm/packages.rpm -> /var/lib/rpm/Packages + GeänderteKonfigurationsdateienüberschreibtrpmbeimUpdatenicht,sondernhebt + sie als Datei.rpmsave auf. diff hilft die Unterschiede anzuzeigen. + rpm -i Paketname.rpm Installiert mit Prüfung auf Abhängigkeiten + rpm -i --nodeps Paketname.rpm Installiert ohne Prüfung auf Abhängigkeiten + rpm -i --test Paketname.rpm Testet die Installation ohne Daten zu verändern + rpm -iv Paketname.rpm Installiert mit Prüfung auf Abhängigkeiten + und Rückmeldung + rpm -ivh Paketname.rpm Installiert, prüft, meldet und + zeigt den Vorgang an + rpm -Uvh Paketname.rpm Update eines rpm-Binärpaketes + rpm -Fvh Paketname.rpm Aktualisiert rpm-Binärpaket + rpm -Fvh *.rpm Aktualisiert alle rpm-Binärpakete im . + rpm -e Paket Deinstalliert mit Prüfung auf Abhängigkeiten + rpm -qa zeigt die installierten rpm-Pakete an + rpm -qa | grep -i Paket zeigt ob das Paket installiert ist + rpm -qi Paket zeigt Informationen über das installierte Paket + rpm -qip Paketname.rpm zeigt Informationen über das rpm-Binärpaket + rpm -ql Paket zeigt die enthaltenen Dateien des installierten + Paketes an + rpm -qlp Paketname.rpm zeigt die enthaltenen Dateien des + rpm-Binärpaketes + rpm -qf /Pfad/Datei zeigt das Paket aus dem die Datei stammt + rpm -q --requires Paket zeigt die geforderten Merkmale des installierten + Paketes an + rpm -qp --requires Paketname.rpm zeigt die geforderten Merkmale des + rpm-Binärpaketes + 3.27.2. deb-Format + dpkg -i Paketname.deb Installation eines deb-Binärpaketes + dpkg -P Paket Deinstalliert mit Prüfung auf Abhängigkeiten + dpkg -l zeigt die installierten deb-Pakete an + dpkg -l "*Paket*" zeigt ob das Paket installiert ist + dpkg -p Paket zeigt Informationen über das installierte Paket + dpkg -I Paketname.deb zeigt Informationen über das deb-Binärpaket + dpkg -L Paket zeigt die enthaltenen Dateien des installierten + Paketes an + dpkg -c Paketname.deb zeigt die enthaltenen Dateien des + 32 + 3.27. Software installieren + deb-Binärpaketes + dpkg -S /Pfad/Datei zeigt das Paket aus dem die Datei stammt + apt neue Alternative für apt-get + apt-get autoclean Veraltete Pakete aus dem Cache löschen + apt-get clean alle Pakete aus dem Cache löschen + apt-get install Paket Installiert mit Prüfung auf Abhängigkeiten + apt-get remove Paket Deinstalliert mit Prüfung auf Abhängigkeiten + apt-get --purge remove Paket Deinstalliert vollständig + apt-get autoremove Deinstalliert nicht benötigte Pakete + apt-get dist-upgrade aktualisiert die gesamte Distribution + apt-cache search Name durchsucht die gesamte Distribution + apt-get update APT-Datenbank auf den aktuellen Stand bringen + dpkg --get-selections > Paketliste Paketliste exportieren + ###sudo dpkg --set-selections < Paketliste Paketliste importieren geht nicht + 3.27.3. Portage Gentoo + emerge --sync Aktualisieren des Portage-Tree mit rsync + emerge --webrsync Aktualisieren mit dem Portage-Snapshots + emerge --search Pragrammname Nach Software suchen + emerge --searchdesc Name Suche nach Paketen im Zusammenhang mit dem Namen + emerge Programmname Software installieren + emerge -pv Programmname Installation von Programmen simulieren, USE-Flags anzeigen + emerge --fetchonly Programmname Quellen herunterzuladen, noch nicht kompilieren + emerge --unmerge Programmname Entfernung von Programm aus dem System + emerge --update --ask world Aktualisierung des Systems + emerge -f -u -a world Aktualisierung herunterzuladen, aber nicht + kompilieren und installieren + emerge --update --deep world Aktualisierung des gesamten Systems + emerge --update --newuse world Neuerstellung des gesamten System + emerge --depclean verweiste Abhängigkeiten entfernen + revdep-rebuild reverse Abhängigkeiten neu erstellen + etc-update Konfigurationsdateien zusammenzuführen + equery belongs /Pfad/Datei zeigt das Paket aus dem die Datei stammt + equery depends Programmname Abhängigkeiten anzeigen + equery depgraph Programmname Abhängigkeiten als Baum anzeigen + equery files Programmname Dateien auflisten, die zu einem Ebuild gehören + 33 + 3. Befehle + equery hasuse USE-Flag Pakete suchen, die ein spezifisches USE-Flag + benutzen + equery size Programmname Paketgröße anzeigen + equery uses Programmname Gesetzte und nicht gesetzte USE-Flags + equery which Programmname Anzeigen des Ebuildpfads + euse -a Alle aktiven USE-Flags anschauen + euse -a -l Aktive lokale USE-Flags anschauen + euse -E USE-Flag Setzen von USE-Flags + euse -D USE-Flag Deaktivieren von USE-Flags + 3.27.4. Quelltexte + tar xvfz Source.tgz Quelltext entpacken + ./configure Makefile konfigurieren + make Programm übersetzen, + wenn Makefile vorhanden + make install Programm installieren + make uninstall Programm deinstallieren + 3.27.5. Hilfe + ldd Programm zeigt die zu ladenen Bibliotheken des Programms + strace -eopen Programm zeigt die geladenen Bibliotheken des Programms + 3.28. Im Netz + #ifconfig -a -> ip link + ip link alle aktiven Netzwerkschnittstellen ausgeben + ifconfig | grep eth0 | cut -c 39-55 Ethernet-Adresse von eth0 ausgeben + ftp Rechner Programm zur Übertragung von Files + via Internet starten + host www.suse.de befragt den DNS-Server nach + der IP-Nummer des Rechners + host 192.168.9.10 fragt nach dem Namen des Rechners + nslookup www.debian.de befragt den DNS-Server nach + der IP-Nummer des Rechners + nslookup 192.168.11.12 fragt nach dem Namen des Rechners + ping Rechner sendet Pakete an Rechner mit Echo + rlogin Rechner auf anderen Rechner anmelden + 34 + 3.29. SSH + scp Rechner:Pfad Rechner:Pfad Programm zur Übertragung von Files + ssh Rechner auf anderen Rechner anmelden + ssh Rechner -l root oder auf anderen Rechner als root anmelden + ssh root@Rechner + telnet Rechner Kommunikation ueber das TELNET-Protokoll + nmap -sT -PT Rechner Scannt die Ports von Rechner + nmap -sT -p 1-65535 -PT Rechner Scannt alle Ports von Rechner + netcat ip port zeigt den angegebenen Port an + 3.29. SSH + SSH(Secure shell) ist ein verschlüsseltes Netzwerkprotokoll auf TCP-Port 22, ermög- + licht eine sichere authentifizierte und verschlüsselte Verbindung zwischen zwei Rech- + nern über ein unsicheres Netzwerk. + scp Rechner:Pfad Rechner:Pfad Programm zur Übertragung von Files + ssh Rechner auf anderen Rechner anmelden + ssh Rechner -l root oder auf anderen Rechner als root anmelden + ssh root@Rechner + 3.29.1. Generierung eines DSA Schlüsselpaares + ssh-keygen -t dsa -b 2048 generiert DSA-Schlüsselpaar mit + einer Bit-Tiefe von 2048 + ~/.ssh/id_dsa - private-key mit bestätigen + passphrase - Passwort für den private-key und der Anmeldung, + für passwortlose SSH-Verbindungen weg lassen oder + zu Beginn einer Sitzung mit ssh-add ~/.ssh/id_dsa + abfragen lassen + 3.29.2. Public-Key auf dem Zielrechner hinzufügen + cat ~/.ssh/id_dsa.pub | ssh zieluser@zielrechner \ + "mkdir -p .ssh; cat >> .ssh/authorized_keys" + - public-key auf dem Zielrechner hinzufügen + ssh zieluser@zielrechner "chmod 600 ~/.ssh/authorized_keys" + - public-key auf dem Zielrechner schützen + 3.29.3. Private-Key auf dem Qellrechner + ~/.ssh/id_dsa - der Private-Key gehört auf dem Qellrechner in das + ~/.ssh/ Verzeichnis + 35 + 3. Befehle + 3.29.4. Login nur mit SSH-Keys erlauben + /etc/ssh/sshd_config - folgendes in die Datei sshd_config + PubkeyAuthentication yes eingetragen + UsePAM no + PasswordAuthentication no + rcsshd restart - SSH-Dämon neu starten + 3.30. GnuPG + Mit GnuPG kann man Daten signieren und verschlüsseln. GnuPG unterstüzt symme- + trische und asymmetrische Verschlüsselung. + http://www.gnupg.org/ http-Adresse für GnuPG + http://www.gnupg.org/related_software/gpa/ Grafische Benutzereingabe + http://www.heise.de/security/dienste/pgp/ Krypto-Kampagne, bei der + ein Abgleich zwischen + Person, Personalausweis + und Schlüssel erfolgt + http://kmail.kde.org/ Mailprogramme mit GnuPG + http://www.mutt.org/ Unterstützung + http://www.ximian.com/products/evolution/ + 3.30.1. Erzeugen + gpg --gen-key Schlüssel-Paar erzeugen + gpg --gen-revoke 0xKeyID Widerruf Zertifikat erzeugen + > gpg-rev-Will_no_longer_use_it + > gpg-rev-Lost_private_key + > gpg-rev-Forgot_password + > gpg-rev-Key_compromised + 3.30.2. Hochladen + gpg --keyserver wwwkeys.de.pgp.net --send-keys 0xKeyID + Public Key auf den Keyserver hochladen + gpg -a --export 0xKeyID | mail -s "add" pgp-public-keys@keys.de.pgp.net + Public Key an den Keyserver verschicken + Keyserver: + Land eMail-Adresse HTTP-Adresse + ---- ------------- ------------ + Deutschland pgp-public-keys@keys.de.pgp.net http://wwwkeys.de.pgp.net/ + 36 + 3.30. GnuPG + Östereich pgp-public-keys@keys.at.pgp.net http://wwwkeys.at.pgp.net/ + Schweiz gp-public-keys@keys.ch.pgp.net http://wwwkeys.ch.pgp.net/ + 3.30.3. Löschen + gpg --recv-keys 0xKeyID Key vernichten + gpg --import WiderrufZertifikat + gpg --send-keys 0xKeyID + gpg --delete-key 0xKeyID löscht einen öffentlichen Schlüssel + cat gpg-rev-xxx | mail -s "add" pgp-public-keys@keys.de.pgp.net + Widerruf Zertifikat an den Keyserver + verschicken + 3.30.4. Holen + gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0xKeyID + Public-Key vom Keyserver holen + mail -s "get thomasb@trash.net" pgp-public-keys@keys.de.pgp.net + Public-Key per E-Mail + vom Keyserver holen + gpg --import Key.txt Public-Key inportieren + 3.30.5. Signatur erzeugen und prüfen + gpg -a --sign Datei einen Text signieren, erzeugt Datei.asc + gpg --verify Datei.asc Datei eine Signatur prüfen + gpg --clearsign Datei einen Text signieren, + erzeugt neue Datei.asc + gpg --verify Datei.asc eine Signatur prüfen + 3.30.6. Verschlüsseln + gpg -a -r Empfänger0xKeyID -e Datei + einen Text verschlüsseln, + erzeugt Datei.asc + 3.30.7. Entschlüsseln + gpg Datei.asc einen verschüsselten und signierten Text + entschlüsseln und die Signatur prüfen, + erzeugt Datei + 37 + 3. Befehle + 3.30.8. Schlüsselverwaltung + gpg --edit 0xKeyID Schlüsselverwaltung + help - Anzeige aller Befehle + quit - Das Menu beenden + 3.30.9. Anzeigen + gpg --list-keys zeigt alle öffentlichen Schlüssel + gpg --list-sigs zeigt alle Unterschriften + gpg --fingerprint zeigt alle Fingerabdrücke + 3.30.10. Exportieren + gpg -a --export 0xKeyID > Datei exportiert den Schlüssel 0xKeyID + in Datei + gpg -a --export > Datei exportiert alle Schlüssel in Datei + 3.31. X11 - Grafik + /etc/XF86Config bis XFree86.3.3.x Konfigurationsdatei + /etc/X11/XF86Config ab XFree86.4.x Konfigurationsdatei + [Alt]+[F1] bis [F6] Umschalten zwischen Textkonsolen alle Shells + [AltGr]+[Fn] Umschalten zwischen den Textkonsolen n+12 + [Alt]+[Pfeil links oder rechts] um durch die benutzten Konsolen zu stöbern + [Strg]+[Alt]+[F1] bis Umschalten zu Textkonsolen alle Shells + [Strg]+[Alt]+[F6] aus X11 heraus + [Strg]+[Alt]+[F7] Umschalten zu X11 aus Textkonsole alle Shells + bei Caldera 2.2 [Alt]+[F8] + [Strg]+[Alt]+[<--] X-Server sofort beenden + [Strg]+[Alt]+[+] verschiedene Auflösungen im laufenden + [Strg]+[Alt]+[-] Betrieb wechseln + xf86config Shell-Konfigurationsprogramm für X 3+4 + XF86Setup X-Konfigurationsprogramm bis XFree86.3.3.x + sax X-SuSE-Konfigurationsprogramm bis XFree86.3.3.x + sax2 X-SuSE-Konfigurationsprogramm ab XFree86.4.x + startx X-Server starten + startx -- -bpp 16 X-Server mit 16 Bit starten + startx - -- :0 vt07 X-Server auf F7 starten + startx - -- :1 vt08 2. X-Server auf F8 starten + export WINDOWMANAGER=WM X-Umgebungsvariable auf WM(kde, gnome, + 38 + 3.31. X11 - Grafik + fvwm, olwm ...) ändern + 3.31.1. Bildschirmschoner + xset s auf Standardeinstellungen zurücksetzen + xset s 60 nach 1 Minute aktivieren + xset s blank schwarzen Bildschirm verwenden + xset s noblank X-Logo statt schwarzen Bildschirm anzeigen + xset s 60 3 X-Logo alle 3 Sekunden neu platzieren + xset s off Bildschirmschoner deaktivieren + xset s on Bildschirmschoner einschalten + xset s activate Bildschirmschoner sofort aktivieren + xset q aktuelle Einstellungen anzeigen + xsetroot -solid blue Hintergrund + 3.31.2. X11 ohne Maus + [Umschalt]+[Strg]+[Num] Maussteuerung am Ziffernblock ein/ausschalten + [4],[6],[8],[8] links, rechts, oben, unten + [*],[-] auf linke, rechte Maustaste umschalten + [5],[+],[0],[5] Maustaste, Doppelklick, gerückt halen, lösen + 39 + 4. Verzeichnisse und Dateien + 4.1. Dateibaum + / oberste Verzeichnis + im Dateisystem (Root/Wurzel) + . Verweis auf sich selbst + .. Verweis auf das übergeordnete Verzeichnis + /bin/ ausführbare Dateien der wichtigsten Befehle + #/bin/init -> /sbin/init + /boot/ enthält die Dateien des LILO Bootloaders und + kann Kernel-Images enthalten + /boot/boot.b der LILO-Maschinencode + /boot/map Informationen für LILO + um den Betriebssystemkern zu starten + /boot/message wird vor der LILO-Bootauswahl ausgegeben + /boot/vmlinuz der Betriebssystemkern kann auch im / liegen + /cdrom/ dient zur CDROM-Einbindung + /dev/ Sammlung der Gerätedateien + /dev/audio ähnlich wie /dev/dsp, Daten werden y-Law codiert + /dev/cdrom Link auf den CD-Rom Treiber oft /dev/hdc + /dev/console reale Console + /dev/dsp Link auf den A/D-W. der Soundk. (-> /dev/dsp0) + /dev/dsp0 Analog/Digital-Wandler der Soundkarte + /dev/fd0 erstes Diskettenlaufwerk + /dev/fd1 zweites Diskettenlaufwerk + /dev/full beim Schreiben wird der Fehler ENOSPC erzeugt + /dev/hda erstes (E)IDE Gerät + /dev/hda1 -> /dev/hda4 primäre Partitionen + /dev/hda5 -> /dev/hda? logische Partitionen + /dev/hdb zweites (E)IDE Gerät + /dev/hdc drittes (E)IDE Gerät + /dev/hdd viertes (E)IDE Gerät + /dev/initrd zusätzliche RAM-Disk mit Kernelmodulen und + Bootsystem zur Initialisierung des Kernels + /dev/kmem virtueller Arbeitsspeicher + /dev/loop* ermöglicht eine Datei wie eine Diskette oder + Festplattenpartition zu mounten + /dev/lp0 erste parallele Schnittstelle + 41 + 4. Verzeichnisse und Dateien + /dev/lp1 zweite parallele Schnittstelle + /dev/lp2 dritte parallele Schnittstelle + /dev/md* zusammengelegte Festplatten linear,Raid0 oder 1 + /dev/mem physikalischer Arbeitsspeicher + /dev/midi00 direkte Kommunikation mit einem MIDI-Gerät + /dev/mixer Link auf den Mixer (-> /dev/mixer0) + /dev/mixer0 Mischpult der 1. Soundkarte + /dev/modem Link auf den Modemtreiber (-> /dev/ttyS0) + /dev/mouse Link auf den Maustreiber (-> /dev/psaux) + /dev/music eine andere Art von Sequencer, speziell für die + MIDI-Schnittstelle + /dev/nst* SCSI-Streamer (No Rewind On Close) + /dev/null Mülleimer des Systems + /dev/port zum ansprechen einzelner IO Ports + /dev/psaux PS/2-Maus + /dev/pts/ Unix98 PTY slaves + /dev/ram Link auf die RAM-Disk (-> /dev/ram0) + /dev/random zur Erzeugung kryptografisch hochwertiger + Zufallszahlen + /dev/rmt* QIC-02-Streamer + /dev/rtc batteriegepufferte CMOS-Uhr + /dev/sd* SCSI-Festplatten + /dev/sequencer Synthesizer der Soundkarte oder ein am MIDI-Port + angeschlossenes Gerät + /dev/sndstat Informationen über den Status des Soundtreibers + /dev/st* SCSI-Streamer + /dev/tty aktive virtuelle Console + /dev/tty1 1. virtuelle Console + /dev/tty2 2. virtuelle Console + /dev/ttyS0 erste serielle Schnittstelle COM1 + /dev/ttyS1 zeite serielle Schnittstelle COM2 + /dev/ttyS2 dritte serielle Schnittstelle + /dev/ttyS3 vierte serielle Schnittstelle + /dev/urandom zur Erzeugung von Zufallszahlen + /dev/xd* 8-Bit XT-Festplattencontroller + /dev/zero zum Lesen beliebig vieler Nullbytes + /etc/ Konfigurationsdateien + /etc/adjtime zur Korrektur der batteriegepufferten CMOS-Uhr + (clock) + /etc/bash.bashrc globale bash konfiguration + #/etc/conf.modules -> /etc/modules.conf + /etc/cryptotab /etc/fstab für Krypto-Filesystem + /etc/csh.login Startdatei für die C-Shell + /etc/diphosts eine Art /etc/passwd für SLIP Login + /etc/DIR_COLORS festlegen der Farben für ls + 42 + 4.1. Dateibaum + /etc/exports Verzeichnisse und Rchnernamen, die diese + Verzeichnisse per NFS mounten dürfen + wird hier eingetragen + /etc/fdprm Parameter von Diskettenformaten + /etc/fstab um Benutzern das An- und Abmelden + von Dateisystemen zu erlauben + /etc/ftpaccess Woher ? Wann ? Was ? ... + /etc/ftpusers ... und Wer NICHT ? + /etc/gateways Rechner des lokalen Netzes die Kontakt mit + anderen Netzen haben + /etc/gettydefs Beschreibung der seriellen Terminals + /etc/group Benutzergruppen und ihre Mitglieder + /etc/host auflösen von Netzwerknamen + über die resolver-Bibliothek + /etc/host.allow Rechner und Netze mit denen Verbindung aufgebaut + werden darf + /etc/host.conf eine der Konfig. den Domain Name Service + /etc/host.deny Rechner und Netze die sich nicht mit diesem + Rechner verbinden dürfen + /etc/host.equiv Rechner die "gleichartig" behandelt werden + /etc/HOSTNAME hier steht der Name des Rechners + ohne den Domainnamen + /etc/hosts ordnet IP-Adressen Hostnamen zu + /etc/inetd.conf welche Services gestartet werden (inetd) + /etc/init -> /sbin/init + /etc/init/ Dateien für Upstart + /etc/init.d/ Dateien für die Init-Levels + /etc/init.d/inetd startet den inetd, z.B. zum Anmelden + vom Netzwerk + /etc/init.d/network startet die Konfiguration + der Netzwerk Hard- und Software + /etc/init.d/portmap starte den Portmapper, + um den RPC-Server verwenden zu können + /etc/init.d/route setzt die statischen Routen im Netzwerk + /etc/init.d/sendmail kontrolliert den sendmail-Prozess + in Abhängigkeit + /etc/init.d/rc0.d/ bis rc6.d/ init 0 bis 6 + /etc/init.d/rcS.d/ init S + /etc/initscript init führt die Kommandos durch dieses Script + ondemand und respawn aus + #/etc/inittab Grunteinstellung der Init-Levels und Terminals + (/sbin/init) + /etc/isdn/ ISDN-Konfigurationen + /etc/issue Begrüßungstext beim Login (getty) + /etc/ld.so.cache zur Shared Libraries identifizierung (ldconfig) + 43 + 4. Verzeichnisse und Dateien + /etc/ld.so.conf Verzeichnisse zu neuen Shared Libraries + (ldconfig) + /etc/lilo.conf Konfigurationsdatei des LILO + /etc/login.defs Login Einstllungen (login) + /etc/magic Magic Numbers zum Erkennen von Dateien (file) + #/etc/man.config -> /etc/manpath.config + /etc/manpath.config Verzeichnisse in den Manualpages gesucht werden + /etc/minicom.users Benutzer die minicom benutzen dürfen + /etc/modules.conf Modulinformationen ((für den Kerneld(Dämon))) + /etc/motd Begrüßung nach dem Anmelden + /etc/mtab Liste der aktuell zu Verfügung + stehenden Dateisystemen + /etc/mtools.conf (un)logische Laufwerksbuchstaben + von MS-DOS für die M-Befehle + /etc/named.boot für den named Dämon des DNS + /etc/networks die Namen und IP der lokalen Netze + /etc/nntpserver der Name und die IP des Newsrechners + /etc/nologin macht jedes "normale" Einloggen unmöglich, nur + die root kann sich anmelden, sonst wird der + Inhalt von nologin ausgegeben (login) + /etc/nscd.conf Konfiguration des Name Service Cache Dämon + /etc/nsswitch.conf in welcher Reihenfolge bestimmte + Informationen abgefragt werden + /etc/opt/ Rechner-spezifische Konfigurationsdateien + der Pakete + /etc/passwd Liste aller Benutzer mit Informationen + /etc/powerstatus Zustand der Stromversorgung + /etc/printcap Beschreibung des oder der Drucker des Systems + (lpd) + /etc/profile Globale Benutzerprofile + /etc/prtocols Liste aller Internetprotokolle die vom Kernel + unterstützt werden + /etc/psdatabase enthält kernelabhängige Daten für procps + /etc/rc* Systeminitialisierungsdateien (init) + /etc/rc.config zentrale Konfigurationsdatei -> /etc/sysconfig/ + /etc/rc.config.d/ weitere Dateien mit rc.config Variablen + /etc/resolv.conf bestimmt ob und wo ein Nameserver erreicht + werden kann + /etc/rpc enthält die Zuordnung der durch den rpc-Service + bereitgestellten Netzdienste zu Socketnummern + /etc/securetty Terminals von den sich der Benutzer + root anmelden darf (login) + /etc/services ordnet Portnummern Servicenamen zu + /etc/shadow hier sind die Shadow-Passwörter gespeichert + /etc/shells Liste aller Shells + 44 + 4.1. Dateibaum + /etc/shutdown.allow Liste der Benutzer die zum Herunterfahren des + Systems berechtigt sind + /etc/skel/ Dateien die beim Anlegen + eines Benutzers in das ~ kopiert werden + /etc/SuSE-release Angaben zur installierten SuSE Linux version + /etc/sysconfig/ zentrale Konfigurationsdateien -> /etc/rc.config + /etc/syslogd.conf legt fest wohin Meldungen geschrieben werden + (syslogd) + /etc/termcap Beschreibungen für Terminaleigenschaften (getty) + /etc/ttytype legt den voreingestellten Terminaltyp + für die Terminals fest + /etc/XF86Config bis XFree86.3.3.x Konfigurationsdatei + /etc/X11/XF86Config ab XFree86.4.x Konfigurationsdatei + /floppy/ dient zur Floppy-Einbindung + /home/ Heimatverzeichnisse der Benutzer + /home/~/.bash_history gespeicherte Eingaben der bash + /home/~/.bashrc Konfiguration der bash + /home/~/.ctwmrc Konfiguration des ctwm-Fenstermanagers + /home/~/.exrc Konfiguration des vi, ex + /home/~/.fvwmrc Konfiguration des fvwm-Fenstermanagers + /home/~/.openwin-menu Konfiguration des olvwm und olwm-Fenstermanagers + /home/~/.profile wird nach dem User-Anmelden in der bash + ausgeführt + /home/~/.rhosts erlaubt die r-Kommandos + /home/~/.X.err Meldungen des X-Servers + /home/~/.xinitrc diese Datei wird von .xsession ausgeführt + /home/~/.xsession diese Datei wird nach dem Befehl + startx ausgeführt + /lib/ gemeinsam genutzte Bibliotheken Shared Libraries + /lib/modules/ nachladbare Module + /lost+found/ verlorene Daten, ist in jeder Wurzel + des EXT2-Dateisystems + /media/cdrom/ dient zur CDROM-Einbindung, ist oft im / + /media/floppy/ dient zur Floppy-Einbindung, ist oft im / + /mnt/ für temporär einzuhängende Dateisysteme + /mnt/cdrom/ dient zur CDROM-Einbindung, ist oft im / + /mnt/floppy/ dient zur Floppy-Einbindung, ist oft im / + /opt/ kommerzielle Systemerweiterungen + /opt/kde/ grafische Benutzeroberfläche KDE + /proc/ virtuelles Filesystem über laufende Prozesse + /proc/cpuinfo Informationen zur CPU + /proc/devices Liste der wichtigsten Gerätetreiber + /proc/dma Liste der verwendeten DMA-Kanäle + /proc/filesystems Liste der bekannten Dateisystemtypen + /proc/interrupts Liste der Interrupts + 45 + 4. Verzeichnisse und Dateien + /proc/ioports bekannte und definierte EA-Schnittstellen + /proc/kcore Gerätedatei für den Zugang + zum physikalischen Hauptspeicher + /proc/kmsg hier können Systemfehlermeldungen + ausgelesen werden + /proc/ksyms Liste der Kernel-Symbole und + ihrer Speicheradressen + /proc/loadavg durchschnittliche Systembelastung + in den letzten 1, 5 und 10 Min. + /proc/meminfo Beschreibung der aktuellen Speicherauslastung + /proc/modules Liste der geladenen Module und + Anzahl der aktuellen Nutzungen + /proc/mounts Liste der eingehängten Dateisysteme + /proc/net/ Informationen zur Netzwerkauslastung + /proc/pci Liste der gefundenen Geräte am PCI-Bus + /proc/scsi/ Informationen über SCSI-Geräte + /proc/stat Liste allgemeiner Statistiken zum System + /proc/uptime Sekunden seit dem Systemstart und + der Leerlaufzeit + /proc/version aktuelle Version des Linux-Kernels + /root/ Heimatverzeichnis des Systemverwalters root + /sbin/ Administrationskommandos + /sbin/init Nach dem Kernelstart wird versucht das + Programm init zu starten + #/sbin/init.d/ -> /etc/init.d/ + /tmp/ temporäre Dateien + /usr/ ausführbare Dateien, Libraries, X Window u.s.w + /usr/bin/ allgemein verfügbare Programmdateien + #/usr/doc/ -> /usr/share/doc/ + /usr/games/ Spiele :-) + /usr/include/ Headerdateien für den C-Compiler + /usr/include/g++/ Headerdateien für den C++-Compiler + /usr/info/ Infosystem fur GNU-Kommandos + /usr/lib/ Programmbibliotheken + /usr/lib/terminfo/ Verzeichnis mit Beschreibungen + für Terminaleigenschaften + /usr/local/ Ablage von Dateien und Kommandos die nicht + zur Distribution gehören + /usr/man/ Linux Handbuch + /usr/sbin/ Superuser Programmdateien + /usr/share/doc/ Dokumentationen + /usr/share/doc/packages/ Dokumentation der Programme + /usr/src/ Quellcode für den Kernel und weitere Programme + /usr/src/linux/ Kernel-Source + /usr/src/linux/arch/ Hardwarearchitektur-abhängige + 46 + 4.1. Dateibaum + Bestandteile des Kerns + /usr/src/linux/arch/alpha/ DEC-Alpha-Prozessoren + /usr/src/linux/arch/i386/ 386-Prozessoren + /usr/src/linux/arch/m68k/ Motorola 68k-Prozessoren + /usr/src/linux/arch/mips/ MIPS-Prozessoren R3000, R4000 bis R10000 + /usr/src/linux/arch/ppc/ Power-PC-Prozessor (ursprünglich IBM) + /usr/src/linux/arch/sparc/ SPARC-Prozessoren der Firma SUN + /usr/src/linux/Documentation/devices.txt offizielle Liste der + registrierten Devices mit ihren Gerätenummern + /usr/src/linux/drivers/ Zeichen-, Block-orientierte, + Netz-,Soundkarten-Gerätetreiber + /usr/src/linux/drivers/block/ Treiber für blockorientierte Ein-/Ausgabegeräte + wie Festplatten + /usr/src/linux/drivers/cdrom/ Treiber für CD-ROM Laufwerke + außer Atapi/IDE und SCSI + /usr/src/linux/drivers/char/ Zeichen. Treiber serielle Schnittstellen, + Bildschirm, Tastatur usw. + /usr/src/linux/drivers/net/ Treiber für die Netzwerkkarten + /usr/src/linux/drivers/pci/ Spezielle Treiber für PCI-Bus-Bausteine + /usr/src/linux/drivers/sound/ Soundkartentreiber + /usr/src/linux/drivers/scsi/ SCSI-Treiber + /usr/src/linux/fs/ Dateisysteme + /usr/src/linux/ipc/ InterProzessKommunikation, + z.B. Shared Memory, Semaphoren + /usr/src/linux/include/ Header-Dateien mit Struktur- und + Konstantendefinitionen + /usr/src/linux/init/ Initialisierungscode beim Starten des Systems + /usr/src/linux/kernel/ zentrale Aufgaben, z.B. Prozessverwaltung und + Schedulimg usw. + /usr/src/linux/mm/ Speicherverwaltung + /usr/src/linux/modules/ nachladbarer Teil des Kerns + /usr/src/linux/net/ Implementierung der Protokolltreiber + für TCP/IP,SPX/IPX usw. + /usr/src/linux/README Installationsbeschreibung für den Kernel + /usr/X11R6/ für Daten zum X-Window-System + /usr/X11R6/bin/ Programmdateien die mit X-Window-System arbeiten + /usr/X11R6/lib/X11/ Fenstermanager + /usr/X11R6/lib/X11/app-defaults/ voreingestellte Konfigurationen der + Anwendungen + /var/ sich schnell oder häufig ändernde Daten + /var/adm/inst-log/ Protokolldateien zur installation + /var/lib/rpm/Packages rpm-Datenbank + /var/lib/rpm/packages.rpm -> /var/lib/rpm/Packages + /var/log/ Protokolldateien + /var/log/boot.msg Kernelmeldungen vom letzten Start + 47 + 4. Verzeichnisse und Dateien + /var/log/messages Datei in der die Kernel Meldungen + gespeichert werden + /var/log/syslog zeit an welches Modul fehlt + /var/tmp/ für große temporäre Dateien + /vmlinuz der Defaultkernel kann auch in /boot/ liegen + 4.2. /etc/fstab + #Device Mountpunkt Typ Optionen Dump Check + /dev/hdd1 / reiserfs defaults 1 1 + /dev/hda1 /boot ext2 defaults 1 2 + /dev/sda1 swap swap defaults 0 0 + none /proc proc defaults 0 0 + /dev/hda3 /temp vfat defaults,umask=7000,uid=500,gid=100 0 0 + /dev/hda2 /windows vfat defaults 0 0 + /dev/hdc /cdrom auto ro,noauto,user,exec 0 0 + /dev/fd0 /floppy auto noauto,user 0 0 + /dev/hda3 /save reiserfs loop,encryption=twofish,noauto,users 0 0 + server:/ /server nfs rw,noauto,user,exec 0 0 + 4.3. /dev/ + ls -l /dev/fd0 + brw-rw-rw- 1 root disk 2, 0 Feb 16 16:30 /dev/fd0 + | | | +----- Gerät + | | +------ Minor-Device-Nummer(Nebennummer) + | +----------- Major-Device-Nummer(Hauptnummer) + +----------------- b-blockorientierte Geräte c-zeichenorientierte Geräte + Die Verbindung zum Kernel wird über Slots oder Kanäle hergestellt, die nummeriert + sind und hinter denen sich die Treiber verbergen. Die Nummer des Gerätetreibers wird + als Haupgerätenummer(Major Device Number) bezeichnet. Ein Treiber kann mehrere + Geräte des gleichen Typs verwalten. Um die einzelnen Geräte zu unterscheiden, wird + dem Treiber eine zweite Zahl, die Untergerätenummer (Minor Device Number), über- + geben. Diese beiden Zahlen charakterisieren jede Datei im /dev Verzeichnis. Zusätzlich + werden noch zwei Arten von Geräten unterschieden : + Die blockorientierten Geräte mit direktem Zugriff, wie z.B. Disketten oder Festplatten, + und die zeichenorientierten squentiellen Geräte, wie Drucker, Terminal oder Maus. + Damit hat jede Gerätedatei drei “Koordinaten“, mit der sie vom Kernel, unabhängig + von ihrem Namen, eindeutig identifiziert werden kann. Die offizielle Liste der regi- + strierten Devices mit ihren Gerätenummern ist bei den Kernelsourcen in der Datei + /usr/src/linux/Documentation/devices.txt zu finden. + 48 + 4.4. Dateisystemtypen unter Linux + 4.4. Dateisystemtypen unter Linux + affs Ein auf dem Amiga verwendetes Dateisystem (engl. Amiga Fast Filesystem). + ext2 Das Standard-Dateisystem unter Linux (engl. Second extended Filesystem). + ext3 Journaling Filesystem + hpfs Standard-Dateisystem von IBM OS/2 (engl. High Performance Filesystem). + Dieses wird von Linux nur mit Lesezugriff unterstüzt. + iso9660 Standard-Dateisystem auf CD-ROMs. + minix Dieses Dateisystem hat seinen Ursprung in akademischen Lehrprojekten + über Betriebssysteme und war das erste Dateisystem, welches für Linux + verwendet wurde. Heute wird es unter Linux vornehmlich als Dateisystem + für Disketten verwendet. + msdos Ursprünglich von DOS verwendetes Dateisystem, welches aber bis heute von + diversen Betriebssystemen genutzt wird. + ncpfs Dateisystem für das Novell-Volumes. + nfs Hier sind die Daten auf der Festplatte eines anderen Rechners und + werden über das Netzwerk zugänglich gemacht (engl. Network Filesystem). + proc Prozess-Dateisystem (virtuell). + reiserfs Das ReiserFS ist ein hochperformantes "’Journaling Filesystem"’; + seit SuSE Linux 6.4 auf x86-Architekturen verfügbar. + smbfs SMB (engl. Server Message Block) ist ein Protokoll, das von WfW, + Windoofs NT und LAN Manager verwendet wird, um Dateien über ein Netzwerk + verfügbar zu machen. + sysv Von SCO-Unix, Xenix und Coherent (kommerzielle UNIX-Systeme für PCs) + verwendetes Dateisystem. + ufs Von BSD, SunOS und NeXTstep verwendetes Dateisystem; dies Dateisystem + wird von Linux nur mit Lesezugriff unterstützt. + umsdos Setzt auf einem gewöhnlichen fat-Dateisystem auf (engl. UNIX on MSDOS) + und erreicht durch Anlegen spezieller Dateien die notwendige UNIX- + Funktionalität (Rechte, Links, lange Dateinamen); es ist jedoch sehr + langsamm. + vfat Erweiterung des fat-Dateisystems hinsichtlich der Länge der Dateinamen + (engl. Virtual FAT). + ntfs Windows NT-Dateisystem. + 4.5. /etc/group + #Gruppenname:Paßwort:Gruppennummer:Mitgliederliste + root:x:0:root + bin:x:1:root,bin,daemon + daemon:x:2: + sys:x:3: + tty:x:5: + disk:x:6:higi + 49 + 4. Verzeichnisse und Dateien + lp:x:7: + shadow:x:15:root,gdm + audio:x:17:root,higi + public:x:32: + video:x:33:higi + game:x:40:higi + modem:x:43: + users:x:100: + nogroup:x:65534:root + 4.6. /etc/hosts + # IP-Adresse #Aliasnamen + 127.0.0.1 localhost + 127.0.1.1 latex + ::1 localhost ip6-localhost ip6-loopback + ff02::1 ip6-allnodes + ff02::2 ip6-allrouters + 192.168.0.10 rechner rechner.loc www.rechner.loc + 4.7. /etc/inittab + Nach dem Kernelstart wird versucht das Programm init zu starten. Dabei werden + nacheinander die Verzeichnisse /etc/, /bin/ und /sbin/ nach init abgesucht. Kann init + /dev/consolenicht öffnen wird im Einzelbenutzerbetrieb (Single User Mode) gestartet. + Beim LILO-Bootpromt kann init=/bin/sh angegeben werden um die Shell anstelle + von init zu laden. Das Programm init liest die Datei /etc/inittab und wird durch + die Datei das System konfigurieren. /etc/inittab wird vom Kommando init Zeile für + Zeile abgearbeitet. In jeder Zeile seht jeweils eine Anweisung. Jede Zeile wird durch + Doppelpunkte unterteilt. Der Aufbau sieht wie folgt aus: + Terminal:Termcapeintrag:Gettykommando Simpleinit von Peter Orbaek mit + Erweiterung von Werner Almesberger + 4.7.1. Terminal + Bezeichnet das Terminal (tty1, tty2, ttyS0 ...) + 4.7.2. Termcapeintrag + Wird in die TERM Variable der Shell geschrieben und sollte mit einem Eintrag in der + Datei /etc/termcap übereinstimmen. + 50 + 4.7. /etc/inittab + 4.7.3. Gettykommando + Pfad und Optionen zum Getty-Kommando + #Beispieleinerinittabfürsimpleinit#Format:Terminal:Termcapeintrag:Gettykommando + tty1:linux:/sbin/getty9600tty1tty2:console:/sbin/getty9600tty2tty5:con100x40:/sbin/getty + 9600 tty5 ttyS1:vt102:/sbin/getty 9600 ttyS1 + Kürzel:Arbeitsstufen:Modus:Kommando Sysvinit von Mike Jagdis und + Miquel van Smoorenburg + 4.7.4. Kürzel + Jede Aktion muß mit einem eindeutigen (maximal vierstelligen, a.out oder Librari- + es<5.2.18maximalzweistelligen) Kürzelversehen werden,das bei Einträgen in Logfiles + und bei Fehlermeldungen ausgegeben wird. + 4.7.5. Arbeitsstufen + Es werden hier die Arbeitsstufen (Runlevel) eingetragen. Zulässige Arbeitsstufen sind + 0 - 9 und s. Es können auch die Pseudoarbeitsstufen(ondemand) a, b, c und q für + einmalig auszuführende Kommandosverwendetwerden. Es wird ohne Groß und Klein- + schreibung bezeichnet. In einer Zeile können bis zu 11 Runlevel zugeordnet werden. + Wenn das Feld für den Runlevel leer ist, wird die Aktion bei jedem Moduswechsel + ausgeführt. + 0 Systemhalt + S Einzelbenutzerbetrieb (Single User Mode) + 1 Einzelbenutzerbetrieb (Single User Mode) + 2 Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk + (Local multiuser without remote network) + 3 Voller Mehrbenutzerbetrieb mit Netzwerk + (Full multiuser with network) + 4 Frei (Not used) + 5 Voller Mehrbenutzerbetrieb mit Netzwerk und KDM, GDM oder XDM + (Full multiuser with network and xdm) + 6 Systemneustart (System reboot) + Q Quit zum Neueinlesen der inittab + 4.7.6. Modus + Gibt an wie das Kommando im letzten Feld ausgeführt werden soll. + initdefault Bestimmt den Runlevel beim Systemstart. + sysinit Wird einmal nach dem Kernelstart ausgeführt. + bootwait Wird einmal ausgefürt, wenn in einem Mehrbenutzerbetrieb + gestartet wird und wartet bis das Kommando beendet ist. + boot Wie bootwait nur das nicht gewartet wird. + 51 + 4. Verzeichnisse und Dateien + respawn Überwacht das laufende Kommando und startet es neu, wenn es + beendet wurde. Wird es in zwei Minuten 10 mal neu gestartet, + setzt init das Kommando für fünf Minuten aus. + ondemand Wie respawn, um mit Buchstaben gekennzeichnete Level einzelne + Kommandos mit telinit zu starten. + wait Wartet bis das Kommando beendet ist. + once Wird einmal ausgefürt, es wird nicht gewartet. + off Wenn das Kommando läuft, wird es angehalten. + ctrlaltdel Kommando (Signal SIGINT, [Strg]+[Alt]+[Entf]) z.B. Rebooten des + Systems. + kbrequest Kommando wird ausgeführt, wenn das Signal SIGWINCH + [Alt]+[Pfeil hoch] von der Tastatur kommt. + powerwait Wenn init sich in einem passenden Runlevel befindet, das + Signal SIGPWR erhält oder über Pipeline /dev/initctrl den + entsprechenden Befehl erhält und wartet auf Beendigung des + Kommandows. Das Signal kann mit Hilfe eines Dämons von einer USV + erzeugt werden. + powerfail Wie powerwait wartet jedoch nicht. + powerfailnow Wie powerwait es muß die Datei /etc/powerstatus zusätzlich das + Wort Low enthalten. So kann das APM eines Notebooks mit Hilfe + eines Dämons das System herrunterfahren. + powerokwait Wie powerwait es muß die Datei /etc/powerstatus zusätzlich das + Wort OK enthalten. Auf diese weise kann das System in den + normalen Zustand gebracht werden, nachdem die Stromversorgung + wieder hergestellt ist. + 4.7.7. Kommando + Pfad und Optionen zum Kommando, wird durch die Bourne-Again-Shell abgearbeitet. + Bei jedem Kommandostart wird versucht die Datei /etc/initscript abzuarbeiten, die + dann das Kommando startet. + # Beispiel einer inittab für sysvinit + # Format: Kürzel:Arbeitsstufen:Modus:Kommando + # Bestimmt den Runlevel beim Systemstart + id:5:initdefault: + # Erstes Script, wenn nicht im Notfallsystem (-b) gestartet wird. + si::bootwait:/etc/init.d/boot + # /etc/init.d/rc übernimmt die Runlevel Behandlung + l0:0:wait:/etc/init.d/rc 0 + l1:1:wait:/etc/init.d/rc 1 + l2:2:wait:/etc/init.d/rc 2 + 52 + 4.8. /etc/passwd + l3:3:wait:/etc/init.d/rc 3 + #l4:4:wait:/etc/init.d/rc 4 + l5:5:wait:/etc/init.d/rc 5 + l6:6:wait:/etc/init.d/rc 6 + # Bestimmt den Einzelbenutzerbetrieb (Single User Mode) + ls:S:wait:/etc/init.d/rc S + ~~:S:respawn:/sbin/sulogin + # Aktion bei Signal SIGINT, [Strg]+[Alt]+[Entf] + ca::ctrlaltdel:/sbin/shutdown -r -t 4 now + # Aktion bei Signal SIGWINCH [Alt]+[Pfeil hoch] + kb::kbrequest:/bin/echo "’Keyboard Request -- edit /etc/inittab to let this work."’ + # Aktion bei Stormausfall und Wiederherstellung + pf::powerwait:/etc/init.d/powerfail start + pn::powerfailnow:/etc/init.d/powerfail now + #pn::powerfail:/etc/init.d/powerfail now + po::powerokwait:/etc/init.d/powerfail stop + # getty-Programme für die normalen Runlevels + 1:2345:respawn:/sbin/mingetty --noclear tty1 + 2:2345:respawn:/sbin/mingetty tty2 + 3:2345:respawn:/sbin/mingetty tty3 + 4:2345:respawn:/sbin/mingetty tty4 + 5:2345:respawn:/sbin/mingetty tty5 + 6:2345:respawn:/sbin/mingetty tty6 + #S0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt102 + 4.8. /etc/passwd + #Benutzername:Paßwort:Benutzernummer:Gruppennummer:GCOS:Heimat:Shell + root:x:0:0:root:/root:/bin/bash + bin:x:1:1:bin:/bin:/bin/bash + daemon:x:2:2:daemon:/sbin:/bin/bash + lp:x:4:7:lp daemon:/var/spool/lpd:/bin/bash + games:x:12:100::/var/games:/bin/bash + man:x:13:2::/var/cache/man:/bin/bash + ftp:x:40:2:ftp account:/usr/local/ftp:/bin/bash + nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash + higi:x:500:100:Higi:/home/higi:/bin/bash + gast:x:501:100:Gast:/home/gast:/bin/bash + 53 + 5. Die Shells + 5.1. Die Shells + Eine Shell ist ein Kommando-Interpreter, ein Programm das durch ein anderes ersetzt + werden kann. Es zerlegt die Kommandozeile, führt Sonderzeichen durch und reicht das + Kommandoan UNIX weiter. Ohne Shell gibt es keinen Zugang zum Betriebssystem. + /bin/sh Bourne-Shell zum programmieren + /bin/ksh Korn-Shell Mischung aus C-und Bourne-Shell + /bin/csh C-Shell zum interaktiven Arbeiten + /bin/bash Bourne-Again-Shell + /bin/tcsh TC-Shell + export Setzt Umgebungsvariablen, Variablen exportieren + locate Findet Dateien anhand einer Datenbank + setenv Setzt Umgebungsvariablen unter Nicht-Bash Shells, z.B. csh + unset Variable löschen in ksh, bsh und bash + unsetenv Variable löschen in csh + 5.2. Die Start-Scripts + ~/.bashrc bash + 5.3. Tastenkombinationen + [Strg]+[l] Bildschirm löschen bash und csh + [Strg]+[a] oder [Pos 1] Zeilenanfang bash und csh + [Strg]+[e] oder [Ende] Zeilenende bash und csh + [Alt]+[f] Wort vorwäts bash und csh + [Alt]+[b] Wort rückwärts bash und csh + [Strg]+[c] Befehlseingabe verwerfen alle Shells + [Strg]+[c] Programm abbrechen + [Pfeil rechts] und [Pfeil links] Cursor bewegen bash und csh + [Pfeil hoch] und [Pfeil runter] History-Scrolling bash und csh + [Strg]+[r] in der History suchen bash + [Tab] Komplettierung bash und csh + [Strg]+[d] beendet die Shell alle Shells + 55 + 5. Die Shells + [Strg]+[d] oder [Entf] ein Zeichen löschen + [Strg]+[h] oder [Backspace] Zeichen rückwärts löschen + [Strg]+[k] Zeile ab Cursor löschen + [Alt Gr]+[Umschalt] zwei folgende Zeichen vereinen + ae -> AE, co -> \texteuro + [Strg]+[z] im Vordergrund laufendes Programm anhalten + Fortsetzung mit fg + [Umschalt]+[Bild hoch] und vorherige Textausgabe alle Shells + [Umschalt]+[Bild runter] zurückholen + [Alt]+[F1] bis [F6] Umschalten zwischen Textkonsolen alle Shells + [AltGr]+[Fn] Umschalten zwischen den Textkonsolen n+12 + [Alt]+[Pfeil links oder rechts] um durch die benutzten Konsolen zu stöbern + [Strg]+[Alt]+[F1] bis Umschalten zu Textkonsolen alle Shells + [Strg]+[Alt]+[F6] aus X11 heraus + [Strg]+[Alt]+[F7] Umschalten zu X11 aus Textkonsole alle Shells + bei Caldera 2.2 [Alt]+[F8] + [Strg]+[Alt]+[<--] X-Server sofort beenden + [Strg]+[Alt]+[+] verschiedene Auflösungen im laufenden Betrieb + [Strg]+[Alt]+[-] wechseln + [Strg]+[Alt]+[Entf] Signal SIGINT z.B. reboot Shell + 5.4. Die C-Shell + ~ Home-Verzeichnis + ~user Home-Verzeichnis des Benutzers user + * beliebige Zeichen-kette + ? genau Zeichen + {a,b,c} a oder b oder c + [aceg] genau eines der Zeichen + [a-z] a bis z + [!adfh] kein a, d, f, h + ´´ maskiert alles + \ maskiert das nachfolgende Zeichen + "" maskiert $ ‘ \ nicht + > Datei Ausgabe in die Datei, stdout + >& Datei Ausgabe in die Datei, stdout und stderr + >>Datei Unlenkung in die Datei, stdout umgelenkt + < Datei von der Datei lesen, anstatt von stdin zu lesen + set noclobber Überschreiben einer vorhandenen Datei verhindern + | Ausgabekanal eines Kommandos direkt in den Eingabekanal eines + anderen Kommandos leiten + #!Programm so beginnt eine Datei die vom Progamm ausgeführt wird + $HISTSIZE History-Größe + $LS_OPTIONS ls Funktionen + 56 + 5.5. Bash rechnen + $PATH Pfad zu den Programmdateien + Programm & Programm im eigenem Prozess starten + 5.5. Bash rechnen + echo $((1+1)) gibt 1 aus + a=4 + b=5 + echo $((a*b)) gibt 20 aus + echo $((a-b)) gibt -1 aus + 57 + Teil II. + Programme + 59 + 6. Der Texteditor vi/vim + Der vi-Editor ist auf UNIX/Linux(neben Emacs) der meistverwendete Texteditor. Die + Bedienung erfolgt über den Befehls- und Kommando-modus. Da es nicht gerade ein- + fach ist sich diese Optionen zu merken, folgt eine Auflistung der meist gebrauchten + Optionen. + 6.1. Aufruf + vi Editor vi aufrufen + vi Datei Editor vi aufrufen und Datei öffnen + vi -r swap-Dateien anzeigen + vi -r Datei Datei nach einem Stromausfall oder Absturz wieder herstellen + vi -R Datei Datei schreibgeschützt öffnen + 6.2. Eingabemodus (input mode) + UmindenEingabemodus zu gelangen muss A, C, I, O, R, S, a, i, o oder s eingegeben + werden. i ist eine gute Wahl. Mit wird der Eingabemodus verlassen. + 6.3. Befehlsmodus (visual mode) + 6.3.1. Eingeben: + (n)i eingeben fügt den eingeben Text (n mal) vor dem Cursor ein + (n)a eingeben fügt den eingeben Text (n mal) hinter dem Cursor ein + (n)I eingeben fügt den eingeben Text (n mal) am Zeilenanfang ein + (n)A eingeben fügt den eingeben Text (n mal) am Zeilenende ein + (n)o eingeben fügt unter der aktuellen Zeile (n neue Zeilen) + mit den eingeben Text ein + (n)O eingeben fügt über der aktuellen Zeile (n neue Zeilen) + mit den eingeben Text ein + 6.3.2. Überschreiben: + (n)R eingeben überschreibt den Text mit eingeben + wechselt zwischen INSERT und REPLACE + (n)r Taste überschreibt den Text mit (n mal) Taste + 61 + 6. Der Texteditor vi/vim + von dem Cursor nach rechts + 6.3.3. Bewegen: + (n)h Cursor um (n) Zeichen nach links bewegen + (n)+h Cursor um (n) Zeichen nach links bewegen + (n)l Cursor um (n) Zeichen nach rechts bewegen + (n) Cursor um (n) Zeichen nach rechts bewegen + (n)| Cursor zur Spalte (n) bewegen + (n)t Taste Cursor vor das (n) Zeichen Taste nach rechts bewegen + (n)f Taste Cursor auf das (n) Zeichen Taste nach rechts bewegen + (n)T Taste Cursor vor das (n) Zeichen Taste nach links bewegen + (n)F Taste Cursor auf das (n) Zeichen Taste nach links bewegen + (n)j Cursor um (n) Zeilen abwärts bewegen + (n)k Cursor um (n) Zeilen aufwärts bewegen + (n)w Cursor um (n) Wörter nach rechts bewegen + (n)W Cursor um (n) Wörter(Space) nach rechts bewegen + (n)b Cursor um (n) Wörter nach links bewegen + (n)B Cursor um (n) Wörter(Space) nach links bewegen + (n)e Cursor an das (n) Wortende nach rechts bewegen + (n)E Cursor an das (n) Wortende(Space) nach rechts bewegen + ^ Cursor auf das erste Zeilenzeichen stellen + 0 Cursor vor das erste Zeilenzeichen stellen + (n)_ Cursor auf das erste Zeilenzeichen stellen und + (n-1) Zeilen nach unten bewegen + $ Cursor zum Zeilenende bewegen + (n)+ Cursor auf das erste Zeilenzeichen stellen und + (n) Zeilen abwärts bewegen + (n)- Cursor auf das erste Zeilenzeichen stellen und + (n) Zeilen aufwärts bewegen + (n)) Cursor um (n) Sätze abwärts bewegen + (n)( Cursor um (n) Sätze aufwärts bewegen + (n)} Cursor um (n) Absätze abwärts bewegen + (n){ Cursor um (n) Absätze aufwärts bewegen + (n)+u Cursor um 1/2 Bildschirm oder (n Zeilen) + aufwärts bewegen + (n)+d Cursor um 1/2 Bildschirm oder (n Zeilen) + abwärts bewegen + +f Cursor um 1 Bildschirm abwärts bewegen + Cursor um 1 Bildschirm abwärts bewegen + +b Cursor um 1 Bildschirm aufwärts bewegen + Cursor um 1 Bildschirm aufwärts bewegen + (n)+e scrollt den Cursor (n) Zeilen abwärts + (n)+y scrollt den Cursor (n) Zeilen aufwärts + ’ Taste Cursor zu der mit Taste markierten Zeile bewegen + 62 + 6.3. Befehlsmodus (visual mode) + ‘ Taste Cursor zu dem mit Taste markierten Zeichen bewegen + gg Cursor zum Textanfang bewegen + (n)G Cursor zur Zeile (n) bewegen + G Cursor zum Textende bewegen + H Cursor an den Anfang der Bildschirmseite setzen + (n)H Cursor zur Zeile (n) auf den Bildschirm bewegen + M Cursor auf den Anfang der mittleren + Bildschirmzeile bewegen + L Cursor an das Ende der Bildschirmseite setzen + (n)L Cursor vom Ende zur Zeile (n) auf den Bildschirm bewegen + z Taste bewegt die aktuelle Zeile zum Anfang(+), Ende(-) oder + zur Mitte(.) des Bildschirms + 6.3.4. Löschen und Eingeben: + (n)s eingeben löscht (n) Zeichen von dem Cursor nach rechts und + fügt den eingeben Text ein + c Bereich eingeben löscht den markierten Bereich und + fügt den eingeben Text ein + cc eingeben löscht den Zeilentext und fügt den eingeben Text ein + cw eingeben löscht bis zum ende des Wortes und + fügt den eingeben Text ein + C eingeben löscht den Text bis Zeilenende und + fügt den eingeben Text ein + (n)S eingeben löscht (n) Zeilen nach unten und + fügt den eingeben Text ein ( wie (n)cc ) + 6.3.5. Löschen: + d Bereich löscht den markierten Bereich + dd löscht die ganze Zeile + D löscht den Text bis Zeilenende + dw löscht bis zum Ende des Wortes + (n)x löscht (n) Zeichen auf den sich der Cursor befindet + löscht das Zeichen auf den sich der Cursor befindet + (n)X löscht (n) Zeichen links vom Cursor + 6.3.6. Aufheben: + u macht die letzte Änderung rückgängig + U macht die letzte Änderung der ganzen Zeile rückgängig + 6.3.7. Verschieben: + > Bereich schiebt die markierten Zeilen nach rechts + 63 + 6. Der Texteditor vi/vim + >> schiebt die Zeile auf den sich der Cursor befindet + nach rechts + < Bereich schiebt die markierten Zeilen nach links + << schiebt die Zeile auf den sich der Cursor befindet + nach links + 6.3.8. Zusammenfügen: + (n)J hängt (n) Zeilen nach unten aneinander + 6.3.9. Markieren: + m Taste markiert eine Zeile oder Zeichen + v setzt den Anfang einer Markierung + V setzt den Anfang einer Zeilenmarkierung + 6.3.10. Kopieren: + y Bereich kopiert den mit Bereich angegebenen Text in einen Puffer + (n)Y kopiert die aktuelle und (n) Zeilen in einen Puffer + " Taste legt den nächsten Zwischenpuffer fest + @ Taste interpretiert den Inhalt des Zwischenspeichers als + vi Befehle und führt sie aus + 6.3.11. Einfügen: + p fügt den aktuellen Puffer hinter dem Cursor ein + P fügt den aktuellen Puffer vor dem Cursor ein + 6.3.12. Suchen: + (n)% platziert den Cursor auf die zugehörige () {} [], oder + platziert den Cursor auf (n) Prozent der Datei + / Text sucht den Text vorwärts + ? Text sucht den Text rückwärts + 6.3.13. Wiederholen: + . wiederholt das letzte EDIT Kommando + n wiederholt das letzte Suchen + N wiederholt das letzte Suchen in umgekehrter Richtung + (n); wiederholt das vorgehende f, F, t, T Kommando + (n), wiederholt das vorgehende f, F, t, T Kommando in + umgekehrter Richtung + (n)& wiederholt den letzten :s// Befehl an der momentanen + Position + 64 + 6.4. Kommandomodus (colon mode) + 6.3.14. Sonstige Kommandos: + G zeigt den Dateistatus und die momentane Zeilennummer + ZZ speichert die Datei und beendet vi + L erneuert den Bildschirm + 6.4. Kommandomodus (colon mode) + Uminden Kommandomodus zu gelangen muss : eingegeben werden. + 6.4.1. Texteingabe Kommandos + q(!) Editor verlassen + wq Editor mit speichern verlassen + xit arbeitet wie wq, speichert nur bei einer Änderung + x(!) Editor mit speichern verlassen + w(!) Name Datei mit Namen speichern + h Hilfe anfordern + args Dateien Liste der Dateien anlegen + args Dateien auflisten + next(!) schaltet zur nächsten Datei + previous(!) schaltet zur vorhergehenden Datei + rewind(!) schaltet zur ersten Datei + edit(!) Datei dient zum wechseln der Datei + !Befehl externen Befehl ausführen + 65 + 7. LaTeX + A + 7.1. LT X + E + A + LT X + E + 67 + Teil III. + Linux im Netzwerk + 69 + 8. Netzwerk + Rechnername Name den der Rechner im Netzwerk hat, + sollte nicht mehr als acht Zeichen haben, + darf im lokalen Netzwerk noch nicht vergeben sein + Domainname Name zur Gliederung von Netzwerken + Top-Level-Domain umfasst höchstens vier Buchstaben + Beispiel: Rechnername.Domainname.Top-Level-Domain -> + voyager.startrek.foe + IP-Adresse Adresse des Rechners im Netzwerk, + jede Netzwerkschnittstelle(z.B. Netzwerk- oder + ISDN-Karte) hat im Netzwerk mindestens eine Adresse + die eindeutig ist, die Adresse besteht derzeit aus + einer Sequenz von vier Bytes die durch Punkte getrennt + sind z.B. 192.168.20.40 , für private Netze sind durch + das Arbeitspapier RFC 1597 drei Adressbereiche + vorgesehen die nicht geroutet werden: + 10.0.0.0 -> 10.255.255.255 (Class A-Netz) + 172.16.0.0 -> 172.31.255.255 (Class B-Netz) + 192.168.0.0 -> 192.168.255.255 (Class C-Netz) + Gatewayadresse IP-Adresse des Gerätes die das Weiterleiten + von Netzwerkpaketen in das fremde Netz übernimmt + Netzwerkmaske sagt aus welcher Teil der IP-Adresse + zum lokale Netzwerk gehört z.B. 255.255.255.0 + #### in arbeit ####################################### + OSI Open System Interconnektion + IEEE + ISO + MAC-Adresse 006097 370cae + ------ ------ + Herstellerabhängig + laufendeNr. + Ethernet-adresse + Node-Addresse + NIC-Adresse + udp + tcp/ip + nfs + ftp + Portnummer/Kanalnummer + 71 + 8. Netzwerk + 16Bit 65535 pro udp pro tcp/ip + /etc/services + 0-1023 well known Ports IANA + 1024-49151 registrierte Ports + ->65535 dynamische, privat + ###################################################### + 72 + 9. Apache + 9.1. Einleitung + Der Apache Webserver ist ein Programm das im Netzwerk(WWW), bei Anfragen mit + einem Webbrowser, Websites(HTTP-Protokoll) ausgeben kann. + DieAnfragenwerdenalsURLangegeben.Beispiel:Schema://Hostname:Port/Server- + Pfad -> http://www.apache.org:80/manual/ + 9.2. Kompilieren und Installieren + 9.2.1. Anforderungen + • Apache-Quellcode 1.3, erhältlich bei http://www.apache.org/ + • mod_ssl 1.3, erhältlich bei http://www.modssl.org/ + • Apache-Quellcode 2.0, erhältlich bei http://www.apache.org/ + • OpenSSL-Quellcode 0.9.x, erhältlich bei http://www.openssl.org/ + • Linuxab2.4.xx(z.B.DebianSarge3.1),libgdbm2-devel(ndbm.h->gdbm-ndbm.h) + • ANSI-C-CompilerundGenerierungswerkzeuge,GNUCCompiler(GCC)abVer- + sion 2.7.2, wesentliche Generierungswerkzeuge wie make + • Zeitgenauigkeit bewahren, ntpdate oder xntpd(NTP) + • Perl 5(optional), Version ab 5.003 http://www.perl.com/ + • PureFTPd(optional), Version ab 5.003 http://www.perl.com/ + 9.2.2. Vorbereitungen + su als root anmelden + mkdir /usr/local/src das Verzeichnis /usr/local/src anlegen, + wenn es noch nicht vorhanden ist + chmod 777 /usr/local/src Verzeichnis-Rechte setzen + ln -s /usr/include/gdbm-ndbm.h /usr/include/ndbm.h + Link zu ndbm.h + exit root abmelden + cp Quelldateien /usr/local/src Quelldateien kopieren + 73 + 9. Apache + 9.2.3. OpenSSL + cd /usr/local/src Verzeichnis wechseln + tar xvfz openssl-0.9.7d.tar.gz Quelldateien entpacken + cd openssl-0.9.7d in das Quelldatei-Verzeichnis wechseln + ./config --help Hilfe zu den möglichen Optionen + ./config --prefix=/usr/local/openssl/0.9.7d + Codebaum konfigurieren und + Installations-Verzeichnis angeben + make Programm herstellen + make test Programm testen + su als root anmelden + make install Programm installieren + ln -s /usr/local/openssl/0.9.7d /usr/local/openssl/current + Link zu OpenSSL + exit root abmelden + 9.2.4. Apache 1.3 und SSL + cd /usr/local/src Verzeichnis wechseln + tar xvfz apache_1.3.31.tar.gz Quelldateien entpacken + tar xvfz mod_ssl-2.8.19-1.3.31.tar.gz Quelldateien entpacken + cd apache_1.3.31 in das Quelldatei-Verzeichnis wechseln + ./configure --help Hilfe zu den möglichen Optionen + cd ../mod_ssl-2.8.19-1.3.31 + ./configure --help Hilfe zu den möglichen Optionen + ./configure --with-apache=../apache_1.3.31 + --with-ssl=../openssl-0.9.7d + --prefix=/usr/local/apache/1.3.31 + --datadir=/srv/www + --enable-module=most + --enable-shared=max + --enable-module=ssl + cd ../apache_1.3.31 in das Quelldatei-Verzeichnis wechseln + make Programm herstellen + make certificate TYPE=custom Zertifikat erzeugen + Angaben zu der Certificate Authority + Signature Algorithm ((R)SA or (D)SA) [R]:R + 1. Country Name (2 letter code) [XY]:DE + 2. State or Province Name (full name) [Snake Desert]:Niedersachsen + 3. Locality Name (eg, city) [Snake Town]:Salzgitter + 4. Organization Name (eg, company) [Snake Oil, Ltd]:Komtek + 5. Organizational Unit Name (eg, section) [Certificate Authority]:CA + 74 + 9.2. Kompilieren und Installieren + 6. Common Name (eg, CA name) [Snake Oil CA]:Komtek CA + 7. Email Address (eg, name@FQDN) [ca@snakeoil.dom]:ca@komtek.de + 8. Certificate Validity (days) [365]:365 + Certificate Version (1 or 3) [3]:3 + Angaben zum Serverzertifikat + 1. Country Name (2 letter code) [XY]:DE + 2. State or Province Name (full name) [Snake Desert]:Niedersachsen + 3. Locality Name (eg, city) [Snake Town]:Salzgitter + 4. Organization Name (eg, company) [Snake Oil, Ltd]:Komtek + 5. Organizational Unit Name (eg, section) [Webserver Team]:Webmaster + 6. Common Name (eg, FQDN) [www.snakeoil.dom]:www.komtek.de + 7. Email Address (eg, name@fqdn) [www@snakeoil.dom]:www@www.komtek.de + 8. Certificate Validity (days) [365]:365 + Certificate Version (1 or 3) [3]:3 + Schlüssel verschlüsseln + Encrypt the private key now? [Y/n]: n + Encrypt the private key now? [Y/n]: n + su als root anmelden + make install + groupadd wwwadmin Gruppe wwwadmin anlegen + chown -R nobody:wwwadmin /srv/www Rechte für das www-Verzeichnis setzen + ln -s /usr/local/apache/1.3.31 /usr/local/apache/current + Link zu Apache 1.3 + ln -s /usr/local/apache/current/conf /etc/apache + Link zu den Konfigurationen + ln -s /usr/local/apache/current/logs /var/log/apache + Link zu den Logdateien + ln -s /usr/local/apache/current/bin/apachectl /usr/local/bin + Link zu apachectl + ln -s /usr/local/apache/current/bin/apachectl /etc/init.d/apache + Link zu den Startdateien + cd /etc/rc5.d in den Start-Runlevel wechseln + ln -s ../init.d/apache S20apache Link zum automatischen Starten + cd ../rc0.d in den Stopp-Runlevel wechseln + ln -s ../init.d/apache K20apache Link zum automatischen Beenden + cd ../rc6.d in den Start-Runlevel wechseln + ln -s ../init.d/apache K20apache Link zum automatischen Beenden + exit root abmelden + 75 + 9. Apache + 9.2.5. Apache2 + cd /usr/local/src Verzeichnis wechseln + tar xvfz httpd-2.0.51.tar.gz Quelldateien entpacken + cd httpd-2.0.51 in das Quelldatei-Verzeichnis wechseln + ./configure --help Hilfe zu den möglichen Optionen + ./configure --prefix=/usr/local/apache2/2.0.51 + --with-ssl=../openssl-0.9.7d + --datadir=/srv/www2 + --enable-module=most + --enable-shared=max + --enable-module=ssl + --with-port=81 da auf 80 schon der Apache 1.3 läuft + make Programm herstellen + su als root anmelden + make install Programm installieren (als root!) + groupadd wwwadmin Gruppe wwwadmin anlegen + chown -R nobody:wwwadmin /srv/www2 Rechte für das www-Verzeichnis setzen + ln -s /usr/local/apache2/2.0.51 /usr/local/apache2/current + Link zu Apache 2 + ln -s /usr/local/apache2/current/conf /etc/apache2 + Link zu den Konfigurationen + ln -s /usr/local/apache2/current/logs /var/log/apache2 + Link zu den Logdateien + ln -s /usr/local/apache2/current/bin/apachectl /usr/local/bin/apachectl2 + Link zu apachectl + ln -s /usr/local/apache2/current/bin/apachectl /etc/init.d/apache2 + Link zu den Startdateien + cd /etc/rc5.d in den Start-Runlevel wechseln + ln -s ../init.d/apache2 S20apache2 Link zum automatischen Starten + cd ../rc0.d in den Stopp-Runlevel wechseln + ln -s ../init.d/apache2 K20apache2 Link zum automatischen Beenden + cd ../rc6.d in den Start-Runlevel wechseln + ln -s ../init.d/apache2 K20apache2 Link zum automatischen Beenden + exit root abmelden + 9.2.6. Testen + /etc/init.d/apache start Apache1.3 starten + /etc/init.d/apache2 start Apache2 starten + Browser http://localhost/ Apache1.3 testen + Browser http://localhost:81/ Apache2 testen + /etc/init.d/apache stop Apache1.3 beenden + /etc/init.d/apache2 stop Apache2 beenden + 76 + 9.2. Kompilieren und Installieren + 9.2.7. Upgrade + ./config.nice aus der letzten Installation entnehmen, + Apache2 + 9.2.8. PureFTPd + cd /usr/local/src Verzeichnis wechseln + tar xvfz pure-ftpd-1.0.20.tar.gz Quelldateien entpacken + cd pure-ftpd-1.0.20 Verzeichnis wechseln + ./configure --prefix=/usr/local/pure-ftpd/1.0.20 --with-language=german + Makefile herstellen + make Programm herstellen + make check Programm prüfen + su als root anmelden + make install Programm installieren + ln -s /usr/local/pure-ftpd/1.0.20 /usr/local/pure-ftpd/current + Link zu pure-ftpd + mkdir /usr/local/pure-ftpd/current/etc Verzeichnis etc anlegen + cp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/current/etc + Konfiguration kopieren + cp pureftpd-*.conf /usr/local/pure-ftpd/current/etc + Konfigurationen kopieren + ln -s /usr/local/pure-ftpd/current/etc /etc/pure-ftpd + Link zu den Konfigurationen + vi /etc/init.d/pure-ftpd Startdatei für pure-ftpd anlegen + #!/bin/bash + case "$1" in + start) + echo "pureftpd wird gestartet ..." + cd /usr/local/pure-ftpd/current + ./sbin/pure-ftpd & + ;; + stop) + echo "pureftpd wird heruntergefahren ..." + kill -TERM ‘cat /var/run/pure-ftpd.pid‘ + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; + esac + exit 0 + 77 + 9. Apache + chmod 755 /etc/init.d/pure-ftpd Rechte setzen + cd /etc/rc5.d Verzechnis wechseln + ln -s ../init.d/pure-ftpd S20pure-ftpd Link zum automatischen Starten + cd /etc/rc0.d Verzechnis wechseln + ln -s ../init.d/pure-ftpd K20pure-ftpd Link zum automatischen Beenden + cd /etc/rc6.d Verzechnis wechseln + ln -s ../init.d/pure-ftpd K20pure-ftpd Link zum automatischen Beenden + useradd -g wwwadmin -d /srv -s /bin/false wwwadmin + Benutzer wwwadmin anlegen + passwd wwwadmin Passwort setzen + NoAnonymous yes + UnixAuthentication yes + MinUID 1000 + MinUID 1000 + TrustedGID 1002 + exit root abmelden + 9.3. Apache starten + 9.3.1. Apache starten + Unter UNIX/Linux wird das httpd-Progamm als Daemon ausgeführt. + apachectl start Apache starten + rcapache start Apache starten(SuSE-Linux) + 9.3.2. Wie der Apache startet + • apachectl ist die empfohlene Methode, das httpd-Programm zu starten + • apachectlsetztverschiedeneUmgebungsvariablenundstartetdashttpd-Programm + • apachectl reicht alle Kommandozeilenargumente durch + • als erstes liest der httpd die Konfigurationsdatei httpd.conf ein, die beim Kom- + pilieren festgelegt wurde + • zurLaufzeitkannderAblageortgeändertwerden,z.B.apachectl-f/etc/apache2/httpd.conf + • beim erfolgreicehn Start, trennt sich der Server vom Terminal ab + • bis zum Port 1024 muss der Apache root-Berechtigung besitzen + • der Haupt-httpd-Prozess läuft unter dem Benutzer root weiter + 78 + 9.3. Apache starten + • ist der Server gestartet, öffnet er seine Log-Dateien + • der Apache startet mehrere Kind-Prozesse + • die Kind-Prozesse werden unter weniger privilegierten Benutzerkennungen aus- + geführt(z.B. nobody, wwwrun ...) + • die Kind-Prozesse lauschen und beantworten Anfragen von Clients + • dieKind-ProzessewerdenvondemausgewähltenMulti-Processing-Modul(Apache- + MPMprefork UNIX/Linux) gesteuert + 9.3.3. Fehler während des Hochfahrens + • wird während des Hochfahrens einen schwerer Fehler feststellt, schreibt der Apa- + che eine Nachricht auf die Konsole oder ins ErrorLog, bevor er sich selbst beendet + • eine der häufigsten Fehlermeldungen ist Ünable to bind to Port ...", der Server + läuft schon oder hat keine root-Berechtigung + 9.3.4. Automatisch starten und beenden + • apachectl zu den Startdateien des Systems hinzufügen (rc.local, rc.x-Verzeichnis) + z.B. SuSE-Linux: + cd /etc/rc.d/rc3.d/ + ln -s ../apache S16apache Link zum automatischen Starten + in Runlevel 3 anlegen + ln -s ../apache K06apache Link zum automatischen Beenden + in Runlevel 3 anlegen + z.B. Debian: + cd /etc/rc3.d/ + ln -s ../init.d/apache2 S20apachectl + Link zum automatischen Starten in Runlevel 5 anlegen + cd /etc/rc0.d/ + ln -s ../init.d/apache2 K20apachectl + Link zum automatischen Beenden in Runlevel 0 anlegen + 9.3.5. Weitere Informationen + http://localhost/manual/programs/httpd.html + http://localhost/manual/de/programs/httpd.html + http://localhost/manual/programs/apachectl.html + http://localhost/manual/de/programs/apachectl.html + 79 + 9. Apache + 9.4. Beenden und Neustarten + 9.4.1. Einleitung + • umdenApachezustoppenoderneuzustarten,musseinSignalandenlaufenden + httpd-Prozess gesendet werden + • es gibt zwei Möglichkeiten Signale zu senden, kill und apachectl + • auf dem System laufen mehrere httpd-Programme + • nurandenElternprozesssollteeinSignalgesendetwerden,/var/log/apache2/httpd.pid + • es gibt drei Signale die an den Elternprozess gesendet werden können, TERM - + beenden, HUP - neustarten, USR1 - unterbrechungsfreier Neustart + • es wird empfohlen apachectl zu benutzen + • mit tail -f /var/log/apache2/error_log"kann die Signalisierung beobachtet wer- + den + 9.4.2. Beenden + Signal: TERM + apachectl stop sendet das TERM(stop) signal an + den Elternprozess + rcapache stop Apache stoppen + bei SuSE-Linux + kill -TERM ‘cat /var/log/apache2/httpd.pid‘ sendet das TERM(stop) signal an + den Elternprozess + • das Senden des TERM(stop)-Signals an den Elternprozess veranlasst alle seine + Kindprozesse sich zu beenden + • es dauert etwas bis alle Kindprozesse beendet sind + • danach beendet sich der Elternprozess + • alle gerade bearbeiteten Anfragen werden abgebrochen + • es werden keine weiteren Anfragen mehr bedient + 9.4.3. Unterbrechungsfreier Neustart + Signal: USR1 + apachectl graceful sendet das USR1 signal an + den Elternprozess + kill -USR1 ‘cat /var/log/apache2/httpd.pid‘ sendet das USR1 signal an + den Elternprozess + 80 + 9.4. Beenden und Neustarten + • das Senden des USR1-Signals an den Elternprozess veranlasst alle seine Kind- + prozesse sich zu beenden + • die Kindprozesse bearbeiten noch die letzten Anfragen und beenden sich dann + • der Elternprozess liest, wärend die Kindprozesse noch laufen, seine Konfigurati- + onsdateien erneut ein und öffnet seine Logdateien neu + • die Kindprozesse werden wieder gestartet + • die Serverstatistiken(mod_status) werden nicht auf Null zurückgesetzt + • ist die Konfigurationsdatei fehlerhaft, wird der Elternprozess nicht neu gestartet + • die Kindprozesse bearbeiten noch die letzten Anfragen und beenden sich dann + • wärednochdieletztenAnfragenbearbeitetwerdenkannderhttpdnichtgestartet + werden + 9.4.4. Neustarten + Signal: HUP + apachectl restart sendet das HUP signal an + den Elternprozess + rcapache restart Apache stoppen und dann starten + bei SuSE-Linux + kill -HUP ‘cat /var/log/apache2/httpd.pid‘ sendet das HUP signal an + den Elternprozess + • das Senden des HUP(wie TERM)-Signals an den Elternprozess veranlasst alle + seine Kindprozesse sich zu beenden + • der Elternprozess liest seine Konfigurationsdateien erneut ein und öffnet seine + Logdateien neu + • die Kindprozessewerdenwiedergestartetund setzen die BedienungvonZugriffen + fort + • die Serverstatistiken(mod_status) werden auf Null zurückgesetzt + • ist die Konfigurationsdatei fehlerhaft, wird der Elternprozess nicht neu gestartet + 9.4.5. Anhang: Syntax überprüfen + apachectl -t überprüft den Syntax der Konfigurationsdatei, so kann + vermieden werden das der Apache nicht neu startet + 81 + 9. Apache + 9.5. Anhang + 9.5.1. Zu den Dateien + /etc/apache/ + /etc/apache2/ + /etc/httpd/ + /etc/httpd2/ + access.conf Zugriffs-Konfiguration + httpd.conf Apache Konfigurationsdatei + mime.types Zuweisung von Dateiendungen + srm.conf Resource-Konfiguration + /var/log/apache/ + /var/log/apach2/ + /var/log/httpd/ + /var/log/httpd2/ + access_log Zugriffsmeldungen + error_log Fehlermeldungen + httpd.pid Hauptprozessnummer + 9.6. Benutzerhandbuch + 9.6.1. httpd.conf + ServerType standalone Apache nicht ueber den inetd starten. + ServerRoot "/www/" Diese Einstellung sorgt dafür, dass der Apache + ausgehend von diesem Verzeichnis die + Verzeichnisse fuer Dokumente, Logfiles und + Konfigurationsdateien sucht. + LockFile /var/lock/subsys/httpd/httpd.accept.lock Spezifizert das Lock + File. + PidFile /var/run/httpd.pid Datei, in der sich die Prozess ID des Httpd- + Daemons befindet. + ResourceConfig /etc/httpd/srm.conf Diese Datei enthaelt Angaben zur + Formatierung und dem Aussehen der + automatisch erzeugten Verzeichnisindizes + (FancyIndexing) sowie Angaben zu den einzelnen + Dateitypen. + AccessConfig /etc/httpd/access.conf Datei zur Definition der Funktionen und + 82 + 9.6. Benutzerhandbuch + Zugriffsrechte bestimmter Verzeichnisse + Timeout 300 Zeitlimit fuer Client-Anfragen in Sekunden. + KeepAlive On Unterstuezung der HTTP/1.1 Persistent + Connections. Dardurch koennen ueber eine TCP- + Verbindung mehrere Anfragen an den Server + geschickt werden. + MaxKeepAliveRequests 10 Es werden 10 aufeinanderfolgende Anfragen + innerhalb einer Keep-Alive-Verbindung erlaubt. + KeepAliveTimeout 15 Der Server wartet maximal 15 Sekunden auf + weitere Anfragen des Clients bei einer Keep- + Alive-Verbindung. + MinSpareServers 5 Es existieren immer mindestens 5 und hoechstens + MaxSpareServers 10 10 leerlaufende Prozesse. + StartServers 5 Es werden automatisch 5 Kindprozesse des Apache + gestartet. + MaxClients 150 Maximum von gleichzeitig laufenden + Server-Prozessen. + MaxRequestsPerChild 30 Nach 30 Anfragen wird der Kindprozess beendet + und gegebenfalls ein neuer gestartet. + Listen 12.34.56.78:80 Falls mehrere Interfaces bzw. IP Adressen fuer + den Rechner vorhanden sind, kann mit Listen + festgelegt werden, welche Ports fuer welche + Adresse abgehoert werden sollen. + Port 80 Standalone Server Port 80 + User wwwrun Nach dem Oeffnen des Ports (als root), wechselt + Group nogroup Apache zu der als User und Group angegebenen + UID bzw. GID. Die Zuweisung kann entweder durch + angeben des Namens oder durch # gefolgt von der + ID erfolgen. + ServerAdmin dv@mynet.loc Bei Fehlermeldungen wird diese Adresse dem + Client zurueckgeliefert. + ServerName www.mynet.loc Wird bei Redirects benoetigt (wenn man + 83 + 9. Apache + beispielsweise durch Eingabe von + http://www.mynet.loc/main auf das Verzeichnis + main zugreifen will, erzeugt der Apache einen + Redirect auf http://www.mynet.loc/main/ . Ohne + ServerName würde der richtige Hostname des + Rechners zurückgeliefert werden. + DocumentRoot "/www/htdocs/" Hier werden die HTML Seiten abgelegt. + AllowOverride All Konfigurationsanweisungen in der .htaccess + beachten + UserDir public_html Homepage-Directory der Benutzer + http://server/~benutzer/ + DirectoryIndex index.html index.htm index.php Wird nur ein Directory + angegeben, wird automatisch die + angegebene Datei gesucht und angezeigt. + AccessFileName .htaccess Name der .htaccess + DefaultType text/plain Dateien ohne Endung werden wie Text-Files + behandelt. + HostnameLookups Off Es sollen keine DNS-Lookups ausgefuert werden. + ErrorLog /var/log/httpd/error_log Datei zur Aufnahme von Fehlermeldungen + und sonstigen Info Meldungen + (mod_log_config). + LogLevel warn LogLevel :-) debug, info, notice, warn, error, + crit,alert,emerg. + LogFormat ... Legt das Format der Logdatei(en) fest. + CustomLog /var/log/httpd/access_log common Erzeugt die Datei http.access im + Common Log Format. + ServerSignature Off ServerSignature kann man auf "Off" stellen, + damit ein Zugriff auf eine nichtexistente Seite + nicht Software und Versionsnummer anzeigt, + jedoch bringt das nicht allzuviel, da im HTTP + Header diese und wesentlich mehr Informationen + zu finden sind. + 84 + 9.6. Benutzerhandbuch + Alias /icons/ "/www/icons/" Alias-Namen fuer bestimmte Verzeichnisse. Diese + werden anschliessend behandelt, als wenn sie + sich unter Document-Root befinden wuerden. + Achtung! Die Einstellungen gelten auch fuer + virtuelle Hosts. + IndexOptions FancyIndexing Als Optionen sind angebbar: + Fancyindexing - ausführliche Verzeichnisliste + (Icons, Name, Größe, Kurzbeschreibung etc.) + SuppressLastModified - keine Angabe der letzten + Modifikationszeit + SuppressSize - keine Angabe der Filegröße + SuppressDescription - keine Angabe einer + Kurzbeschreibung + ScanHTMLTitles - HTML-Titel als Kurzbeschreibung + (Achtung: Rechnerlast!) + ReadmeName README Die Datei README wird bei der Ausgabe des + Verzeichnisbaums angezeigt. + HeaderName HEADER Die Datei HEADER wird am Anfangs-Tag in den + Verzeichnisbaums angezeigt. + IndexIgnore .??* *~ *# RCS CVS *,v *,t Diese Dateien werden nicht durch + FancyIndexing angezeigt. + TypesConfig /etc/httpd/mime.types Enthaelt die Zuweisungen Dateiendung + zu Mime-Typ + BrowserMatch "Mozilla/2" nokeepalive Hiermit wird der Apache angewiesen, auf + bestimmte Browser unterschiedlich zu + reagieren. + 9.6.2. Access Control List File (.htaccess) + Die Datei .htaccess muß in dem zu schützenden Ordner angelegt werden. + AuthUserFile /www/.htpasswd Pfad zu einer Passwortdatei + AuthGroupFile /dev/null + AuthName "Tux ;-)" + AuthType Basic + + require user webmaster + + 85 + 9. Apache + AuthUserFile /www/.htpasswd Pfad zu einer Passwortdatei + AuthGroupFile /www/.htgroup Pfad zu einer Gruppendatei + AuthName "Tux ;-)" + AuthType Basic + + require group logins + + 9.6.3. Gruppendatei (.htgroup) + cat .htgroup --> + logins: benutzer1 benutzer2 ... + 9.6.4. Passwort-Datei (.htpasswd) + htpasswd -c Passwortdatei Benutzername erzeugt eine neue Passwortdatei + und ein Benutzer + htpasswd Passwortdatei Benutzername erzeugt ein Benutzer + 9.6.5. Erstellen eines SSL-Zertifikats + openssl req -new > firma.csr + openssl rsa -in privkey.pem -out firma.key + openssl x509 -in firma.csr -out firma.crt -req -signkey firma.key -days 10000 + cp firma.key /etc/httpd/ssl.key/server.key + cp firma.crt /etc/httpd/ssl.crt/server.crt + cp firma.csr /etc/httpd/ssl.csr/server.csr + chown root privkey.pem + chmod 400 privkey.pem + 9.6.6. LinkIcon (favicon.ico) + Was ist ein favicon.ico? + Immer wenn ein IE5 Benutzer eine Seite seinen Favoriten hinzufügt, sucht der IE5 + nach einem Icon das er anstatt des Standardicons in der Favoritenliste anzeigen kann. + Er sucht zuerst im aktuellen ’Verzeichnis’ und geht dann Ebene für Ebene weiter bis + zum Wurzelverzeichnis. Nehmen wir mal an, das aktuelle Dokument befindet sich un- + ter http://www.bjoernsworld.de/suchmaschinen/ optimieren/aufraeumen.html, dann + wird der IE 5 so nach dem Icon suchen: + http://www.bjoernsworld.de/suchmaschinen/optimieren/favicon.ico + http://www.bjoernsworld.de/suchmaschinen/favicon.ico + http://www.bjoernsworld.de/favicon.ico + 86 + 9.6. Benutzerhandbuch + Er sucht solange, bis er eines gefunden hat oder bei /favicon.ico angekommen ist. + Das gilt nur für den Internet Explorer Version 5.0 und 5.01; Version 5.5 sucht nur noch + nach /favicon.ico selbstständig. Hat er eins gefunden, zeigt er es in der Favoritenliste + an und beim erneuten Besuch der Seite auch links neben der URL in der Adresszeile: + Welches Format hat das favicon.ico? + Das favicon.ico ist ein Icon im Microsoft Windows Icon File Format. Windows Be- + nutzer sehen täglich solche Icons auf ihrem Desktop, in ihrem Startmenü, etc. In der + Favoritenliste wird dieses Icon in der Größe 16x16 Pixel dargestellt, daher sollte man + das Icon auch in dieser Größe erstellen. Die Farbzahl beschränkt sich auf 16 bzw. 256 + Farben, wobei eine als transparente Farbe gilt. + Welchen MIME-Type hat das favicon.ico? + DerkorrekteMIME-Typefürdasfavicon.icoistimage/x-icon.BeimApacheWebserver + kann man das in einer .htaccess mit der Zeile: + AddType image/x-icon .ico + konfigurieren. + Wie erstelle ich ein favicon.ico? + ManbrauchtdafüreinenIconEditorwiemansiezuhaufbeiTucowsoderWinfiles.com + finden kann. Mit z.B. dem Freeware Tool Irfan View ist es ohne Probleme möglich, + eine Gifdatei in das Icon Format zu konvertieren. Macintosh Benutzer können den + GraphicConverter von Thorsten Lemke oder den Iconographer von MscapeSoftware + benutzen um das Icon zu erstellen. Bei favicon.com gibt es einen Online Editor in + Java, mit dem man online sein eigenes favicon.ico erstellen kann. + Wohin muss das favicon.ico? + Wieobenschongesagt,suchtderIE5,vorVersion5.5,zuerstimaktuellen’Verzeichnis’ + und geht dann Ebene um Ebene nach oben, bis er unter http://host/favicon.ico ein + Icon findet oder eben nicht. Man kann entweder in jedes Verzeichnis ein favicon.ico + plazieren, oder im einer jeden HTML Datei auf ein Icon verweisen: + + Wenn der Apache Webserver mit mod_rewrite benutzt wird, kann man mit dieser + Regel: + RewriteEngine on + RewriteRule ^(.+)/favicon\.ico$ /favicon.ico [R=permanent] [L] + 87 + 9. Apache + (z.B. in der .htaccess) alle Anfragen für favicons in Unterverzeichnissen auf das + favicon.ico im Root-Verzeichnis der Domain umleiten. + Wenn mod_rewrite nicht zur Verfügung steht, wohl aber Zugriff auf die Konfigu- + rationsdateien Apache Web Servers, kann man in z.B. der Sektion + folgenden Befehl einfügen: + RedirectMatch Permanent ^(.+)/favicon\.ico$ http://server.de/favicon.ico + Wie kann man diese Funktion abstellen? + Es gibt meines Wissens nach keine Möglichkeit den IE5 dazu zu bringen, nicht nach + dem favicon.ico zu suchen. + Links zum Thema: + http://www.favicon.de/ + http://www.favicon.com/ + http://wdvl.com/Authoring/Design/Images/Favicon/index.html + http://msdn.microsoft.com/workshop/essentials/versions/ICPIE5.asp + http://msdn.microsoft.com/workshop/Author/dhtml/howto/ShortcutIcon.asp + http://www.winfiles.com/apps/98/icons-edit.html + http://web.cip.com.br/flaviovs/sec/favicon/privacy.html + http://web.cip.com.br/flaviovs/sec/favicon/index.html + http://www.bjoernsworld.de/ie/398da66c.24234236@news.bjoern.hoehrmann.de.txt + 88 + 10. MySQL + 10.1. Einleitung + MySQL ist eine Datenbank und phpMyAdmin eine Web-Oberfläche, um MySQL zu + konfigurieren. + 10.2. Kompilieren und Installieren + 10.2.1. Anforderungen + • MySQL-Quellcode 4.x.xx, erhältlich bei http://www.mysql.com/ + • Linux 2.x.xx + • ANSI-C-CompilerundGenerierungswerkzeuge,GNUCCompiler(GCC)abVer- + sion 2.95.4, wesentliche Generierungswerkzeuge wie make + • phpMyAdmin2.x.x(optional),erhältlichbeihttp://www.phpmyadmin.net/,Web- + Server, Apache 1 oder 2 mit PHP 4 oder 5 + 10.2.2. Vorbereitungen + su als root anmelden + mkdir /usr/local/src das Verzeichnis /usr/local/src anlegen, + wenn es noch nicht vorhanden ist + chmod 777 /usr/local/src Verzeichnis-Rechte setzen + exit root abmelden + cp Quelldateien /usr/local/src Quelldateien kopieren + 10.2.3. MySQL + cd /usr/local/src Verzeichnis wechseln + tar xvfz mysql-4.0.21.tar.gz Quelldateien entpacken + cd mysql-4.0.21 in das Quelldatei-Verzeichnis wechseln + ./configure --help Hilfe zu den miöglichen Optionen + ./configure --prefix=/usr/local/mysql/4.0.21 --localstatedir=/var/mysql/data + prefix: Installations-Verzeichnis + localstatedir: Daten-Verzeichnis + make Programm herstellen + 89 + 10. MySQL + su als root anmelden + make install Programm installieren (als root!) + ln -s /usr/local/mysql/4.0.21 /usr/local/mysql/current + Link zu MySQL + cp support-files/mysql.server /etc/init.d/mysql + Startdatei kopieren + chmod 755 /etc/init.d/mysql + Dateirechte einstellen + ln -s /etc/init.d/mysql /etc/rc5.d/S20mysql + Link zum Starten in Runlevel5 anlegen + ln -s /etc/init.d/mysql /etc/rc6.d/K20mysql + Link zum Beenden in Runlevel6 anlegen + ln -s /etc/init.d/mysql /etc/rc0.d/K20mysql + Link zum Beenden in Runlevel0 anlegen + groupadd mysql Gruppe mysql anlegen + useradd -g mysql -d /usr/local/mysql/current -s /bin/false mysql + Benutzer mysql anlengen + mkdir -p /var/mysql/data Daten-Verzeichnis anlegen + ./scripts/mysql_install_db --user=mysql initiale Datenbank installieren + cd /usr/local/mysql/current in das mysql Verzeichnis wechseln + cp share/mysql/my-medium.cnf /var/mysql/data/my.cnf + Konfiguration anlegen + chown -R root:mysql . Benutzer-Gruppen-Rechte setzen + chown -R mysql:mysql /var/mysql/data Rechte für das Daten-Verzeichnis setzen + /etc/init.d/mysql start mysql starten + ./bin/mysqladmin -u root password ’geheim’ + Datenbank-Passwort setzen + Achtung ! das Passwort steht danach in + der ~/.bash_history + 10.2.4. MySQL Testen + ./bin/mysql -D mysql -u root -p Client starten und zugriff auf die + Steuerungs-Datenbank nehmen + mysql> show tables; Tabelle anzeigen + +-----------------+ + | Tables_in_mysql | + +-----------------+ + | columns_priv | + | db | + | func | + | host | + | tables_priv | + | user | + 90 + 10.2. Kompilieren und Installieren + +-----------------+ + 6 rows in set (0.00 sec) + mysql> exit; Client beenden + Bye + exit root abmelden + 10.2.5. phpMyAdmin + su als root anmelden + cd /srv/www/htdocs in das Apache1.3-Verzeichnis wechseln + cd /srv/www2/htdocs in das Apache2-Verzeichnis wechseln + tar xvfj /usr/local/src/phpMyAdmin-2.5.7-pl1.tar.bz2 + Dateien entpacken + ln -s phpMyAdmin-2.5.7-pl1 phpMyAdmin Link zu phpMyAdmin anlegen + vi phpMyAdmin/config.inc.php phpMyAdmin anpassen + $cfg[’PmaAbsoluteUri’] = ’http://localhost/phpMyAdmin/’; + URL zu Apache1.3 + $cfg[’PmaAbsoluteUri’] = ’http://localhost:81/phpMyAdmin/’; + URL zu Apache2 + $cfg[’Servers’][$i][’user’] = ’root’; // MySQL user + $cfg[’Servers’][$i][’password’] = ’geheim’; // MySQL password + vi phpMyAdmin/.htaccess htaccess anlegen + AuthType Basic + AuthName "PhpMyAdmin" + AuthUserFile /srv/www/htdocs/phpMyAdmin/.htpasswd + Apache1.3 + AuthUserFile /srv/www2/htdocs/phpMyAdmin/.htpasswd + Apache2 + AuthGroupFile /dev/null + + require valid-user + + cd /usr/local/apache/current/bin Verzeichnis wechseln, Apache1.3 + cd /usr/local/apache2/current/bin Verzeichnis wechseln, Apache2 + ./htpasswd --help Hilfe zu htpasswd + ./htpasswd -c /srv/www/htdocs/phpMyAdmin/.htpasswd root + Apache1.3 + ./htpasswd -c /srv/www2/htdocs/phpMyAdmin/.htpasswd root + Apache2 + vi /etc/apache/httpd.conf Apache1.3 anpassen + 91 + 10. MySQL + vi /etc/apache2/httpd.conf Apache2 anpassen + + Options Indexes FollowSymLinks MultiViews + AllowOverride AuthConfig None -> AuthConfig + Order allow,deny + Allow from all + + /etc/init.d/apache graceful Einstellungen neu einlesen, Apache1.3 + /etc/init.d/apache2 graceful Einstellungen neu einlesen, Apache2 + exit root abmelden + 92 + 11. PHP + 11.1. Einleitung + Wer hat PHP erfunden ? Der Kanada-Däne Rasmus Lerdorf ! + Was heist PHP ? Personal Home Page Tools + Was ist PHP ? Eine einfache Skriptsprache. Sie wird direkt + in HTML-Seiten eingefügt und vom Webserver + interpretiert. + Wie funktioniert PHP ? Der Browser schickt einen HTTP-Request an den + Webserver. Der Server reagiert, liest die + PHP-Seite ein, und führt die Skripte aus und + schickt erst das fertig zusammengesetzte + Dokument zurück an den Browser ! + LAMP - Linux-Apache-MySQL-PHP + WAMP - Windows-Apache-MySQL-PHP + 11.2. Kompilieren und Installieren + 11.2.1. Anforderungen + • PHP 4 oder 5, erhältlich bei http://www.php.net/ + • Linux ab 2.4.xx(z.B.Debian Sarge 3.1) + • ANSI-C-CompilerundGenerierungswerkzeuge,GNUCCompiler(GCC)abVer- + sion 2.7.2, wesentliche Generierungswerkzeuge wie make + • Webserver z.B. Apache 1.3 oder 2 + • GD-Library ab 2.x.x, erhältlich bei http://www.boutell.com/gd/, Freetype ab + 2.x.x, erhältlich bei http://www.freetype.org/,Zlib ab 1.x.x, erhältlichbei http://www.gzip.org/zlib/, + IJG JPEG, erhältlich bei http://www.ijg.org/ + 11.2.2. Vorbereitungen + su als root anmelden + mkdir /usr/local/src das Verzeichnis /usr/local/src anlegen, + wenn es noch nicht vorhanden ist + 93 + 11. PHP + chmod 777 /usr/local/src Verzeichnis-Rechte setzen + exit root abmelden + cp Quelldateien /usr/local/src Quelldateien kopieren + 11.2.3. Libraries für Zusatzfunktionen + Freetype + cd /usr/local/src Verzeichnis wechseln + tar xvfj freetype-2.1.9.tar.bz2 Quelldateien entpacken + cd freetype-2.1.9 in das Quelldatei-Verzeichnis wechseln + ./configure Codebaum konfigurieren + make Programm herstellen + su als root anmelden + make install Programm installieren + exit root abmelden + Zlib + cd /usr/local/src Verzeichnis wechseln + tar xvfz zlib-1.2.1.tar.gz Quelldateien entpacken + cd zlib-1.2.1 in das Quelldatei-Verzeichnis wechseln + ./configure Codebaum konfigurieren + make Programm herstellen + su als root anmelden + make install Programm installieren + exit root abmelden + IJG JPEG + cd /usr/local/src Verzeichnis wechseln + tar xvfz jpegsrc.v6b.tar.gz Quelldateien entpacken + cd jpeg-6b in das Quelldatei-Verzeichnis wechseln + ./configure --help Hilfe zu den möglichen Optionen + ./configure --enable-shared + --enable-static + --prefix=/usr/local + make Programm herstellen + make test Programm testen + su als root anmelden + make install Programm installieren + exit root abmelden + GD-Library + cd /usr/local/src Verzeichnis wechseln + 94 + 11.2. Kompilieren und Installieren + tar xvfz gd-2.0.28.tar.gz Quelldateien entpacken + cd gd-2.0.28 in das Quelldatei-Verzeichnis wechseln + ./configure Codebaum konfigurieren + make Programm herstellen + su als root anmelden + make install Programm installieren + exit root abmelden + 11.2.4. PHP + cd /usr/local/src Verzeichnis wechseln + tar xvfj php-5.0.1.tar.bz2 Quelldateien entpacken + cd php-5.0.1 in das Quelldatei-Verzeichnis wechseln + ./configure --help Hilfe zu den möglichen Optionen + ./configure --with-apxs=/usr/local/apache/current/bin/apxs Apache 1.3 oder + --with-apxs2=/usr/local/apache2/current/bin/apxs Apache 2 + --with-mysql=/usr/local/mysql/current + --with-zlib + --with-ftp + --with-gd + --with-jpeg-dir=/usr/local/lib + --enable-versioning + --enable-track-vars=yes + --enable-url-includes + --enable-sysvshm=yes + --enable-sysvsem=yes + --with-config-file-path=/etc + make Programm herstellen + su als root anmelden + make install Programm installieren + cp php.ini-dist /etc/php.ini PHP-Konfiguration kopieren + vi /etc/apache/httpd.conf Apache1.3 anpassen + vi /etc/apache2/httpd.conf Apache2 anpassen + LoadModule php5_module modules/libphp5.so + Apache2 + LoadModule php5_module libexec/libphp5.so + Apache1.3 + AddModule mod_php5.c Apache1.3 + DirectoryIndex index.html index.htm index.html.var index.php index.phtml + AddType application/x-httpd-php .php + AddType application/x-httpd-php-source .phps + exit root abmelden + 95 + 11. PHP + 11.3. Referenz + 11.3.1. Grundlagen + oder %> Ende des PHP-Abschnitts + ; Zeilenende + // Kommentartext Einzeiliger Kommentartext + /* Kommentartext Einleitung, mehrzeiliger Kommentartext + Kommentartext */ Abschluss, mehrzeiliger Kommentartext + $ Variablen anfang + echo "Text" ; Text ausgeben + echo "Text $Variable Text" ; Variable ausgeben + echo "Text".$Variable."Text" ; . Verketten von Zeichenfolgen + echo "Text\n" ; \n Erzeugt eine neue Zeile + echo "Text\r" ; \r Erzeugt einen neuen Absatz (return) + echo "Text\tText" ; \t Erzeugt ein Tabulatorschritt + echo "\"Text\"" ; \" Gänsefüßchen ausgeben + echo "\’Text\’" ; \’ Einfache Anführungszeichen ausgeben + echo "\$Text\$" ; \$ Dollar-Zeichen ausgeben + echo "\\Text\\" ; \\ Backslash ausgeben + $Array[Indexwert]="Wert" ; Wert einer Array-Variable zuweisen (Langform) + $Array=array("W0","W1") ; Werte einer Array-Variable zuweisen (Kurzform) + echo $Array[Indexwert] ; Wert einer Array-Variable ausgeben + $Array[Index-Ersatz]="Wert" ; Wert eines Assoziativen-Arrays zuweisen (Langf.) + $Array=array("I-E0"=>"W0","I-E1"=>"W1") ; + Werte eines Assoziativen-Arrays zuweisen(Kurzf.) + echo $Array[Index-Ersatz] ; Wert eines Assoziativen-Arrays ausgeben + $a=$b+$c ; Addition von $b und $c gleich $a + $a=$b-$c ; Subtraktion von $b minus $c gleich $a + $a=$b*$c ; Multiplikation von $b mal $c gleich $a + $a=$b/$c ; Division $b geteilt durch $c gleich $a + $a++ ; $a=$a+1 ; + $a-- ; $a=$a-1 ; + $a=3.1415 ; . Dezimaltrenner + 11.3.2. Funktionen + phpinfo() ; PHP-Informationen ausgeben + $Wochentag=date("w") ; Wochentag ermitteln 0-So bis 6-Sa + $Monatszahl=date("m") ; Monatszahl ermitteln + $Anzahl=count($Array) ; Elemet-Anzahl eines Arrays ermitteln + $Wert=round($Wert,Nachkommastellen) ; Rundet den Wert mit Nachkommastellen + $Wert=sprintf("%01.2f",$Wert) ; Rundet den Wert auf 2 :Nachkommastellen + 96 + 12. Squid + 12.1. Proxy + Squid = Proxy-Cache = Stellvertreter-Zwischenspeicher + 12.2. Einfacher Cache + *---------------* *------------* | *---------* | *------------* + | lokaler Cache |<--->| WWW-Client |<--->| Intenet |<--->| WWW-Server | + *---------------* *------------* | *---------* | *------------* + Die einfachste form des Caches | | + 12.3. Proxy Cache + *------------* + | WWW-Client |<-+ | | + *------------* | | | + | | | + *------------* | *-------------* | *---------* | *------------* + | WWW-Client |<-+->| Proxy Cache |<--->| Intenet |<--->| WWW-Server | + *------------* | *-------------* | *---------* | *------------* + | | | + *------------* | | | + | WWW-Client |<-+ | | + *------------* + 12.4. Aufgaben + • Zwischenspeichern von Internetseitten -> Beschleunigter Zugriff auf Internetin- + halte + • Abkoppelung vom direkten Zugriff auf das Internet -> Erhöte Sicherheit im + lokalem Netz + • Filterung von Interrnetseiten + • Protokollierung des Internetverkehrs + 97 + 12. Squid + 12.5. Eigenschaften + • Größe des Cache kann frei definiert werden + • Aufbau von Cache-Hierarchien + • Eigener DNS-Cache + • Authentifizierung über zusätzliche Module möglich + • Für Win, OS/2, Linux, BSD, Solaris verfügbar + • Ausfilterung und Anonymisierung der Anfragen + • Sehr flexible Zugriffskontrolle + • Filterung über externe Programme (Squid-Guard) + 12.6. Protokolle + 12.6.1. Client-Kommunikation + • Hyper Text Transfer Protocol (HTTP) + • File Transfer Protocol (FTP) + • Gopher + • Wide Area Information Service (WAIS) + • Secure Socket Layer (SSL) + 12.6.2. Kommunikation zwischen Proxy-Cache-Servern + • HyperText Transfer Protocol (HTTP) + • Internet Cache Protocol (ICP(3130)) + • Cache Digests (Index von anderen Caches abfragen) + • Simple Network Management Protocol (SNMP) + • HyperText Caching Protocol (HTCP(4837)) + • Web Cache Coordination Protocol (WCCP) + 98 + 12.7. Systemvoraussetzungen + 12.7. Systemvoraussetzungen + • Langsamme CPU + • Viel RAM + • Schnelle Festplatte(n) + • Große Festplatte(n) + 12.8. SuSE Linux + rcsquid start Squid starten + rcsquid stop Squid stoppen + rcsquid restart Squid stoppen und dann starten + rcsquid status Squid info + 12.9. Automatische Starten von Squit + cd /etc/rc.d/rc5.d/ + ln -s ../squid S22squid Link zum automatischen Starten in Runlevel 5 + anlegen. + ln -s ../squid K02squid Link zum automatischen Beenden in Runlevel 5 + anlegen. + 12.10. Squiddateien + /etc/squid.conf Squid Konfigurationsdatei + /usr/share/squid/errors/ Fehlermeldungen die der Squid ausgibt + /var/cache/squid/ Squid-Cache + /var/log/squid/access.log Log-Datei mit allen Zugriffen + /var/log/squid/cache.log Cache-Aktivitaeten + 12.11. squid.conf + http_port: Proxy-Portnummer + # http_port 3128 + http_port 8080 + cache_mem: Hauptspeicherverbrauch (x3) + # cache_mem 8 MB + maximum_object_size: maximale groeße einer Datei die der Proxy speichert + # maximum_object_size 4096 KB + 99 + 12. Squid + minimum_object_size: minimale groeße einer Datei die der Proxy speichert + # minimum_object_size 0 KB + cache_dir: Verzeichnisname GroeßeMByte Ebene1 Ebene2 + # cache_dir ufs /var/cache/squid 100 16 256 + cache_dir ufs /var/cache/squid 400 16 256 + cache_access_log: Log-Datei mit allen Zugriffen + # cache_access_log /var/log/squid/access.log + cache_log: Log-Datei fuer alle Cache-Aktivitaeten + # cache_log /var/log/squid/cache.log + debug_options: ALL,1-normal 9-maximal + # debug_options ALL,1 + log_fqdn: Bei on wird der Name und bei off wird die IP-Nummer + in der access.log speichert + # log_fqdn off + log_fqdn off + client_netmask: Zum Anonymisieren + 255.255.255.255 volle IP-Nr., + 255.255.255.0 ersten 3 Stellen + # client_netmask 255.255.255.255 + ftp_user: Anonymer FTP-Name + # ftp_user Squid@ + ftp_user Anonymous@ + dns_children: maximale Anzahl der DNS Prozesse + # dns_children 5 + dns_nameservers: Eintrag fuer DNS-Server + #dns_nameservers 194.25.2.129 192.168.6.66 + reference_age: maximale Alter der Cachefiles (0.0 week/days/months/hours) + # reference_age 1 year + negative_ttl: gibt an wie lange eine negative DNS Aufloesung gueltig ist + # negative_ttl 5 minutes + http_access: Zugriffsrechte fuer den Cache + 100 + 12.11. squid.conf + # acl - aclname acltype string - definiert eine Zuganskontrolle und Sperrliste + # src - Client IP-Adresse/Adressbereich + # dst - Zielserver IP-Adresse/Adressbereich + # srcdomain - Client (Domain-)Name + # dstdomain - Zielserver (Domain-)Name + # srcdom_regex - Cient (Domain-)Name als RegEx + # dstdom_regex - Zielserver (Domain-)Name als RegEx + # port - Port oder -bereich für Verbindungen + # proto - Protokoll (z.B. HTTP, FTP ...) für die Verbindung + # method - Methode der Verbindung (z.B. GET, POST ...) + # proxy_auth - Benutzernamen bei Authentifizierung + # urlpath_regex Teil einer URL als RegEx + acl all src 0.0.0.0/0.0.0.0 + acl rotten dstdomain www.rotten.com + http_access deny rotten + http_access allow all + cache_mgr: E-Mail bei einen Fehler an: E-Mail oder Alias(/etc/aliases) + # cache_mgr webmaster + cache_effective_user: BenutzerName/ID + # cache_effective_user squid + cache_effective_group: GruppenName/ID + # cache_effective_group nogroup + visible_hostname: ServerName bei Fehlermeldungen + # none + visible_hostname proxy.gelbdmz.loc + logfile_rotate: Zeit der Logdateien in Wochen + # logfile_rotate 0 + append_domain: Kein Punkt in der URL ? Dann diesen Domainnamen anhaengen + # none + append_domain .meak.de + error_directory: Verzeichnis zu den Fehlermeldungen die der Squid ausgibt + #error_directory /usr/share/squid/errors + 101 + Teil IV. + Programmieren + 103 + 13. Bash + 13.1. Einleitung + Was heist BASH ? Bourne-Again SHell + Was ist die BASH ? Standard-Shell der meisten Linux-Distributionen + Eine fast komplette Programmiersprache + BASH-Programme werden auch SScripte"(Protokolle) genannt ! + 13.2. Referenz + #!/bin/bash Pfad zur Shell die das Programm ausführen soll + chmod u+x Script Macht das Script ausführbar + bash Script oder sh Script so gehts auch + # Kommentar bis Zeilenende + : Null-Funktion. Ein Befehl, der nichts tut. + (( oder [ + )) oder ] + echo Text Gibt den Text aus + echo "Text" Gibt den Text aus + echo Text Text Gibt den Text mit nur einer Leerstelle aus + echo "Text Text" Gibt den Text mit allen Leerstellen aus + echo Text\ \ \ Text Gibt den Text mit allen Leerstellen aus + Variable=7 Speichert 7 in der Variable + Variable=z Speichert z in der Variable + echo $Variable Gibt den Inhalt der Variable aus + echo ${Variable} Gibt den Inhalt der Variable aus + Wert=$[$Wert+1] Wert=Wert+1 + Wert=$(($Wert+1)) Wert=Wert+1 + : $[Wert+=1] Wert=Wert+1 + : $((Wert+=1)) Wert=Wert+1 + 105 + 13. Bash + 13.3. Steuer und Sonderzeichen der Bash + Zeichen Funktion + ------- -------- + Leerzeichen (space) Trenner zwischen Programm-Parametern + Tabulator (tab) Trenner zwischen Programm-Parametern + Return (newline) Befehlseingabe + \ (backslash) Escape-Zeichen + | (pipe) Verkettung der Ein-/Ausgabe mehrerer Programme + & (ampersand) Programm als Hintergrund-Prozess starten, + Ein-/Ausgabeumleitung + ; (semikolon) Trenner zwischen zwei Programmaufrufen + ( ) (braces) Gruppierung, Berechnung + 106 + 14. git + 14.1. Dokumentation + git help status Manpage von git status anzeigen + git status --help Manpage von git status anzeigen + man git-status Manpage von git status anzeigen + 14.2. Konfiguration + git config --global ... Speichern im Homeverzeichnis .gitconfig + git config --system ... /etc/gitconfig konfigurieren unueblich + git config ... Arbeitsverzeichnis .git/config + git config user.name "Max Mustermann" Name konfigurieren + git config user.email "max.mustermann@examle.com" + E-Mail konfigurieren + git config --unset user.name Name löschen + git config alias.st status Alias status -> st herstellen + [alias] nützliche Abkürzungen + st = status + ci = commit + br = branch + co = checkout + df = diff + he = help + cl = clone + git config -e startet Editor auf der Konfiguration + git config color.ui auto Farben einstellen + git config core.eol lf,crlf oder native Zeilenende lf-Linux crlf-Windows + native-System-Default + git config core.safecrlf Verbietet Commit bei vermischung + git config core.autocrlf input sichere Einstellung bei älteren + Git-Versionen unter Windows + git config il8n.commitEncoding ISO-8859-1 + Zeichenkodierung ISO-8859-1 + Standart UTF-8 + git config core.pager ’env LESSCHARSET=iso8859 less’ + Zeichenkodierung für den Pager + git config core.editor vim Vim als Editor einstellen + 107 + 14. git + git config core.browser ... Browser einstellen + git config help.autocorrect n beim Vertippen ähnliches Subkommando + ausführen, n Zentelsekunden bis zum + Ausführen, -1 für sofort aus, 0 zeigt + nur Möglichkeiten an + git config --list alle Einstellungen anzeigen + 14.3. Konfigurationen über Umgebungsvariablen + GIT_EDITOR Editor den Git verwendet + sonst greift die Variable EDITOR + GIT_PAGER der wert cat schaltet den Pager aus + GIT_AUTHOR_EMAIL E-Mail für den Autor des Commits + GIT_COMMITTER_EMAIL E-Mail für das Commiter-Feld des Commits + GIT_AUTHOR_NAME Name für den Autor des Commits + GIT_COMMITTER_NAME Name für das Commiter-Feld des Commits + GIT_DIR Verzeichnis, in dem sich das Git-Repository befindet + macht nur sinn bei einem Git-Repository + 14.4. Der Index + Der Inhalt von Dateinen liegt für Git auf drei Ebenen, den Working Tree, dem Index + und dem Repository. + clone/fetch/pull + +----------+ --------------------------------------------------> + + |Repository| | + --bare init |(origin) | push | + ----------> +----------+ <--------------------------------------- + | + | | + status add status commit/--amend | | + +------------+ ---------> +--------------+ ---------------------> +----------+ + |Working Tree| diff |Index | diff --staged/--cached |Repository| + | | <--------> |(Staging Area)| <--------------------> | | + +------------+ <--------- +--------------+ <--------------------- +----------+ + | reset HEAD reset HEAD -- | | + + -------------------------------------------------> + | + checkout -- | + init | + ---------------------------------------------------------------------------> + + git diff zeigt den Unterschied zwischen Working Tree + und Index an + git diff --color-words Änderugen Fablich anzeigen + 108 + 14.5. Repository + grün-hinzugekommen rot-entfernt + git diff --word-diff --no-color ohne Frabe mit Zeichen + git diff --staged zeigt den Unterschied zwischen + Index(Staging Area) und Repository an + git diff --cached zeigt den Unterschied zwischen + Index(Staging Area) und Repository an + 14.5. Repository + git init Beispiel Neues Repository herstellen, legt Verzeichnis Beispiel + an wenn nicht schon vorhanden + git status zeigt den aktuellen Zustand an + git log die Commit Historie anzeigen + 14.6. Commit + git add Datei Datei zum Index hinzufügen + git add -u oder --update Alle Veränderungen in den Index übertragen + git reset HEAD Datei aus der Staging Area zu entfernen + git commit -m "Erste Version" Index zum Working Tree hinzufügen + git add forgotten_file Datei zum Index hinzufügen + git commit --amend den letzten Commit ändern + git show Commit einsehen + git log Commits anzeigen + 14.7. Dateien entfernen + git rm Datei Datei in deinem Arbeitsverzeichnis behalten, + aber aus der Staging Area nehmen + git rm -f Datei Datei aus dem Arbeitsverzeichis und Index löschen + git reset HEAD Datei Datei in Deinem Arbeitsverzeichnis behalten, + aber aus der Staging Area nehmen + 14.8. Dateien verschieben + git mv Datei_alt Datei_neu Datei verschieben + 14.9. Änderung an einer Datei rückgängig machen + git checkout -- Datei Datei zurückversetzen auf den letzten Commit oder Klone + 109 + 14. git + 14.10. Dateien ignorieren + Dateien im Projektverzeichnis die nicht versioniert im Repository sein sollen + kommen in die Datei .gitignore. + .gitignore + # Zeile mit # oder leere wird ignoriert + *.o ignoriert alle Dateien die mit .o enden + !lib.o wird nicht ignoriert + /TODO ignoriert den Ordner TODO + build/ ignoriert alle Dateien im build Verzeichnis + doc/*.txt ignoriert alle .txt Dateien im doc Verzeichnis + doc/**/*.txt ignoriert alle .txt Dateien unterhalb des doc + Verzeichnis + 14.11. Mit externen Repositorys arbeiten + git clone git://git.kernel.org/pub/scm/git/git.git + git Repository herunterladen, Port 9418 + git clone file:///home/git/project.git Repository herunterladen, legt harte + Links an wenn möglich + git clone ssh://user@server/project.git ssh Repository herunterladen, Port 22 + git clone http(s)://example.com/gitproject.git + http(s) Repository herunterladen, + Port 80(443) + git remote -v zeigt an, welche externen Server für + das Projekt lokal konfiguriert sind + git remote add Name URL Remote Repository hinzufügen + git remote add origin ssh://git@sonne:/srv/git/linux.git + Beispiel + git fetch Name Informationen aus dem Remote Repository + herunterladen + git pull Name entspricht git fetch git merge + git checkout -b Branch origin/Branch erstellt einen lokalen bearbeitbaren + Branch + git push origin master Änderungen in ein Remote Repository + hochladen + git push Remote Branch Brauch auf Remote hochladen + git push Remote :Branch löschen entfernter Branches + git remote show Name zeigt die URL für das Remote + Repository, die Information welche + Branches verfolgt werden und welcher + Branch aus dem Remote Repository mit + dem eigenen Master zusammengeführt + wird, wenn Du git pull ausführst + 110 + 14.12. Tags + git remote rename Name_alt Name_neu Name des Remote Repository lokal ändern + git remote rm Name Remote Repository entfernen + 14.12. Tags + git tag vorhandene Tags anzeigen + git tag -a v1.4 -m ’my version 1.4’ + einen kommentierten Tag anlegen + git tag -s v1.5 -m ’my signed 1.5 tag’ + einen kommentierten und signierten Tag anlegen + git tag -v v1.4.2.1 einen signierten Tag zu verifizieren + git tag -a v1.2 -m ’version 1.2’ Checksumme + im Nachhinein taggen, Checksumme des Commits + oder einen Teil davon angeben + git log --pretty=oneline Commit Historie mit Checksumme + git push origin v1.5 Tag veröffentlichen + git push origin --tags Tags veröffentlichen + git tag -d v1.5 Tag löschen + git push origin :refs/tags/v1.5 veröffentlichen Tag löschen + 14.13. Branch + Wasist ein Branch? Ein Zeiger, der auf den gleichen Commit zeigt, auf dem Du gerade + arbeitest. + git branch testing erstellt einen neuen Branch mit dem Namen testing + git checkout testing um zu einem anderen Branch zu wechseln + git branch -b testing erstellt und wechselt zu dem Branch + git merge testing führt testing mit dem Master-Branch zusammen + git branch -d testing entfernt testing + git merge master Deinem Zweig mit dem master kombinieren + git rebase master alle Änderungen auf einem Branch, auf einen anderen + Branch erneut anwenden (nur mit unveröffendlichen + Branch machen) + git mergetool grafischen Tool zur Bereinigung von Merge-Konflikten + git branch Liste aller Branches anzeigen + git branch -v für jeden Branch den letzten Commit anzeigen lassen + git branch --merged Liste gemergter Branches + git branch --no-merged Liste nicht gemergter Branches + 14.14. Git Aliase + git config --global alias.co checkout co anstelle von checkout schreiben + 111 + 14. git + git config --global alias.br branch br anstelle von branch schreiben + git config --global alias.ci commit ci anstelle von commit schreiben + git config --global alias.st status st anstelle von status schreiben + 14.15. Git auf einen Server bekommen + git clone --bare my_project my_project.git + Projekt zu Projekt.git klonen + scp -r my_project.git user@git.example.com:/opt/git + Projekt per ssh hochladen + git clone user@git.example.com:/opt/git/my_project.git + Projekt per ssh zum Arbeiten herunterladen + ssh user@git.example.com auf dem Server anmelden + cd /opt/git/my_project.git Projektverzeichnis betreten + git init --bare --shared Gruppenschreibrechte zu einem Repository + hinzufügen + 14.16. Git auf dem SSH-Server einrichten + Einrichtung des SSH-Zugangs auf dem Server mit der Authorized-Keys-Methode zur + Authentifizierung der Benutzer. + sudo adduser git Benutzer git anlegen + su git Rechte von User git erlagen + cd ins Home ~ Verzeichnis des Users wechseln + mkdir .ssh Verzeichnis .ssh anlegen + - öffentliche SSH-Schlüssel der Entwickler zu der Authorized-Keys-Datei des Benut- + zers git hinzuzufügen. + cat /tmp/id_rsa.user1.pub > ~/.ssh/authorized_keys + authorized_keys erstellen und User1 einfügen + cat /tmp/id_rsa.user2.pub >> ~/.ssh/authorized_keys + User2 einfügen + cat /tmp/id_rsa.user3.pub >> ~/.ssh/authorized_keys + User3 einfügen + - Leeren Ordner anlegen und mit der Option –bare ein Repository ohne ein Arbeits- + verzeichnis erzeugen. + cd /srv in den Ordner srv wechseln + mkdir git git Ordner anlegen + cd git in den Ordner git wechseln + mkdir project.git project.git Ordner anlegen + cd project.git in den Ordner project.git wechseln + git --bare init Repository ohne ein Arbeitsverzeichnis erzeugen + 112 + 14.17. Öffentlicher Webserver-Zugang + - Die erste Version des Projektes in das Repository hochladen + cd project in das Projekt wechseln + git init Projekt Repository herstellen + git add . alle Dateien um Index hinzufügen + git commit -m ’initial commit’ Index zum Working Tree hinzufügen + git remote add origin git@gitserver:/srv/git/project.git + Server hinzufügen + git push origin master Commits und Referenzen auf den Server hochladen + - Repository klonen und Änderungen hochladen + git clone git@gitserver:/srv/git/project.git Repository klonen + cd project ins Projekt wechseln + vim README Projekt bearbeiten + git commit -am ’fix for the README file’ Änderung speichern + git push origin master Änderung hochladen + - Git-Zugang absichen + /etc/passwd + git:x:1000:1000::/home/git:/bin/sh /bin/sh auf + git:x:1000:1000::/home/git:/usr/bin/git-shell + /usr/bin/git-shell ändern + 14.17. Öffentlicher Webserver-Zugang + AnonymenLese-ZugriffzuDeinemProjektermöglichen,pergitclonehttp://git.gitserver.loc/project.git. + - Hook aktivieren + cd project.git in das Projekt wechseln + mv hooks/post-update.sample hooks/post-update post-update umbenennen + chmod a+x hooks/post-update post-update ausfürbar machen + - VirtualHost Eintrag zur Apache-Konfiguration hinzufügen + + ServerName git.gitserver.loc + ServerAdmin webmaster@localhost + DocumentRoot /srv/git + # + # Order allow, deny + # allow from all + # + + Options Indexes FollowSymLinks + AllowOverride None + 113 + 14. git + Require all granted + + ErrorLog ${APACHE_LOG_DIR}/git.gitserver.loc-error.log + CustomLog ${APACHE_LOG_DIR}/git.gitserver.loc-access.log combined + + Nachdemnächstenpushkannper"gitclonehttp://git.gitserver.loc/project.git"das + Projekt anonym herunter geladen werden. + 14.18. Grundbegriffe + Versionkontrollsystem (Version Control System, VCS) + Eine Versionsverwaltung ist ein System, das zur Erfassung von Änderungen + an Dokumenten oder Dateien verwendet wird. + Zum Beispiel: + Zentrale Systeme - zentraler Server + RCS-Revision Control System, CVS-Concurrent Versions System, + SVN-Subversion + Verteilte Systeme - Kein zentraler Server + Bazaar, Darcs, Fossil, Git, GNU arch, Mercurial, Monotone + Repository + Nutzt Git als Dantenbank in der die verschiedenen Zustände jeder Datei + eines Projektes über die Zeit hinweg ablegt. Jede Änderrung wird als + Commit verpackt und abgespeichert. + Working Tree + Das Arbeitsverzeichnis von Git, oft auch Working Directory genannt. + Commit + Das speichern der veränderten Dateien im Repository. + HEAD + Eine symbolische Referenz auf den neusten Commit im aktuellen Branch. + SHA-1 + Der Secure Hash Algorithm erstellt eine eindeutige, 160 Bit lange + Prüfsumme. Alle Commits in Git werden nach ihrer SHA-1-Summe benannt, + die aus dem Inhalt und den Metadaten des Commits errechnet wird. + Objektmodell + Ein Git-Repository lässt sich als Graph von Commits modellieren, der + durch Git-Kommandos manipuliert wird. + Index + Der Index ist eine Zwischenstufe zwischen Working Tree und Repository, + in der Sie einen Commit vorbereiten. Enthält also die Dateien für den + nästen Commit. + Clone + Wenn Sie sich ein Git-Repository aus dem Internet herrunterladen. + Enthält die gesamte Versionsgeschichte einschließlich aller Commits. + 114 + 14.18. Grundbegriffe + Branch + Eine Abzweigung in der Entwicklung. Zum Beispiel für neue Featurs, + Release vorbereitung oder alte Versionen mit Bugfixes zu versorgen. + master + Beim Initialisieren eines neuen Repositorys wird der Branch master + erstellt analog trunk in anderen Systemen. + Tag + Tags sind symbolische Namen für schwer zu merkende SHA-1-Summen. + Wichtige Commits, wie zum Beispiel Releases v1.2.3. oder können + zusätzliche Metadateien wie Autor, Beschreibung und GPG-Signatur + enthalten. + 115 + 15. C/C++ + 15.1. Befehle und Grundelemente + gcc Datei.c Programm übersetzen -> a.out + g++ Datei.cpp Programm übersetzen -> a.out (C++) + gcc -c Datei.c Objektdatei herstellen -> Datei.o + g++ -c Datei.cpp Objektdatei herstellen -> Datei.o (C++) + gcc -o Programmname Datei1.o Datei2.o Datei1.o+Datei2.o -> Programmname + g++ -o Programmname Datei1.o Datei2.o Datei1.o+Datei2.o -> Programmname (C++) + gcc -o Programmname Datei.c Programm übersetzen -> Programmname + g++ -o Programmname Datei.cpp Programm übersetzen -> Programmname(C++) + Programmname Programm starten + configure Makefile konfigurieren + make Programm übersetzen, + wenn Makefile vorhanden + make install Programm installieren + /* Kommentar einleiten + */ Kommentar abschließen + // Kommentar einleiten bis zum Zeilenende (C++) + { Blockbeginn + } Blockende + , mehrere Variablen vom gleichen Typ deklarieren z.B. int a, b, c; + ; Funktions-,Operations- und Zeilen-ende (leere Anweisung) + #include Datei aus /usr/include/ bei UNIX einlesen + #include"Datei" Datei aus dem aktuellen Verzeichnis einlesen + char Variablentyp character - Zeichen + int Variablentyp integer - ganzzahlig mit Vorzeichen + main() Hauptfunktion + return() Wert aus einer Funktion zurückliefern + 15.2. Steuersequenzen für ANSI-Bildschirme - + Innerhalb von Texten + \a BEL bell Alarm/Piepton + 117 + 15. C/C++ + \b BS backspace Rücksetzen um ein Zeichen + \f FF formfeed Seitenvorschub + \n NL new line Zeilenvorschub + \r CR carriage return Wagenrücklauf + \t HT horizontal tabulation horizontaler Tabulator + \v VT vertical tabulation vertikaler Tabulator + \0 NULL null kein Zeichen Textende + \? ? Fragezeichen (kein Dreierzeichen) + \’ ’ Hochkomma + \" " Anführungszeichen + \\ \ umgekehrter Schrägstrich + \ddd Zeichencode in oktaler Notation + \xdd Zeichencode in hexadezimaler Notation + \e[1;1H Cursor auf x1 und y1 setzen + \e[1;1f -> \e[1;1H + \e[5A Cursor 5 Zeilen aufwärts bewegen + \e[5B Cursor 5 Zeilen abwärts bewegen + \e[5C Cursor 5 Spalten vorwärts(rechts) bewegen + \e[5D Cursor 5 Spalten rückwärts(links) bewegen + \e[2J Bildschirm löschen + \e[6n Ausgabe der Cursor position z.B. ^[[32;6R + \e[s merkt die aktuelle Cursor Position + \e[u Cursor auf gemerkte Position setzen + \e[Schrift;Vordergrund;Hintergrundmerkmale setzt Bildschirmmerkmale + Schrift Vordergrund Hintergrund + 0 normal 30 schwarz 40 + 1 grell 31 rot 41 + 4 unterstrichen 32 grün 42 + 5 blinken 33 gelb 43 braun + 7 reverse 34 blau 44 + 35 magenta 45 + 36 cyan 46 + 37 weiß 47 grau + 15.3. stdio.h -> Standard Ein- und Ausgabe + c=getchar(); Eingabe eines Zeichens, ohne Wagenrücklauf + putchar(’a’); Ausgabe eines Zeichens, ohne Wagenrücklauf + puts("Text"); Zeichenkette ausgeben, mit Wagenrücklauf + fputs("Text",stdount); Zeichenkette ausgeben, ohne Wagenrücklauf + fputs("Text",stderr); Zeichenkette ausgeben, ohne Wagenrücklauf + printf("Text %d",Zahl); Zeichenkette formatiert ausgeben, ohne Wagenrücklauf + % F Z1 . Z2 L U + | | | | | | + Umwandlungszeichen: %d-dezimal %u-unsigned + 118 + 15.4. ctype.h + | | | | | | %o-oktal %s-Text %c-Zeichen + | | | | | | %f-Flieskomma %e-Expotential + | | | | | | %x-hexadezimal %p-pointer + | | | | | +-- Long-Ausgabe: notwendig für long int + | | | | +----- Nachkommastellen: z.B 3 für drei stellen + | | | +------- Trenzeichen, falls Z1 und Z2 + | | +---------- Größe des Ausgabefensters: z.B 7 für sieben stellen + | +------------ Ausrichtung: ohne Angabe rechtsbündig, + | mit Minuszeichen linksbündig + +-------------- Fluchtsymbol + scanf("%c",&text); Zeichen in &text einlesen + % * Z L U + | | | | +------ Umwandlungszeichen + | | | +-------- Long-Ausgabe + | | +---------- Größe des Eingabefensters + | +------------ Wegwerfen + +-------------- Fluchtsymbol + 15.4. ctype.h + if(isascii(zeichen)) überprüft ob es sich um ein ASCII-Zeichen handelt + if(isxdigit(zeichen)) überprüft ob es sich um ein Hex-Zeichen handelt + 15.5. string.h + char *strcat(char text1, char text2) ; hängt Text2(mit \0) an Text1 + char *strchr(const char *text, + int zeichen) ; sucht das erste vorkommende + Zeichen im Text, liefert Adresse + oder NULL + char *strcpy(char text1, char text2) ; kopiert Text2(mit \0) zum Text1 + sitze_t strlen(const char *text) ; liefert die Länge von Text(ohne \0) + char *strncat(char *text1, + const char *text2, sitze_t n) ; hängt Text2 mit n Zeichen + an Text1(mit \0) + char *strtok(char *text, + const char *kette) ; 1.Aufruf: sucht im Text das erste + Zeichen das nicht in Kette vorkommt + (wird kein Zeichen gefunden gibt strtok + einen NULL-Zeiger zurück), wird ein + Zeichen gefunden gibt strtok den Zeiger + zurück, dann sucht strtok ab Zeiger das + erste Zeichen das in der Kette vorkommt + 119 + 15. C/C++ + und überschreibt es mit \0, strtok merkt + sich den Zeiger auf das nächste Zeichen + char *strtok(NULL, const char *kette) ; 2.-n.Aufruf: wie 1.Aufruf ab gemerkten + Zeiger + 15.6. Kontrollstrukturen + if(Ausdruck) wenn der Ausdruck stimmt, + { + Anweisung-en1; Anweisung-en1 + } + else sonst + { + Anweisung-en2; Anweisung-en2 + } + switch(Ausdruck) gehe zum Ausdruck + { + case 1: Anweisung-en1; Ausdruck1: Anweisung-en1 + case 2: Anweisung-en2; Ausdruck2: Anweisung-en2 + break; Anweisungen beenden + case n: Anweisung-enn; Ausdruckn: Anweisung-enn + break; Anweisungen beenden + default: Anweisung-en; Ausdruck nicht vorhanden: Aneisung-en + } + continue; unterbricht die Abarbeitung und geht zur Ausdrucksbedingung + break; verlässt die Schleife oder Verbundsanweisung + for(Ausdruck1;Ausdruck2;Ausdruck3) Ausdruck1 einmal ausführen + { so lange der Ausdruck2 stimmt, + vorher noch Ausdruck3 + Anweisug-en; Anweisung-en + } + while(Ausdruck) so lange der Ausdruck stimmt, + { + Anweisung-en; Anweisung-en + } + do mach + { + Anweisung-en; Anweisung-en + } + 120 + 15.7. ASCII(American Standart Code for Information Interchange)-Tabelle + while(Ausdruck); so lange der Ausdruck stimmt + 15.7. ASCII(American Standart Code for Information + Interchange)-Tabelle + 654 000 001 010 011 100 101 110 111 + Bit + 3210 + NUL DLE SP 0 @ P ‘ p + 0000 $0 0 $10 16 $20 32 $30 48 $40 64 $50 80 $60 96 $70 112 + SOH DC1 ! 1 A Q a q + 0001 $1 1 $11 17 $21 33 $31 49 $41 65 $51 81 $61 97 $71 113 + STX DC2 " 2 B R b r + 0010 $2 2 $12 18 $22 34 $32 50 $42 66 $52 82 $62 98 $72 114 + ETX DC3 # 3 C S c s + 0011 $3 3 $13 19 $23 35 $33 51 $43 67 $53 83 $63 99 $73 115 + EOT DC4 $ 4 D T d t + 0100 $4 4 $14 20 $24 36 $34 52 $44 68 $54 84 $64 100 $74 116 + ENQ NAK % 5 E U e u + 0101 $5 5 $15 21 $25 37 $35 53 $45 69 $55 85 $65 101 $75 117 + ACK SYN & 6 F V f v + 0110 $6 6 $16 22 $26 38 $36 54 $46 70 $56 86 $66 102 $76 118 + BEL ETB ’ 7 G W g w + 0111 $7 7 $17 23 $27 39 $37 55 $47 71 $57 87 $67 103 $77 119 + BS CAN ( 8 H X h x + 1000 $8 8 $18 24 $28 40 $38 56 $48 72 $58 88 $68 104 $78 120 + HT EM ) 9 I Y i y + 1001 $9 9 $19 25 $29 41 $39 57 $49 73 $59 89 $69 105 $79 121 + LF SUB * : J Z j z + 1010 $A 10 $1A 26 $2A 42 $3A 58 $4A 74 $5A 90 $6A 106 $7A 122 + VT ESC + ; K [Ä k {ä + 1011 $B 11 $1B 27 $2B 43 $3B 59 $4B 75 $5B 91 $6B 107 $7B 123 + 121 + 15. C/C++ + FF FS , < L \ö l |ö + 1100 $C 12 $1C 28 $2C 44 $3C 60 $4C 76 $5C 92 $6C 108 $7C 124 + CR GS - = M ]Ü m }ü + 1101 $D 13 $1D 29 $2D 45 $3D 61 $4D 77 $5D 93 $7D 109 $7D 125 + SO RS . > N ^ n ~ß + 1110 $E 14 $1E 30 $2E 46 $3E 62 $4E 78 $5E 94 $7E 110 $7E 126 + SI US / ? O _ o DEL + 1111 $F 15 $1F 31 $2F 47 $3F 63 $4F 79 $5F 95 $7F 111 $7F 127 + 15.7.1. Unterteilung der Steuerzeichen: + TC transmission control Übertragungssteuerzeichen + FE format effects Formatsteuerzeichen + IS information separators Informationstrennzeichen + DC device control Gerätesteuerzeichen + 15.7.2. Bedeutung der Steuerzeichen: + NUL null kein Zeichen + SOH TC start of heading Anfang des Kopfes + STX TC start of text Anfang des Textes + ETX TC end of text Ende des Textes + EOT TC end of transmission Ende der Übertragung + ENQ TC enquiry Stationsaufforderung + ACK TC acknowledge positive Rückmeldung + BEL bell Alarm / Piepton + BS FE backspace Rückwärtsschritt + HT FE horizontal tabulation horizontaler Tabulator + LF FE line feed Zeilenvorschub + VT FE vertical tabulation vertikaler Tabulator + FF FE form feed Seitenvorschub + CR FE carriage return Wagenrücklauf + SO shift out Dauerumschaltung + SI shift in Rückschaltung + DLE TC data link escape Datenübertragungsumschaltung + DCn DC device control Gerätesteuerzeichen + NAK TC negative acknowledge negative Rückmeldung + SYN TC synchronous idle Synchronisierung + ETB TC end of transmission block Ende des Übertragungsblocks + CAN cancel ungültig + EM end of medium Ende der Aufzeichnung + 122 + 15.8. Operatoren und Ausdrücke + SUB substitute character Substitution + ESC escape Umschaltung + FS IS file separator Hauptgruppentrennung + GS IS group separator Gruppentrennung + RS IS record separator Untergruppentrennung + US IS unit separator Teilgruppentrennung + SP space Leerzeichen + DEL delete löschen + 15.8. Operatoren und Ausdrücke + 15.8.1. Arithmetische Operatoren: + Operator Bedeutung Assoziativität Rang Beispiel + -------- --------- -------------- ---- -------- + + Addition > 5 a+b + - Subtraktion > 5 a-b + * Multiplikation > 4 a*b + / Division > 4 a/b + % Modulo > 4 a%b + 15.8.2. Vergleichsoperatoren: + Operator Bedeutung Assoziativität Rang Beispiel + -------- --------- -------------- ---- -------- + < kleiner als > 7 a 7 a<=b + > größer > 7 a>b + >= größer oder gleich > 7 a>=b + == gleich > 8 a==b + != ungleich > 8 a!=b + 15.8.3. Logische Operatoren: + Operator Bedeutung Assoziativität Rang Beispiel + -------- --------- -------------- ---- -------- + & bitweises AND > 9 a&b + | bitweises OR > 11 a|b + ^ bitweises XOR > 10 a^b + << bitweises Linksschieben > 6 a<> bitweises Rechtsschieben > 6 a>>n + ~ Einerkomplement < 2 ~a + && logisches AND > 12 a&&b + || logisches OR > 13 a||b + ! logische Negation < 2 !a + 123 + 15. C/C++ + 15.8.4. Zuweisungsoperatoren: + Operator Bedeutung Assoziativität Rang Beispiel + -------- --------- -------------- ---- -------- + = Zuweisung < 15 a=b + += Zuweisung nach Addition < 15 a+=b + -= Zuweisung nach Subtraktion < 15 a-=b + *= Zuweisung nach Multiplikation < 15 a*=b + /= Zuweisung nach Division < 15 a/=b + %= Zuweisung nach Modulo < 15 a%=b + <<= Zuweisung nach bitweisem < 15 a<<=b + Linksschieben + >>= Zuweisung nach bitweisem < 15 a>>=b + Rechtsschieben + &= Zuweisung nach bitweisem AND < 15 a&=b + |= Zuweisung nach bitweisem OR < 15 a|=b + ^= Zuweisung nach bitweisem XOR < 15 a^=b + 15.8.5. Post- und Prefix- Operatoren: + Operator Bedeutung Assoziativität Rang Beispiel + -------- --------- -------------- ---- -------- + ++ Inkrement > < 1 2 a++ ++a + -- Dekrement > < 1 2 a-- --a + () Funktionsaufruf > 1 sqrt(a) + [] Arrayelement > 1 feld[a] + . Feld einer structur oder union > 1 tag.dat + -> Zeiger auf structur > 1 zeig->ele + ( type ) expl. Typenumwandlung < 2 double(a) + 15.8.6. Zeigeroperatoren: + Operator Bedeutung Assoziativität Rang Beispiel + -------- --------- -------------- ---- -------- + & Adresse von < 2 &a + * Indirektion < 2 *a + .* Dereferenzzeiger > 3 tag.*dat + ->* Dereferenzzeiger > 3 tag->dat + 15.8.7. Diverse Kategorien: + Operator Bedeutung Assoziativität Rang Beispiel + -------- --------- -------------- ---- -------- + ?: Bedinung < 14 a?b:c + i = x 16 a,b, ... + - unäres Minus < 2 -n + + unäres Plus < 2 +n + sizeof(typ) Größe des Types in Byte < 2 sizeof(a) + new dynam. Objekt erzeugen < 2 b = new float[a] + delete dynam. Objekt löschen < 2 delete b + :: Zugiffs-/Bereichsoperator < 2 adr::nam + 15.9. Inkrementieren und Dekrementieren + i++ ; i = i + 1 + ++i ; i = i + 1 + x = i++ ; 1. x = i 2. i = i + 1 + x = ++i ; 1. i = i + 1 2. x = i + i-- ; i = i - 1 + --i ; i = i - 1 + x = i-- ; 1. x = i 2. i = i - 1 + x = --i ; 2. i = i - 1 2. x = i + 15.10. Wertebereich und Genauigkeit elementarer + Datentypen + Datentyp Bit Min.Wert Max.Wert Genauigkeit + -------- --- -------- -------- ----------- + char 8 -128 127 + unsigned char 8 0 255 + short int 16 -32768 32767 + unsigned short int 16 0 65535 + int (16)32(64) -2147483648 2147483647 + unsigned int 16 0 65535 + long int 32(64) -2147483648 2147483647 + unsigned long int 32 0 4294967295 + float 32 ca. 3.4E-38 3.4E38 >= 6 Ziffern + double 64 ca. 1.7E-308 1.7E308 >= 10 Ziffern + long double 80 ca. 1.2E-4932 1.2E4932 >= double + 15.11. Variableninitialisierung + Nichtinitialisierte Variabeln haben nicht automatisch den Wert 0! + short faktor=10 ; + short laktor, messwert ; + 125 + 15. C/C++ + messwert=faktor ; + 15.12. Konstanten + Konstanten werden mit dem vorangestellten Schlüsselwort const wie Variabeln dekla- + riert. Der dem Namen über das =-Zeichen zugeordnete Wert kann nicht im Programm + verändert werden. Für eine fehlende Typenangabe wird int angenommen. + cont float PI = 3.14159 ; // bevorzugen + #define PI 3.14159 ; + 15.12.1. Ganzzahlkonstanten + dezimal = 30 ; oktal = 036 ; hexadezimal = 0x1E ; Zusätzlich kann frau eine Ganz- + zahlkonstante durch das Suffix L oder l als long und durch U oder u als unsigned + kennzeichnen (z.B. 30U). + 15.12.2. Gleitkommakonstanten + 0.033 +.033 33E-3 +33.0e-03 Zusätzlich kann frau eine Gleitkommakonstante durch + das Suffix F oder f als float und durch L oder l als long double kennzeichnen (z.B. + 0.033L). + 15.12.3. Zeichen- und Zeichenkettenkonstanten + ’n’ + “zeichenkette’" + 126 + 16. Tcl/Tk + wish startet den Tcl/Tk-Interpeter + exit beendet den Tcl/Tk-Interpeter + wish Programm.tcl startet das Programm.tcl + button .name Option/en Knopf definieren Optionen: + -text "Aufschrift" Knopf-Aufschrift + -text [Befehl] Knopf-Aufschrift vom Befehl + -command {Befehl} Knopf-Befehl + Befehl: z.B. exec ls oder exec xterm -e vi & + -relief flat Knopf flach + -relief raised Knopf erhoben + -relief sunken Knopf eingedrückt + -relief ridge Knopf Band erhoben + -relief groove Knopf Band eingedrückt + -padx Pixelzahl Abstand zum Rand in x-Richtung + -pady Pixelzahl Abstand zum Rand in y-Richtung + -image [ image create photo -file Bildname ] + Knopf mit gif, ppm oder pgm + -foreground Farbe Schriftfarbe "#rgb"->"#ff0000" oder red + -fg Farbe Abkürzung für -foreground Farbe + -background Farbe Knopffarbe + -bg Farbe Abkürzung für -background Farbe + -width Pixelbreite Knopfbreite + -height Pixelhöhe Knopfhöhe + -font Zeichensatz Schrift für den Knopf + pack .name Option/en Knopf anzeigen Option: + -fill x Knopf an die Fensterbreite anpassen + -expand true Knopf im großen Fenster aufteilen + 127 + 17. Perl + perl -v überprüfen ob Perl installiert ist + 129 + 18. CGI+Perl + 18.1. Einleitung + Was ist CGI? Common Gateway Interface. Web-Server-Schnittstelle, um mit + anderen Programmen zusammenzuarbeiten. + Was ist Perl? Practical Extraction and Report Language. Interpreter-Skript- + Sprache, die häufig zur Programmierung von CGI-Anwendungen + benutzt wird. + 18.2. Perl + 18.2.1. Texte und Strings + # Kommentartext (Hash) Einzeiliger Kommentartext + print "Text" ; Text ausgeben + print "Text\n" ; \n Neue Zeile + print "Text\r" ; \r Wagenrücklauf + print "Text\t" ; \t Tabulator + print "Text\v" ; \v Vertikalzeichen + print "Text\f" ; \f Papiereinzugszeichen + print "Text\b" ; \b Rücksetzzeichen + print "Text\a" ; \a Piepton + print "Text\e" ; \e Unterbrechungszeichen + print $Variable ; Variable ausgeben + print "Text\"" ; \" Gänsefüßchen ausgeben + print "Text\’" ; \’ Einfache Anführungszeichen ausgeben + print "Text\$" ; \$ Dollar-Zeichen ausgeben + print "Text\\" ; \\ Backslash ausgeben + print "Text".$Var."Text" ; . Verketten von Zeichenfolgen + print "Text"x10 ; Text 10 mal zusgeben + 18.2.2. Rechenoperationen + $a=$b+$c ; Addition von $b und $c gleich $a + $a=$b-$c ; Subtraktion von $b minus $c gleich $a + $a=$b*$c ; Multiplikation von $b mal $c gleich $a + $a=$b/$c ; Division $b geteilt durch $c gleich $a + 131 + 18. CGI+Perl + $a=$b**$c ; Potenz $b hoch $c gleich $a + $a=$b%$c ; Modulo $b geteilt durch $c Rest gleich $a + $a++ ; $a=$a+1 ; + $a-- ; $a=$a-1 ; + $a=3.1415 ; . Dezimaltrenner + 18.2.3. Arrays (Listen) + @Array=("W0","W1") ; Werte einer Array-Variable zuweisen (Kurzform) + $Array[Indexwert]="Wert" ; Wert einer Array-Variable zuweisen (Langform) + @Array=$Liste[2,4,8] ; Werte eines Arrays eines Arrays zuweisen + print @Array ; Gesamtes Array ausgeben + print $Array[Indexwert] ; Wert einer Array-Variable ausgeben + print $#Array ; Nummer des letzten Listenelements ausgeben + 18.2.4. String- und Zahlenvergleichsoperratoren + Vergleich Zahlenvergleich Stringvergleich + Gleich == eq + Ungleich != ne + Kleiner als < lt + Größer als > gt + Kleiner oder gleich <= le + Größer oder gleich >= ge + 18.2.5. if-Bedingung + if (Bedingung) Wenn die Bedingung Wahr, + { + Befehle ; Befehle ausführen + } + 18.2.6. if-else-Bedingung + if (Bedingung) Wenn die Bedingung Wahr, + { + Befehle ; Befehle ausführen + } + else sonst + { + Befehle ; Befehle ausführen + } + 132 + 18.3. Funktionen + 18.2.7. if-elseif-Bedingung + if (Bedingung) Wenn die Bedingung Wahr, + { + Befehle ; Befehle ausführen + } + elseif (Bedingung) sonst Wenn die Bedingung Wahr, + { + Befehle ; Befehle ausführen + } + 18.3. Funktionen + 18.3.1. String Funktionen + $Var=chop($String) ; Löscht das letzte Zeichen von String und + gibt es an Var + 18.3.2. Rechen Funktionen + $a=sqrt($b) ; Quadratwurzel von $b nach $a + $a=log($b) ; Logarithmus + $a=exp($b) ; Exponenten + $a=abs($b) ; Absoluterwert + $a=int($b) ; Ganzzahlwert + 18.3.3. Array Funktionen + push(@Liste,@Elemente) ; Setzt ein oder mehrere Elemente an + das Ende der Liste + unshift(@Liste,"Wert") ; Setzt ein oder mehrere Elemente an + den Anfang der Liste + $a=shift(@Liste) ; Entfernt das erste Element aus der Liste + und gibt es an $a + $a=pop(@Liste) ; Entfernt das letzte Element aus der Liste + und gibt es an $a + splice(@Liste,Start,Anzahl,Element) ; Entfernt die Anzahl vom Start der Liste + und fügt Element ein + 133 + 19. Java + 19.1. Funktion von Java + +---------------+ +--------------------------+ +---------------------+ + | Programm Code |->| Java Compiler (java.exe) |->| Bytecode (01010011) | + +---------------+ +--------------------------+ +---------------------+ + | | + V V + +--------------+ +--------------+ + | Ineterpreter | | Browser/ | + | (java.exe) | | Appletviewer | + +--------------+ +--------------+ + javac.exe progammcode.java -> programmcode.class Programm compilieren + java.exe programmcode Programm ausführen + appletviewer.exe Applets ausführen + 19.2. Sprache und Syntax von Java + 19.2.1. Kommentrare + /* Kommentar-Anfang + */ Kommentar-Ende + // Einzeiliger Kommentar ohne Ende + ; Anweisung abschließen + 19.2.2. Datentypen + Typ Inhalt Standdartwert Größe Wertebereich + boolean True oder False False 1 Bit - + char Unicode Zeichen 0000 16 Bit 0000 bis FFFF (Hex.) + byte Ganzzahl mit Vorzeichen 0 8 Bit -256 bis 255 + short Ganzzahl mit Vorzeichen 0 16 Bit -32768 bis 32767 + int Ganzzahl mit Vorzeichen 0 32 Bit -2^31 bis 2^31-1 + long Ganzzahl mit Vorzeichen 0 64 Bit -2^63 bis 2^63-1 + float Kommazahl 0.0 32 Bit - + double Kommazahl 0.0 64 Bit - + 135 + 19. Java + 19.2.3. Variablen + Variable deklarieren + boolean myBool; + int x = 32; + double y = 3.2; + char buchstabe; + Variabeln ansprechen + this.buchstabe; bezieht sich auf die aktuelle Klasse + 19.3. Pakete und Verzeichnisstrukturen + 19.3.1. Sichtbarkeit und Zugriffsrechte von Klassen und + Methoden + public Klasse, Methode oder Variable die überall sichtbar ist + protected Methode oder Variable die nur im eigenen Paket und + abgeleiteten Klassen sichtbar ist + default Klasse, Methode oder Variable die Sichtbarkei beschrängt + sich auf das eigen Paket + private protected Methode oder Variable die nur in abgeleiteten Klassen + sichtbar ist + private Methode oder Variable die nur in der eigenen Klasse + sichtbar ist + Zugriff public protected default private protected private + ------- ------ --------- ------- ----------------- ------- + Zugriff ... + ... im selben Paket Ja Ja Ja Nein Nein + ... von anderen Paketen Ja Nein Nein Nein Nein + Vererbt ... + ... Klassen im selben Paket Ja Ja Ja Ja Nein + ... Klassen an andere Pakete Ja Ja Nein Ja Nein + 19.3.2. Klassen + class Klasse Klassendeklaration + { + ... + } + public class Klasse öffendliche Klassendeklaration + 136 + 19.3. Pakete und Verzeichnisstrukturen + { -ohne public ist die Klasse automatisch "privat" + ... + } + package Paketklasse; Klassen zusammenfassen d.h. Paketklasse.Klasse + public class Klasse + { + ... + } + package Paket.Paketklasse Oberklassen zusammenfassen d.h. + Paket.Paketklasse.Klasse + 19.3.3. Konstruktoren und Destruktoren + class Klasse Konstruktor + { ----------- + public Klasse() Methode die beim Erschaffen eines neuen Objektes + { automatisch aufgerufen wird + ... + } Destruktor + ---------- + protected void finalize() Methode die beim Löschen eines alten + { Objektes automatisch aufgerufen wird + ... + } + } + 19.3.4. Methoden überladen + class Klasse + { + Methode() Dieselbe Metode mehrmals mit unterschielichen + { Parametern schaffen + ... + } + Methode(int var) Dieselbe Metode mehrmals mit unterschielichen + { Parametern schaffen + ... + } + } + 19.3.5. Objekte + objekt Neuobjekt = new objekt(); Neues Objekt Neuobjekt von der Klasse + 137 + 19. Java + objekt erstellen + 19.3.6. Vererbung + public class NeuKlasse extends Klasse {} neue Klasse NeuKlasse herstellen + alle sichtbaren Eigenschaften + und Methoden werden übernommen + 19.3.7. Schnittstellen + public interface Klasse { Schnittstelle erschaffen + Methodenkopf(); + Variablen; + } + class NeuKlasse extends Klasse implements IntKlasse neue Klasse NeuKlasse + herstellen + alle sichtbaren Eigenschaften + und Methoden werden übernommen + und die Schnittstelle IntKlasse + hinzufügen + 19.4. Elementare Syntax von Java + 19.4.1. Operratoren + x = 10; Das Gleichheitszeichen weist immer den rechten Wert dem auf + der linken Seite zu + 19.4.2. Verknüpfungsoperatoren + Operator Bedeutung Beispiel + -------- --------- -------- + + Addition 7 = 3 + 4; + - Subtraktion 1 = 7 - 6; + * Multiplikation 6 = 2 * 3; + / Division 3 = 9 / 3; + % Modulo(Rest) 1 = 9 % 4; + 19.4.3. Inkrement-Operator + x++; x = x + 1; + 138 + 19.4. Elementare Syntax von Java + 19.4.4. Dekrement-Operator + x--; x = x - 1; + 19.4.5. Arithmetische Zuweisungsoperatoren + Operator Beispiel Bedeutung + -------- -------- --------- + += x += 3; x = x + 3; + -= x -= 3; x = x - 3; + *= x *= 3; x = x * 3; + /= x /= 3; x = x / 3; + %= x %= 3; x = x % 3; + 19.4.6. Bedingungen und Entscheidungen + if(Bedingung) { wenn Bedingung wahr dann Anweisungen + Anweisungen; if ( x != y ) { z++; } + } + Operator Beschreibung + -------- ------------ + == Gleichheit + != Ungleichheit + < kleiner als + > größer als + <= kleiner gleich + >= größer gleich + 19.4.7. if - else - Bedingungen + if(Bedingung) { wenn Bedingung wahr dann Anweisungen1 sonst Anweisungen2 + Anweisungen1; if ( x != y ) { z++; } else { z--; } + } else { + Anweisungen2; + } + 19.4.8. Verschachtelte Bedingungen + if(Bedingung1) { wenn Bedingung1 und Bedingung2 dann Anweisungen1 + if(Bedingung2){ sonst Anweisungen2 + Anweisungen1; if( x != y ) { if( a < b ){z++;} } else { z--; } + } + } else { + Anweisungen2 + } + 139 + 19. Java + 19.4.9. Fallunterscheidung mit switch - case + switch(Ausdruck) { switch(2) { Route 2 also + case Wert1: Anweisungen1; case 1: x++; x = x - 1; + break; break; + case Wert2: Anweisungen2; case 2: x--; + break; break; + case Wert3: Anweisungen3; } + break; + } + 19.5. Schleifen + 19.5.1. Die while - Schleife + while(Bedingung) { int x=0; solange Bedingung wahr + Anweisungen; while(x<10) { Anweisungen + } x++; + } + 19.5.2. Die do - while - Schleife + do { int x=0; Anweisungen dann solange + Anweisungen; do { Bedingung wahr + } while(Bedingung); x++; Anweisungen + } while(x<10); + 19.5.3. Die for - Schleife + for(Initialisierung; Bedingung; Schleifenschritt) { solange Bedingung wahr + Anweisungen; Anweisungen + } for(x=0;x<10;x++) { + y++; + } + 19.5.4. Schleifen mit break verlassen + for(x=0;x<10;x++) { Die Schleife wird vor dem y++ verlassen + break; + y++; + } + 19.5.5. Schleife mit continue wiederholen + for(x=0;x<10;x++) { Die Schleife wird vor dem y++ wiederholt + 140 + 19.6. Komplexe Datentypen + continue; + y++; + } + 19.6. Komplexe Datentypen + 19.6.1. Arrays + int liste[] = new int[10]; schafft ein Array dass zehn verschiedene int- + Werte speichern kann + int Array[][] = new int[3][3]; schafft ein zweidimensionales Array + int liste[] = {3, 5, 7}; schaft ein Array mit 3 Werten + liste[0] = Wert; Wert des 1. Elements zuweisen + liste[0][0] = Wert; Wert des 1. Elements zuweisen + Wert = liste[0]; Wert des 1. Elements abrufen + Wert = liste[0][0]; Wert des 1. Elements abrufen + liste.length enthält die Länge des Arrays liste + 19.7. Die Anweisung import + import haus.wand.stein; import erlaubt es Klassen im Sourcecode + getAnzahl(); über einen gekürzten Namen anzuspechen + haus.wand.stein.getAnzahl() -> getAnzahl() + import java.lang.*; importiert alle Bestandteile ins Programm + 19.8. Java eigene Klassen + 19.8.1. Die Klasse Math + Math.* bietet mathematische Funktionen + Math.E Eulersche Zahl + Math.PI PI + Math.random() Zufallszahl zwischen 0 und 1 + Math.round() rundet zu Ganzzahlen + 19.9. Die Klasse Object + 19.9.1. Die Klasse Object + getClass() liefert die Klasse eines Objektes zurück + equals() vergleicht zwei Objekte gibt true oder false + 141 + 19. Java + 19.10. Die Klasse Runtime + Um diese Klasse zu nutzen,muss mit getRuntime() erst ein Objekt erstellt werden! + Runtime mySystem = Runtime.getRuntime(); Objekt Runtime erstellen + freeMemory() freier Speicher + totalMemory() gesamter Speicher + exit(0) Programm sofort mit Wert verlassen + exec() Systemprogramme starten (s. Exceptions) + 19.11. Die Klasse String + String s = "Hallo" + " Du !"; Strings zusammenfassen + charAt() gibt einen Buchstaben aus dem String zurück + indexOf() Position von Buchstaben/ketten feststellen + substring() String auseinanderschneiden + lenght() Länge eines Strings bestimmen + 19.12. Die Klasse Stringbuffer + 19.12.1. Die Klasse Stringbuffer + Umdiese Klasse zu nutzen, muss erst ein Objekt erstellt werden! + Stringbuffer buffer = newStringbuffer(""); Objekt Stringbuffer erstellen + setCharAt() änderrung eines bestimmten Buchstaben im String + delete() löscht Teile aus dem String + replace() ersetzt Teile im String + insert() setzt Teile im String ein + 19.13. Die Klasse System + Standardeingabe - in, Standardausgabe - out, Fehlerausgabe - err + System.out.println("Text") Text ausgeben + byte[] b = new byte[80]; + System.in.read(b); Einlesen von Daten + 19.14. Das Paket java.util + import java.util.*; Paket einbinden + 142 + 19.15. Ausnahmen (Exceptions) + 19.14.1. Die Klasse Date + Date myDate = new Date(); Objekt Date erstellen + toString() Datum in einen String umwandeln + getTime() UNIX-Timestamp, der die Sekunden seit dem + 1.1.1970 ausgibt + before() vergleicht das Datumsobjekt od es davor ist + after() vergleicht das Datumsobjekt od es danach ist + Erweiterte Funktionen rund um das Datum gibt es in der Klasse Calendar bzw. + DateFormat in der Java-API + 19.14.2. Die Klasse Random + Random zz = new Random(); Objekt Random erstellen + Methode Bereich Typ + ------- ------- --- + nextInt() -2^31 bis 2^31-1 int + nextLong() -2^63 bis 2^63-1 long + nextFloat() 0.0 bis 1.0 float + nextDouble() 0.0 bis 1.0 double + nextGaussian() gibt eine Zufallszahl zurück, die nach dem Gauß- + Verfahren ermittelt wurde + 19.14.3. Die Klasse Stack + Stack myStack = new Stack(); Objekt Stack erstellen + push() legt ein Objekt auf dem Stack ab + pop() holt das oberste Objekt vom Stack und löscht es + peek() holt das oberste Objekt vom Stack + 19.15. Ausnahmen (Exceptions) + import java.io.*; + public class trycatchfinally { + public static void main(String args[]) { + Runtime mySystem = Runtime.getRuntime(); //Objekt Runtime erstellen + try{ //unsichere Anweisungen + mySystem.exec("xaos"); + } catch(IOException e) { //Fehlerbehandlung + System.err.println("Es ist ein Fehler aufgetreten: " + e); + 143 + 19. Java + } finally { //Anweisungen werden immer ausgeführt + System.out.println("Kritischer Bereich wurde ausgeführt!"); + } + } + } + 19.15.1. Eigene Ausnahme erzeugen (throw) + Methode(int zahl) { + if(zahl<0) { + throw(new Exception("Fehler!")); + } elese { + zahl++; + } + } + 19.16. Multitasking mit Threads + 19.16.1. Arbeiten mit Threads + java.lang die Klasse Thread ist ein Bestandteil des Paketes + public class Klasse implements Runnable {} neue Klasse über die + Schnittstelle Runnable erstellen + run() Methode run() (Code des Threads) + muss überschrieben werden + Klasse test = new Klasse(); In main(): Objekt der eigenen Klasse + test.start(); erstellen und Startmethode + aufrufen + public void start() { + Thread myThread = new Thread(this); Objekt aus der Klasse Thrad + erstellen und deren Konstruktor + das aktuelle Objekt als + parameter übergeben + myThread.start(); Thread starten + ...; + myThread.stop(); Thread beenden + } + myThread.sleep(x); Thread x Milisekunden pausieren + muss mit Ausnahme abgefangen + 144 + 19.17. Applets + werden InterruptedException + myThread.suspend(); Thraed anhalten + myThread.resume(); Thread wieder starten + myThread.destroy(); Thread zerstören/anhalten + 19.17. Applets + 19.17.1. Applets in eine Webseite einbinden + + + Mein erstes Applet + + + + + + + + + 19.17.2. Das erste Java Applet + import java.applet.*; + import java.awt.*; + public class MyApplet extends Applet { + public void paint(Graphics g) { + g.drawString("Mein erstes Applet !", 20, 40); + } + } + 19.17.3. Die Methoden eines Applets + init() wird automatisch bei der Initialisierung des Applets aufgerufen + start() wird automatisch aufgerufen, wenn das Applet im sichtbaren + Browser-Bereich erscheint + stop() wird automatisch aufgerufen, wenn das Applet den sichtbaren + Bereich verläßt + destroy() wird automatisch beim verlassen der Seite oder schließen des + Browsers aufgerufen + 19.17.4. Ein Applet im Überblick + import java.applet.*; + import java.awt.*; + 145 + 19. Java + public class newApplet extends Applet { + public void init() { + //initialisierung aller nötigen Werte für das Programm + } + public void start() { + //Start des Applets + } + public void paint(Graphics g) { + //Grafikausgabe über das Objekt g ! + } + public void stop() { + //Stop des Applets + } + public void destroy() { + //Ende des Applets + //Speicher wird freigegeben + } + } + 19.17.5. Pakete + java.awt dient zur Bearbeitung und Ausgabe von Grafiken und + Fensterelementen in Applikationen und Applets + (advanced window toolkit) + java.applet eine Grundvoraussetzung für ein Applet + 19.17.6. Die Klasse Graphics + public void paint(Graphics g) { um in das Applet zu zeichnen + drawString("Text",x,y); Text im Applet ausgeben + } + drawLine() Linie zeichnen + drawRect() Rechteck zeichnen + fillRect() gefülltes Rechteck zeichen + drawRoundRect() Rechteck mit abgerundeten Ecken zeichnen + fillRoundRect() gefülltes Rundeck zeichnen + drawOval() Kreis/Elipse zeichnen + fillOval() gefüllte/r Kreis/Elipse zeichnen + copyArea() kopieren eines sichtbaren Bereiches + 19.17.7. Die Klasse Color + Color farbe = new Color(r,g,b); Farben erzeugen r=0-255 g=0-255 r=0-255 + Color dfarbe = farbe.darker(); nächst dunklere Farbe + 146 + 19.17. Applets + Color hfarbe = farbe.brighter(); nächst hellere Farbe + Konstante Frabe + --------- ----- + Clolor.white weiss + Clolor.yellow gelb + Clolor.orange orange + Clolor.grey grau + Clolor.pink pink + Clolor.red rot + Clolor.magenta magenta + Clolor.green grün + Clolor.blue blau + Clolor.darkGray dunkelgrau + Clolor.lightGray hellgrau + Clolor.black schwarz + 19.17.8. Die Klasse Font + Windows Java + ------- ---- + Arial Helvetica + Courier New Corier + MS Sans Serif Dialog + Times New Roman TimesRoman + WingDings ZapfDingbats + Arial default + Font f = new Font("art", stil, größe); neue Schrift erstellen + stil: plain(normal), + italic(kursiv), blod(fett) + 19.17.9. Die Klasse Image + Image myImage = getImage(getCodeBase(), "Bild.jpg"); Bildobjekt erschaffen + drawImage() Bild anzeigen + 19.17.10. Die Klasse Button + Button myButton = new Button("Klick"); Buttonobjekt erschaffen + setLabel() Beschriftung des Buttons ändern + getLabel() Beschriftung des Buttons auslesen + 147 + 19. Java + 19.18. Eventhandling + java.awt.event.*; Paket zur Ereignisbehandlung einbinden + 19.18.1. Mouse Events + public class myApplet extends Applet implements MouseListener {} + Schnittstelle MouseListener implementieren + Methode Aufgabe + ------- ------- + mousePressed() Maustaste wird gedrückt + mouseReleased() Maustaste wird losgelassen + mouseClicked() Mausklick + mouseEntered() Maus bewegt sich in das Applet + mouseExited() Maus verlässt das Applet + addMouseListener(this); Listener soll auf das gesamte Applet achten + public void mousePressed(mouseEvent e) { + int x = e.getX(); Maustaste an X gedrückt + int y = e.getY(); Maustaste an Y gedrückt + } + addMouseMotionListener(this); MotionListener soll auf das Applet achten + mouseMoved() bewegte Mausereignisse + mouseDragged() + 19.18.2. Action Events + public class myApplet extends Applet implements ActionListener {} + Schnittstelle ActionListener implementieren + Button myButton = new Button("Knopf"); Button erstellen + this.add(myButton); Button setzen + myButton.addActionListener(this); Button mit ActionListener versehen + public void actionPerformed(ActionEvent e) { Aufruf beim Anklicken des Button + String Klick = e.getActionCommand(); gibt die Aufschift des Button + } + 19.18.3. Parameter an ein Applet + + 148 + 19.18. Eventhandling + Parameter1 + Parameter2 + + String var1 = getParameter("var1"); Parameter1 an den String var1 + String var2 = getParameter("var2"); und var2 übergeben + 19.18.4. Weitere wichtige Pakete + java.net Klassen und Schnittstellen für Netzwerkentwicklung + java.beans wieder verwentbare Komponenten + java.security erhöte Sicherheit innerhalb von Applikationen/Applets + java.rmi Verteilung eines Programms auf mehrere Rechner + java.sql Anbindung an SQL-Datenbanken + java.servlet Applikationen die serverseitig laufen + 149 + 20. JavaScript + 20.1. Einbindung von JavaScript + 20.1.1. Einbindung in den Head + + + + Beendet den JavaScript-Quelltext + + + + + 20.1.2. Einbindung in den Body + + + + + + Beendet den JavaScript-Quelltext + + + 20.1.3. Ausführen bei bestimmten Aktionen + + + + + Beim Laden wird der JavaScript-Quelltext + 151 + 20. JavaScript + ausgeführt + + + 20.2. Variablen + var GlobaleVariable Globale Variable deklarieren + function() { + var LokaleVariable Lokale Variable deklarieren + } + var variable Variable deklarieren + variable = "Wert" Wert zuweisen + var zahl=9 Variable deklarieren und Wert zuweisen + + Verketten + 20.3. Objekte + 20.3.1. Standardobjekte + document.write("Hallo") Hallo auf der Seite ausgeben + document.writeln("Hallo") Hallo auf der Seite mit Zeilenumruch + ausgeben + document.close() Schreiben schließen + document.bgColor=("ffffff") Hintergrunffarbe + document.fgColor=("000000") Fordergrundfarbe + document.linkColor=("00ff00") Neuer Link + document.vlinkColor=("ffff00") Besuchter Link + document.alinkColor=("ff0000") Aktiver Link + document.referrer URL von der aufgerufen wurde + document.location URL der Datei selber + document.title Titel der Seite + document.Name.src="bild2.gif" um auf + das Bild zuzugreifen + document.forms[0].Name.value Formular 1(0); aktueller Text im + Eingabefeld auslesen oder überschreiben + document.forms[0].Name.defaultValue Defaultwert auslesen oder überschreiben + document.forms[0].Name.select() Text im Eingabefeld makieren + document.forms[0].Name.focus() Cursor in das Eingabefeld setzen + 152 + 20.3. Objekte + document.forms[0].Name[0].checked Radio-Checkbuttons liest oder schreibt, + ob ein Button ausgewählt ist + document.forms[0].Name[0].defaultChecked + Voreinstellung eines Button lesen oder + schreiben + nicht markiert markiert + 0 1 + false true + document.forms[0].Name.options[0].selectedIndex + Auswahlliste auslesen oder schreiben + document.forms[0].Name.options[0].value Wert auslesen oder schreiben + parent.frames[0].location.href= Frameinhalt ändern 0 -> Frame 1 + "frame.htm" + parent. verzweigt in den nächsthöheren Frame + top. verzweigt in den höchsten Frame im + Browser + frames[n] verzweigt auf die nächstniedrigere Stufe + in den Frame mit dem Index n + window.status=("Hallo") Hallo in der Statusleiste ausgeben + myWindow=window.open("Dateiname","Fenstername","Eigenschaften") + Öffnet ein neues Fenster + Eigenschaften: width=(Pixel) gibt die Breite an + height=(Pixel) gibt die Höhe an + resizable=yes/no größe des Fensters veränderbar ? + menubar=yes/no Menüleiste vorhanden ? + toolbar=yes/no Buttonleiste vorhanden ? + location=yes/no Adresszeile vorhanden ? + status=yes/no Statuszeile vorhanden ? + scrollbars=yes/no Bildlaufleiste vorhanden ? + dependent=yes/no Vom aktuellen Fenster abhängig ? + myWindow.close() Schließt das neue Fenster + myWindow.closed Zugriff auf den Fensterzustand + 20.3.2. String-Objekt + String.length Anzahl der Zeichen des Strings + String.substring(Anfang,Ende) Gibt den Anfang bis Ende des Strings zurück + String.toLowerCase Wandelt alle Buchstaben in Kleinbuchstaben + String.toUpperCase Wandelt alle Buchstaben in Großbuchstaben + 153 + 20. JavaScript + 20.3.3. Eigene Objekte + function person(name, alter) { Funktion + this.name = name zum + this.alter = alter Objekt + } anlegen + var meier = new person("Geier Meier", 18) Objekt erzeugen + meier.name = "Mr. Geier Meier" Wert ändern + meier.alter = 20 Wert ändern + meier = new Object Objekt erzeugen + meier.vorname = "Geier" Wert zuweisen + meier.nachname = "Meier" Wert zuweisen + 20.3.4. Arrays + Variable = new Array Array erzeugen + Variable[0] = "hallo" Wert zuweisen + 20.4. Mathematische Operationen + c = a + b Addition + a++ ; a = a + 1 + c = a - b Subtraktion + a-- ; a = a - 1 + c = a * b Multiplikation + c = a / b Division + a = Math.round(b) Ganzzahlige Rundung + 20.5. Bedingte Ausführung + if(Ausdruck) wenn der Ausdruck stimmt, + { + Anweisung-en1 Anweisung-en1 + } + 20.6. Schleifen + for(Ausdruck1;Ausdruck2;Ausdruck3) Ausdruck1 einmal ausführen + { so lange der Ausdruck2 stimmt, + vorher noch Ausdruck3 + Anweisug-en Anweisung-en + 154 + 20.7. Event-Handler + } + while(Ausdruck) so lange der Ausdruck stimmt, + { + Anweisung-en Anweisung-en + } + 20.7. Event-Handler + onLoad="Aktion" Beim Laden Aktion ausführen + onUnload="Aktion" Beim Schließen Aktion ausführen + onMouseOver="Aktion" Beim Überfahren Aktion ausführen + onMouseOut="Aktion" Beim Verlassen Aktion ausführen + onFocus="Aktion" Beim Setzen des Cursors auf das Element + (Einsatz in Formularen) + onBlur="Aktion" Beim Verlassen des Elementes + onChange="Aktion" Beim Verlassen des Elementes wenn verändert + onClick="Aktion" Beim Anklicken eines Formularelements + Verweistext + onSubmit="Aktion" Beim Senden eines Formulares Aktion ausführen + 20.8. Funktionen + function Name(var1,var2) Definiert eine Funktion mit dem Name + { + alert(var2) Hier kommt der Funktionsinhalt rein + } + return("Hallo") Hallo zurück geben + alert("Text") Öffnet ein Fenster und gibt den Text aus + uhrzeit=new Date() Datum und Uhrzeit in das Objekt uhrzeit + schreiben + st=uhrzeit.getHours() Stunden aus dem Objekt uhrzeit der Variable + st zuweisen + min=uhrzeit.getMinutes() Minuten aus dem Objekt uhrzeit der Variable + min zuweisen + setTimeout("Funktion",Millisekunden) Funktion nach Millisekunden aufrufen + Math.random() + 155 + 20. JavaScript + 20.9. Reservierte Wörter + abstract + boolean + break + byte + case + catch + char + class + const + continue + debugger + default + delete + else + enum + export + extends + false + final + finally + float + for + function + goto + if + implements + import + in + instanceof + int + interface + long + native + new + null + package + private + protected + public + return + short + static + super + 156 + 20.9. Reservierte Wörter + switch + synchronized + this + throw + throws + transient + true + try + typeof + var + void + volatile + while + with + 157 + Teil V. + Anhang + 159 + 21. Glossar + Abhängigkeiten Ein von rpm verwendetes System, um die Verwaltung installierter + Software zu vereinfachen. Jedes Paket enthält ein Skript, das dem lokalen rpm + mitteilt, welche anderen Pakete es zur Ausführung benötigt. Sind die erforderli- + chen Pakete nicht installiert, wird die Installation abgebrochen. Gleiches gilt für + die Deinstallation. + Andere, others In UNIX die Gruppe der Benutzer, die weder Eigetümer einer Datei + sind, noch zur Besitzergruppe gehören. Es ist generell eine gute Idee, die Rechte + dieser Gruppe so restriktiv wie möglich zu handhaben. Siehe auch Besitzergrup- + pe. + alias Ein Shell-Mechanismus, um eine Zeichenkette durch einen anderen zu ersetzen, + bevor ein Kommando ausgeführt wird. Einen Überblick über alle definierten + Aliasse erhalten Sie mit dem Kommando alias. + Anzeigehilfe Programm zum Anzeigen einer (Text-) Datei. Es bietet die Möglichkeit + einfach vorwärts und rückwärts durch das Dokument zu navigieren sowie Zei- + chenketten zu suchen. Wir empfehlen Ihnen das Programm less zu verwenden + (u.a. da es die selben Tastaturkürzel wie vim verwendet). + APM Advanced Power Management (”Fortgeschrittenes Energiemanagement”). Wird + von einigen BIOSsen dazu benutzt, die Maschine nach einer Periode von Inakti- + vität in einen energiesparenden Ruhezustand zu bringen. Auf Laptops ist APM + auch dafür zuständig, Informationen über den Batteriestatus bzw. die verblei- + bende Arbeitszeit bereit zu stellen. + Arbeitsfläche Wenn Sie das X-Windows-System verwenden, ist die Arbeitsfläche der + teil des Bildschirmes, auf dem Sie arbeiten und auf dem Ihre Symbole und Fenster + dargestellt werden. Manschmal wird auch lachs vom ”Hitergrund” gesprochen. + Siehe auch: virtuelle Arbeitsfläche. + ARP AddressResolutionProtocol.(”Protokollzur Adress-Auflösungs”).Das Protokoll + umIP-Adressendynamischin physikalische (Hardware-)Adressenumzuwandeln. + Nur möglich auf direkt verbundenen Netzwerken im Hardware- Broadcasting. + ASCII Abkürzung für American Standart Code for Information Interchange. Es han- + delt sich um den meistvervwendeten 7-Bit-Kode zur Darstellung von Ziffern, + Buchstaben und Sonderzeichen. Der ASCII-Code ist mittlerweile per ”normati- + ver Kraft des Faktischen” durch den ISO Standart 8859-1 abgelöst (Siehe ISO + 8859). + 161 + 21. Glossar + Assembler Maschinensprache. Vorstufe des Objekt-Kodes. Programme werden meist + in sogenannten Hochsprachen (wie C) geschrieben, die dann per Kompilation in + Assembler umgewandelt werden. + ATAPI eine Familie von CD-ROM-Laufwerken,die an den IDE-Controller angeschlos- + sen werden. Es gibt auch SCSI-Laufwerke, die am SCSI-Controler betrieben wer- + den, sowie proprietäre Laufwerke, die ihren eigenen Controller benutzen oder an + die Soundkarte angeschlossen werden. + atomar Eine Gruppe von Operationen, die nicht weiter aufgeteilt werden kann. + ausführlicher Modus Befehle produzieren im ausführlichen Modus Zusatzinformatio- + nen, die auf die Standardausgabe oder Standart-Fehlerausgabe ausgegeben wer- + den. Einige Programme bieten die Möglichkeit einzustellen wie ”redselig” sie sein + sollen. + HTTP HyperText Transfer Protokoll(Hypertext-Übertragungsprotokoll). Ist ein Pro- + tokoll zur Übertragung von Daten über ein Netzwerk. Es wird hauptsächlich ein- + gesetzt, um Webseiten aus dem World Wide Web (WWW) in einen Webbrowser + zu laden. + URL Uniform Resource Locator (Einheitlicher Quellenanzeiger). Bezeichnet man ei- + ne Unterart von Uniform Resource Identifiern (URIs). URLs identifizieren und + lokalisieren eine Ressource über die zu verwendende Zugriffsmethode (z. B. das + verwendete Netzwerkprotokoll wie HTTP oder FTP) und den Ort (engl. locati- + on) der Ressource in Computernetzwerken. Im allgemeinen Sprachgebrauch wer- + den sie auch als Internetadresse bezeichnet, wobei damit (der umgangssprachlich + häufigen Gleichsetzung von Internet und WWW folgend) meist speziell URLs + von Webseiten gemeint sind. + USV Unterbrechungsfreie Stromversorgung. Sehr großer Akku (aufladbare Baterie) + der bei einem Stromausfall den Rechner mit Strom versorgt. + WWWWorldWideWeb(WeltweitesNetz).IsteinüberdasInternetabrufbaresHypertext- + System, bestehend aus elektronischen Dokumenten, die durch Hyperlinks mit- + einander verknüpft sind. + 162 + Stichwortverzeichnis + &, 30 Eigentümer, 28 htop, 30 + affs, 49 emerge, 33 ifconfig, 34 + alias, 22 env-update, 31 info, 20 + apt, 32 equery, 33 init, 19, 20 + apt-get, 32 etc-update, 33 initctl, 20 + euse, 33 insmod, 17 + bash, 55 expand, 25 ip, 34 + bg, 30 export, 31, 38, 55 iso9660, 49 + Bildschirmschoner, 19, ext2, 49 + 39 ext3, 49 jobs, 30 + blockorientiert, 28 fakeroot, 17 Kernel, 17 + bzip2, 17 fdformat, 27 kill, 30 + cat, 23 fdisk, 27 ksh, 55 + cd, 23 fg, 30 + cfdsik, 27 fgrep, 24 last, 20 + chgrp, 28 file, 22 ldd, 34 + chmod, 28 find, 24 less, 23 + chown, 28 finger, 20 ln, 23 + chroot, 31 free, 20 locate, 55 + clock, 21 fsck, 27 login, 19 + cmp, 25 fstab, 48 logout, 19 + comm, 25 ftp, 34 losetup, 28 + compress, 25 lpq, 25 + cp, 23 gpg, 17, 36 lpr, 25 + csh, 55 grep, 24 lprm, 25 + group, 49 ls, 22 + date, 20, 21 grub, 31 lsmod, 17 + Datum, 21 Gruppe, 28 + dd, 27 gzip, 17 mail, 37 + df, 20 make, 17, 34 + diff, 25 halt, 19 make-kpkg, 17 + dmesg, 17 Hardlink, 23 man, 20 + dpkg, 17, 32 head, 23 mfomat, 27 + host, 34 minix, 49 + echo, 20 hosts, 50 mkdir, 23 + egrep, 24 hpfs, 49 mkdosfs, 27 + 163 + STICHWORTVERZEICHNIS + mke2fs, 27 rpm, 32 umount, 27 + mkfs, 27 umsdos, 49 + modprobe, 28 sax, 38 uname, 17 + more, 23 scp, 34, 35 uncompress, 25 + mount, 27 setenv, 55 uniq, 25 + msdos, 49 settherm, 19 unpack, 25 + mv, 23 sh, 55 unset, 55 + shutdown, 19 unsetenv, 55 + ncpfs, 49 smbfs, 49 Upstart, 20 + netcat, 34 Softlink, 23 useradd, 28 + netdate, 21 source, 31 userdel, 28 + nfs, 49 ssh, 34, 35 usermod, 28 + nl, 23 ssh-keygen, 35 UTC, 21 + nmap, 34 startx, 38 + nslookup, 34 stderr, 19 vfat, 49 + ntfs, 49 stdin, 19, 56 vi, 24, 61 + od, 23 stdout, 19 vipw, 28 + strace, 34 w, 20 + passwd, 28, 53 strings, 23 wc, 22 + ping, 34 su, 28 wget, 17 + pr, 25 sux, 28 whatis, 20 + proc, 49 systemctl, 19 which, 20 + ps, 30 sysv, 49 who, 20 + pstree, 30 tail, 23 whoami, 20 + pwd, 20 tar, 27 + rcsshd, 36 tcsh, 55 xf86config, 38 + reboot, 19 telnet, 34 XF86Setup, 38 + recode, 23 timedatectl, 21 xset, 39 + reiserfs, 49 top, 30 xsetroot, 39 + revdep-rebuild, 33 tr, 25 yast, 20 + rlogin, 34 tune2fs, 27 + rm, 23 zcat, 17 + rmdir, 23 ufs, 49 zeichenorientiert, 28 + rmmod, 17 Uhrzeit, 21 Zeit, 21 + 164 diff --git a/linux/befehle/anhalten_des_systems_und_booten.tex b/linux/befehle/anhalten_des_systems_und_booten.tex new file mode 100644 index 0000000..2d7796a --- /dev/null +++ b/linux/befehle/anhalten_des_systems_und_booten.tex @@ -0,0 +1,24 @@ +% master: anhalten_des_systems_und_booten.tex +% Befehle v0.4 +% 2022-05-09 (Rx) + +\section{Anhalten des Systems und Booten} +%---------------------------------------- +Unter keinen Umständen darf während des Betriebs einfach der Strom abgeschaltet +oder der Resetknopf betätigt werden. Da es sonst zu einer Beschädigung des +Dateisystems mit Datenverlust kommen kann. + +\index{shutdown}\index{halt}\index{init}\index{systemctl}\index{reboot} +\begin{verbatim} +root: shutdown -h now hält das System an +root: halt hält das System an +root: init 0 hält das System an +root: systemctl poweroff hält das System an +root: shutdown -r now startet den Computer nach dem Herunterfahren neu +root: reboot startet den Computer nach dem Herunterfahren neu +root: init 6 startet den Computer nach dem Herunterfahren neu +root: systemctl reboot startet den Computer nach dem Herunterfahren neu +root: systemctl suspend Bereitschaft +root: systemctl hibernate Ruhezustand +\end{verbatim} + diff --git a/linux/befehle/anmelden_und_abmelden.tex b/linux/befehle/anmelden_und_abmelden.tex new file mode 100644 index 0000000..552977c --- /dev/null +++ b/linux/befehle/anmelden_und_abmelden.tex @@ -0,0 +1,16 @@ +% master: anmelden_und_abmelden.tex +% Befehle v0.2 +% 2022-05-09 (Rx) + +\section{Anmelden und Abmelden} +%------------------------------ +\index{login}\index{logout} +\begin{verbatim} +login: Benutzername 1. zum Anmelden den Benutzernamen eingeben +Passwort: Benutzerpasswort 2. zum Anmelden das Benutzerpasswort eingeben + +logout zum Abmelden eingeben +exit zum Abmelden eingeben +[Strg]+[d] beendet die Shell (alle Shells) +\end{verbatim} + diff --git a/linux/befehle/arbeiten_im_und_am_Filesystem.tex b/linux/befehle/arbeiten_im_und_am_Filesystem.tex new file mode 100644 index 0000000..3db2970 --- /dev/null +++ b/linux/befehle/arbeiten_im_und_am_Filesystem.tex @@ -0,0 +1,13 @@ +% master: arbeiten_im_und_am_Filesystem.tex +% Arbeiten(Verwüstungen) im und am Filesystem v0.3 +% 2022-05-09 (Rx) + +\section{Arbeiten(Verwüstungen) im und am Filesystem} +%----------------------------------------------------- +\index{cd}\index{mkdir} +\begin{verbatim} +cd Pfad Verzeichnis wechseln +mkdir Name Verzeichnis erzeugen +mkdir -p Name Verzeichnis erzeugen, fehlende Verzeichnisse mit anlegen +\end{verbatim} + diff --git a/linux/befehle/auflisten.tex b/linux/befehle/auflisten.tex new file mode 100644 index 0000000..d1893fc --- /dev/null +++ b/linux/befehle/auflisten.tex @@ -0,0 +1,20 @@ +% master: auflisten.tex +% Auflisten v0.3 +% 2022-05-09 (Rx) + +\section{Auflisten} +%-------------------------- +\index{ls} +\begin{verbatim} +ls Auflisten der Dateien im aktuellen Verzeichnis +ls Verzeichnis Inhalt des Verzeichnisses ausgeben +ls -la alles Auflisten im aktuellen Verzeichnis +ls -laFi alles ausführlicher Auflisten +ls | paste - - - - Dateien vierspaltig ausgeben +ls -1 untereinander ausgeben +ls -F Verzeichnisse mit angehängtem / markieren +ls -i inode-Nummer mit ausgeben +ls -R alle Unterverzeichnisse mit ausgeben +ls -r Auflisten der Dateien umkehren +\end{verbatim} + diff --git a/linux/befehle/ausgeben.tex b/linux/befehle/ausgeben.tex new file mode 100644 index 0000000..baa9d49 --- /dev/null +++ b/linux/befehle/ausgeben.tex @@ -0,0 +1,33 @@ +% master: ausgeben.tex +% Ausgeben v0.3 +% 2022-05-09 (Rx) + +\section{Ausgeben} +%----------------- +\index{cat}\index{strings}\index{more}\index{less}\index{nl}\index{tail}\index{head}\index{od}\index{recode} +\begin{verbatim} +cat Datei Inhalt der Datei auf dem Bildschirm ausgeben +cat Datei1 Datei2 > Datei3 Dateien1+2 zusammenfügen in die Datei3 schreiben +strings Datei Druckbare Zeichen der Datei ausgeben +more Datei Datei seitenweise ausgeben +less Datei Datei ausgeben und mit den Curser scrollen + j eine Zeile weiter + k eine Zeile zurück + u halbe Seite zurück + /Text sucht den Text + q less verlassen +nl Datei Datei mit Zeilennummern ausgeben +tail Datei zeigt die letzten 10 Zeilen einer Datei an +tail -n Datei zeigt die letzten n Zeilen einer Datei an +tail -f Datei zeigt ständig die letzten 10 Zeilen der Datei an +tail -f /var/log/messages Systemmeldungen mitverfolgen +head Datei zeigt die ersten 10 Zeilen einer Datei an +head -n Datei zeigt die ersten n Zeilen einer Datei an +od -b Datei Datei oktal ausgeben +od -c Datei Datei als ASCII ausgeben +od -x Datei Datei hexadezimal ausgeben +ls | paste - - - - Dateien vierspaltig ausgeben +recode ibmpc:lat1 Datei Konvertierung der Datei + 7 Bit DOS in das UNICODE/8 Bit Format +\end{verbatim} + diff --git a/linux/befehle/befehle.tex b/linux/befehle/befehle.tex new file mode 100644 index 0000000..f536ec9 --- /dev/null +++ b/linux/befehle/befehle.tex @@ -0,0 +1,42 @@ +% master: befehle.tex +% Befehle v0.14 +% 2025-01-29 (rX) + +\chapter{Befehle} + +% Seiten +%------- +%\clearpage +\input{linux/befehle/standartein_aus_gabe} +\input{linux/befehle/anmelden_und_abmelden} +\input{linux/befehle/anhalten_des_systems_und_booten} +\input{linux/befehle/die_runlevel} +\input{linux/befehle/upstart} +\input{linux/befehle/suse_linux} +\input{linux/befehle/zur_orientierung_auf_einem_unix-rechner} +\input{linux/befehle/datum_und_uhrzeit} +\input{linux/befehle/auflisten} +\input{linux/befehle/dateinamen} +\input{linux/befehle/dateiendungen} +\input{linux/befehle/infos_ueber_files} +\input{linux/befehle/arbeiten_im_und_am_Filesystem} +\input{linux/befehle/kopieren_und_verschieben} +\input{linux/befehle/loeschen} +\input{linux/befehle/ausgeben} +\input{linux/befehle/der_texteditor_vi_vim} +\input{linux/befehle/suchen_nach_dateien} +\input{linux/befehle/suchen_in_dateien} +\input{linux/befehle/vergleichen_von_dateien} +\input{linux/befehle/drucken} +\input{linux/befehle/file_inhalt_bearbeiten} +\input{linux/befehle/tar_verwaltet_dateiarchive} +\input{linux/befehle/disketten_festplatten} +\input{linux/befehle/zugriffsrechte_eigentuemer_gruppe} +\input{linux/befehle/prozessbefehle} +\input{linux/befehle/re_install_grub_with_live_cd} +\input{linux/befehle/software_installieren} +\input{linux/befehle/im_netz} +\input{linux/befehle/ssh} +\input{linux/befehle/gnupg} +\input{linux/befehle/x11_grafik} + diff --git a/linux/befehle/dateiendungen.tex b/linux/befehle/dateiendungen.tex new file mode 100644 index 0000000..f1e315a --- /dev/null +++ b/linux/befehle/dateiendungen.tex @@ -0,0 +1,15 @@ +% master: dateiendungen.tex +% Dateiendungen v0.1 +% 2010-07-25 (Rx) + +\section{Dateiendungen} +%---------------------- +\begin{verbatim} +.a Objektbibliotheken +.c C-Quelltextdatei +.cpp C++-Quellen +.o Objektdatei +.p Pascal-Quellen +.s Assembler +\end{verbatim} + diff --git a/linux/befehle/dateinamen.tex b/linux/befehle/dateinamen.tex new file mode 100644 index 0000000..9a244f6 --- /dev/null +++ b/linux/befehle/dateinamen.tex @@ -0,0 +1,17 @@ +% master: dateinamen.tex +% Dateinamen v0.3 +% 2022-05-09 (Rx) + +\section{Dateinamen} +%-------------------------- +UNIX unterscheidet Groß- und Kleinschreibung! liesmich, Liesmich, LIESMICH sind +verschiedene Dateinamen! +max. 256 Zeichen, alle Zeichen sind erlaubt +. am Namensanfang versteckt Datei vor ls, cp, rm, mv +\index{alias} +\begin{verbatim} +alias gibt alle definierten Kurznamen aus +alias la='ls -la' definiert Kurznamen für ein Kommando + aus ls -la wird ein la +\end{verbatim} + diff --git a/linux/befehle/datum_und_uhrzeit.tex b/linux/befehle/datum_und_uhrzeit.tex new file mode 100644 index 0000000..03db7f4 --- /dev/null +++ b/linux/befehle/datum_und_uhrzeit.tex @@ -0,0 +1,17 @@ +% master: datum_und_uhrzeit.tex +% Datum und Uhrzeit v0.3 +% 2022-05-09 (Rx) + +\section{Datum und Uhrzeit} +%-------------------------- +\index{date}\index{netdate}\index{clock}\index{timedatectl}\index{Datum}\index{Uhrzeit}\index{Zeit}\index{UTC} +\begin{verbatim} +date Datum und Uhrzeit abfragen +date -s '2000-01-29 20:00:00' +'%Y-%m-%d %T' Datum und Uhrzeit einstellen +netdate Rechnername Datum und Uhrzeit vom Rechner- + name holen +clock -u -w Datum und Uhrzeit in + das BIOS schreiben +timedatectl set-local-rtc 1 locale Zeit einstellen +timedatectl set-local-rtc 0 UTC Zeit einstellen +\end{verbatim} diff --git a/linux/befehle/der_texteditor_vi_vim.tex b/linux/befehle/der_texteditor_vi_vim.tex new file mode 100644 index 0000000..97ed171 --- /dev/null +++ b/linux/befehle/der_texteditor_vi_vim.tex @@ -0,0 +1,15 @@ +% master: der_texteditor_vi_vim.tex +% Der Texteditor vi/vim v0.3 +% 2022-05-09 (Rx) + +\section{Der Texteditor vi/vim} +%------------------------------ +\index{vi} +\begin{verbatim} +vi Editor vi aufrufen +vi Datei Editor vi aufrufen und Datei öffnen +vi -r swap-Dateien anzeigen +vi -r Datei Datei nach einem Stromausfall (oder Absturz) wieder herstellen +vi -R Datei Datei schreibgeschützt öffnen +\end{verbatim} + diff --git a/linux/befehle/die_runlevel.tex b/linux/befehle/die_runlevel.tex new file mode 100644 index 0000000..4772727 --- /dev/null +++ b/linux/befehle/die_runlevel.tex @@ -0,0 +1,22 @@ +% master: die_runlevel.tex +% Die Runlevel v0.2 +% 2022-05-09 (Rx) + +\section{Die Runlevel} +%---------------------------------------- +\index{init} +\begin{verbatim} +root: init 0 Systemhalt +root: init S Einzelbenutzerbetrieb (Single User Mode) +root: init 1 Einzelbenutzerbetrieb (Single User Mode) +root: init 2 Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk + (Local multiuser without remote network) +root: init 3 Voller Mehrbenutzerbetrieb mit Netzwerk + (Full multiuser with network) +root: init 4 Frei (Not used) +root: init 5 Voller Mehrbenutzerbetrieb mit Netzwerk und KDM, GDM oder XDM + (Full multiuser with network and xdm) +root: init 6 Systemneustart (System reboot) +root: init q Quit zum Neueinlesen der inittab +\end{verbatim} + diff --git a/linux/befehle/disketten_festplatten.tex b/linux/befehle/disketten_festplatten.tex new file mode 100644 index 0000000..9fa2af5 --- /dev/null +++ b/linux/befehle/disketten_festplatten.tex @@ -0,0 +1,58 @@ +% master: disketten_festplatten.tex +% Disketten/Festplatten v0.3 +% 2022-05-09 (Rx) + +\section{Disketten/Festplatten} +%------------------------------ +\index{dd}\index{fdisk}\index{cfdsik}\index{fdformat}\index{mfomat}\index{mkdosfs}\index{mkfs}\index{mke2fs}\index{fsck}\index{tune2fs}\index{mount}\index{umount} +\begin{verbatim} +dd if=/dev/zero of=/dev/sda bs=512 count=1 überschreibt den MBR der ersten + SCSI-Platte mit Nullen + +fdisk Gerätedatei Partitionstabelleneditor +fdisk -l /dev/hda zeigt die Partitionstabelle der ersten + Festplatte an +fdisk -C 12416 -H 15 -S 63 /dev/hdb Partitionstabelle mit vorgegebenen + C-Zylinder H-Köpfe S-Sektoren pro Spur + bearbeiten +cfdisk Gerätedatei Curses-Partitionstabelleneditor + +fdformat /dev/fd0u1440 Diskette Low-Level-Formatieren +mformat a: Dateisystem DOS-FAT anlegen +mkdosfs -I /dev/sda Superfloppy-Format mit FAT16-Dateisystem + für z.B. USB-Sticks anlegen +mkdosfs -n Name /dev/sda1 FAT16-Dateisystem mit Name anlegen + +mkfs -t minix /dev/fd0u1440 1440 Dateisystem minix anlegen +mke2fs /dev/fd0u1440 Dateisystem ext2 anlegen +mkfs -V -t ext2 /dev/sda7 Dateisystem ext2 anlegen + +fsck -V -t ext2 /dev/sda7 Dateisystem Prüfung und Reparatur + +tune2fs Optionen Gerät Einstellungen zum ext2 Dateisystem + +mount Gerät Verzeichnis Gerät im Verzeichnis anmelden +mount -t minix /dev/fd0 /mnt Diskette im minix-Format anmelden +mount -t ext2 /dev/fd0 /mnt Diskette im ext2-Format anmelden +mount -t msdos /dev/fd0 /mnt Diskette im msdos-Format anmelden +mount -o loop disk.img /mnt Datei als Diskette anmelden + +umount Verzeichnis Verzeichnis abmelden +umount /mnt Diskette abmelden +\end{verbatim} + +\subsection{Dateisystem verschlüsseln} +%-------------------------------------- +\index{modprobe}\index{losetup} +\begin{verbatim} +modprobe loop_fish2 Modul für die Verschlüssellung laden +dd if=/dev/urandom of=datei bs=1024 count=10000 10MB Datei anlegen +losetup -e twofish /dev/loop0 datei Datei anmelden (Passwort anlegen) +mkfs -t ext2 /dev/loop0 Dateisystem anlegen +mount -t ext2 /dev/loop0 /mnt Dateisystem anmelden +umount /mnt/ Dateisystem abmelden +losetup -d /dev/loop0 Datei abmelden +/dev/loop0 /datei /mnt ext2 twofish defaults /etc/cryptotab +/datei /mnt ext2 loop,encryption=twofish,noauto,user /etc/fstab +\end{verbatim} + diff --git a/linux/befehle/drucken.tex b/linux/befehle/drucken.tex new file mode 100644 index 0000000..151672b --- /dev/null +++ b/linux/befehle/drucken.tex @@ -0,0 +1,17 @@ +% master: drucken.tex +% Drucken v0.3 +% 2022-05-09 (Rx) + +\section{Drucken} +%---------------- +\index{lpr}\index{lpq}\index{lprm}\index{pr} +\begin{verbatim} +lpr Datei Datei auf dem Drucker ausgeben +lpr -#n Datei Datei n mal auf dem Drucker ausgeben +lpr -m Datei Datei auf dem Drucker ausgeben, nach dem Drucken + bekommt man eine mail +lpq Warteschlange anschauen +lprm Jobnummer Druckauftrag/Job aus der Warteschlange löschen +pr Dateien für das Drucken aufbereiten +\end{verbatim} + diff --git a/linux/befehle/file_inhalt_bearbeiten.tex b/linux/befehle/file_inhalt_bearbeiten.tex new file mode 100644 index 0000000..899a8c8 --- /dev/null +++ b/linux/befehle/file_inhalt_bearbeiten.tex @@ -0,0 +1,19 @@ +% master: file_inhalt_bearbeiten.tex +% File-Inhalt bearbeiten v0.3 +% 2022-05-09 (Rx) + +\section{File-Inhalt bearbeiten} +%------------------------------- +\index{compress}\index{uncompress}\index{expand}\index{unpack}\index{tr}\index{uniq} +\begin{verbatim} +compress Datei Datei komprimieren nach Datei.Z +uncompress Datei.Z Datei.Z dekomprimieren +expand Datei1 > Datei2 Tabs aus der Datei1 entfernen und + zur Datei2 schreiben +unpack Datei.z Datei.z dekomprimieren +sort Datei1 > Datei2 die Zeilen der Datei1 in + die Datei2 sortieren +tr [A-Z] [a-z] < Datei1 > Datei2 Klein durch Großbuchstaben ersetzen +uniq Datei Datei ausgeben bis auf doppelte Zeilen +\end{verbatim} + diff --git a/linux/befehle/gnupg.tex b/linux/befehle/gnupg.tex new file mode 100644 index 0000000..24e60ff --- /dev/null +++ b/linux/befehle/gnupg.tex @@ -0,0 +1,117 @@ +% master: gnupg.tex +% GnuPG v0.3 +% 2022-05-10 (Rx) + +\section{GnuPG} +%-------------- +Mit GnuPG kann man Daten signieren und verschlüsseln. GnuPG unterstüzt +symmetrische und asymmetrische Verschlüsselung. + +\begin{verbatim} +http://www.gnupg.org/ http-Adresse für GnuPG +http://www.gnupg.org/related_software/gpa/ Grafische Benutzereingabe + +http://www.heise.de/security/dienste/pgp/ Krypto-Kampagne, bei der + ein Abgleich zwischen + Person, Personalausweis + und Schlüssel erfolgt + +http://kmail.kde.org/ Mailprogramme mit GnuPG +http://www.mutt.org/ Unterstützung +http://www.ximian.com/products/evolution/ +\end{verbatim} + +\subsection{Erzeugen} +\index{gpg} +\begin{verbatim} +gpg --gen-key Schlüssel-Paar erzeugen +gpg --gen-revoke 0xKeyID Widerruf Zertifikat erzeugen + > gpg-rev-Will_no_longer_use_it + > gpg-rev-Lost_private_key + > gpg-rev-Forgot_password + > gpg-rev-Key_compromised +\end{verbatim} + +\subsection{Hochladen} +\begin{verbatim} +gpg --keyserver wwwkeys.de.pgp.net --send-keys 0xKeyID + Public Key auf den Keyserver hochladen +gpg -a --export 0xKeyID | mail -s "add" pgp-public-keys@keys.de.pgp.net + Public Key an den Keyserver verschicken +Keyserver: +Land eMail-Adresse HTTP-Adresse +---- ------------- ------------ +Deutschland pgp-public-keys@keys.de.pgp.net http://wwwkeys.de.pgp.net/ +Östereich pgp-public-keys@keys.at.pgp.net http://wwwkeys.at.pgp.net/ +Schweiz gp-public-keys@keys.ch.pgp.net http://wwwkeys.ch.pgp.net/ +\end{verbatim} + +\subsection{Löschen} +\begin{verbatim} +gpg --recv-keys 0xKeyID Key vernichten +gpg --import WiderrufZertifikat +gpg --send-keys 0xKeyID + +gpg --delete-key 0xKeyID löscht einen öffentlichen Schlüssel + +cat gpg-rev-xxx | mail -s "add" pgp-public-keys@keys.de.pgp.net + Widerruf Zertifikat an den Keyserver + verschicken +\end{verbatim} + +\subsection{Holen} +\index{mail} +\begin{verbatim} +gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0xKeyID + Public-Key vom Keyserver holen +mail -s "get thomasb@trash.net" pgp-public-keys@keys.de.pgp.net + Public-Key per E-Mail + vom Keyserver holen +gpg --import Key.txt Public-Key inportieren +\end{verbatim} + +\subsection{Signatur erzeugen und prüfen} +\begin{verbatim} +gpg -a --sign Datei einen Text signieren, erzeugt Datei.asc +gpg --verify Datei.asc Datei eine Signatur prüfen + +gpg --clearsign Datei einen Text signieren, + erzeugt neue Datei.asc +gpg --verify Datei.asc eine Signatur prüfen +\end{verbatim} + +\subsection{Verschlüsseln} +\begin{verbatim} +gpg -a -r Empfänger0xKeyID -e Datei + einen Text verschlüsseln, + erzeugt Datei.asc +\end{verbatim} + +\subsection{Entschlüsseln} +\begin{verbatim} +gpg Datei.asc einen verschüsselten und signierten Text + entschlüsseln und die Signatur prüfen, + erzeugt Datei +\end{verbatim} + +\subsection{Schlüsselverwaltung} +\begin{verbatim} +gpg --edit 0xKeyID Schlüsselverwaltung + help - Anzeige aller Befehle + quit - Das Menu beenden +\end{verbatim} + +\subsection{Anzeigen} +\begin{verbatim} +gpg --list-keys zeigt alle öffentlichen Schlüssel +gpg --list-sigs zeigt alle Unterschriften +gpg --fingerprint zeigt alle Fingerabdrücke +\end{verbatim} + +\subsection{Exportieren} +\begin{verbatim} +gpg -a --export 0xKeyID > Datei exportiert den Schlüssel 0xKeyID + in Datei +gpg -a --export > Datei exportiert alle Schlüssel in Datei +\end{verbatim} + diff --git a/linux/befehle/im_netz.tex b/linux/befehle/im_netz.tex new file mode 100644 index 0000000..2215cb2 --- /dev/null +++ b/linux/befehle/im_netz.tex @@ -0,0 +1,38 @@ +% master: im_netz.tex +% Im Netz v0.4 +% 2022-05-10 (Rx) + +\section{Im Netz} +%---------------- +\index{ifconfig}\index{ip}\index{ftp}\index{host}\index{nslookup}\index{ping}\index{rlogin}\index{scp}\index{ssh}\index{telnet}\index{nmap}\index{netcat} +\begin{verbatim} +#ifconfig -a -> ip link +ip link alle aktiven Netzwerkschnittstellen ausgeben +ifconfig | grep eth0 | cut -c 39-55 Ethernet-Adresse von eth0 ausgeben + +ftp Rechner Programm zur Übertragung von Files + via Internet starten + +host www.suse.de befragt den DNS-Server nach + der IP-Nummer des Rechners +host 192.168.9.10 fragt nach dem Namen des Rechners +nslookup www.debian.de befragt den DNS-Server nach + der IP-Nummer des Rechners +nslookup 192.168.11.12 fragt nach dem Namen des Rechners + +ping Rechner sendet Pakete an Rechner mit Echo + +rlogin Rechner auf anderen Rechner anmelden + +scp Rechner:Pfad Rechner:Pfad Programm zur Übertragung von Files +ssh Rechner auf anderen Rechner anmelden +ssh Rechner -l root oder auf anderen Rechner als root anmelden +ssh root@Rechner + +telnet Rechner Kommunikation ueber das TELNET-Protokoll + +nmap -sT -PT Rechner Scannt die Ports von Rechner +nmap -sT -p 1-65535 -PT Rechner Scannt alle Ports von Rechner +netcat ip port zeigt den angegebenen Port an +\end{verbatim} + diff --git a/linux/befehle/infos_ueber_files.tex b/linux/befehle/infos_ueber_files.tex new file mode 100644 index 0000000..ef82fa2 --- /dev/null +++ b/linux/befehle/infos_ueber_files.tex @@ -0,0 +1,13 @@ +% master: infos_ueber_files.tex +% Infos über Files v0.3 +% 2022-05-09 (Rx) + +\section{Infos über Files} +%------------------------- +\index{file}\index{wc} +\begin{verbatim} +file Datei Anzeige des Dateitypes +wc -lwc Datei Ausgabe der Zeilen, Worte und Buchstaben der Datei +ls -a | wc -l alle Dateien im aktuellen Verzeichnis zählen +\end{verbatim} + diff --git a/linux/befehle/kopieren_und_verschieben.tex b/linux/befehle/kopieren_und_verschieben.tex new file mode 100644 index 0000000..392b892 --- /dev/null +++ b/linux/befehle/kopieren_und_verschieben.tex @@ -0,0 +1,23 @@ +% master: kopieren_und_verschieben.tex +% Kopieren und Verschieben v0.3 +% 2022-05-09 (Rx) + +\section{Kopieren und Verschieben} +%---------------------------------------------------- +\index{cp}\index{mv}\index{ln}\index{Hardlink}\index{Softlink} +\begin{verbatim} +cp Dateien Ziel Dateien kopieren +cp -i Dateien Ziel Dateien kopieren, vor dem Überschreiben + einer Datei nachfragen +cp -R Quelle* Ziel gesamten Inhalt eines Verzeichnises kopieren +mv Quelle Ziel Datei verschieben oder umbenennen +mv -f Quelle Ziel Schreibgeschützte Datei verschieben oder umbenennen +mv -i Quelle Ziel Datei verschieben oder umbenennen, + vor dem Überschreiben nachfragen +ln Quelle Ziel Verknüpfung erzeugen (Hardlink), + beide Dateien haben die gleiche inode +ln -s Quelle Ziel Verknüpfung erzeugen (Softlink) +ln -sf Quelle Ziel Verknüpfung erzeugen (Softlink) + ohne Rückfrage überschreiben +\end{verbatim} + diff --git a/linux/befehle/loeschen.tex b/linux/befehle/loeschen.tex new file mode 100644 index 0000000..d0fdc60 --- /dev/null +++ b/linux/befehle/loeschen.tex @@ -0,0 +1,14 @@ +% master: loeschen.tex +% Löschen v0.3 +% 2022-05-09 (Rx) + +\section{Löschen} +%---------------- +\index{rm}\index{rmdir} +\begin{verbatim} +rm Datei löschen von Daten +rm -r Dateien löschen von Dateien mit Verzeichnissen +rmdir Verzeichnis löscht Verzeichnis wenn es leer ist, + überflüssig rm -r geht auch +\end{verbatim} + diff --git a/linux/befehle/prozessbefehle.tex b/linux/befehle/prozessbefehle.tex new file mode 100644 index 0000000..1eed246 --- /dev/null +++ b/linux/befehle/prozessbefehle.tex @@ -0,0 +1,37 @@ +% master: prozessbefehle.tex +% Prozessbefehle v0.3 +% 2022-05-09 (Rx) + +\section{Prozessbefehle} +%----------------------- +S=schlafend R=running(laufend) T=terminiert Z=Zombie +\index{bg}\index{fg}\index{\&}\index{ps}\index{pstree}\index{jobs}\index{top}\index{htop}\index{kill} +\begin{verbatim} +[Strg]+[z] im Vordergrund laufendes Programm anhalten +[1]+ Stopped + | +----- schlafend + +------------- Jobnummer +bg %JOB Job im Hintergrund fortsetzen +fg %JOB Job im Vordergrund fortsetzen +Programm & Programm im eigenem Prozess starten +[1] 819 + | +--------- Prozessnummer + +------------- Jobnummer +ps Überblick über die aktuell laufenden Prozesse +ps aux gibt in den meisten Fällen eine ausreichende Auskunft +pstree zeigt den kompletten Prozessbaum an +jobs das Schellkommando gibt eine Liste der aktuellen Jobs aus +top Programm, das die aktuellen Prozesse anzeigt +htop Programm, das die aktuellen Prozesse anzeigt +kill PID Prozess killen +kill %JOB Job killen +kill -1 PID Prozess initialisieren +kill -1 %JOB Job initialisieren +kill -9 PID Prozess killen +kill -9 %JOB Job killen +kill -15 PID Prozess beenden +kill -15 %JOB Job beenden +kill -HUP PID veranlasst die meisten Dämonen ihre Konfigurationsdateien + erneut zu lesen +\end{verbatim} + diff --git a/linux/befehle/re_install_grub_with_live_cd.tex b/linux/befehle/re_install_grub_with_live_cd.tex new file mode 100644 index 0000000..ce93b5d --- /dev/null +++ b/linux/befehle/re_install_grub_with_live_cd.tex @@ -0,0 +1,33 @@ +% master: re_install_grub_with_live_cd.tex +% Re-install Grub with Live CD v0.4 +% 2022-05-09 (Rx) + +\section{Re-install Grub with Live CD} +%------------------------------------- + +\subsection{Chroot} +%------------------ +\index{chroot}\index{env-update}\index{source}\index{export} +\begin{verbatim} +sudo fdisk -l Patition für das chroot festellen +sudo mount /dev/sdb3 /mnt/gentoo chroot z.B. /dev/sdb3 auf z.B. /mnt/gentoo mounten +sudo mount -t proc none /mnt/gentoo/proc Mounten der /proc und /dev Dateisysteme +sudo mount --rbind /dev /mnt/gentoo/dev +sudo chroot /mnt/gentoo /bin/bash Betreten der neuen Umgebung +env-update Umgebungsvariablen aktualisieren +source /etc/profile Profil laden +export PS1="(chroot) $PS1" Promt anpassen +\end{verbatim} + +\subsection{Grub} +%---------------- +\index{grub} +\begin{verbatim} +sudo grub +grub> find /boot/grub/stage1 +grub> root (hd0,1) +grub> setup (hd0) +grub> quit +reboot +\end{verbatim} + diff --git a/linux/befehle/software_installieren.tex b/linux/befehle/software_installieren.tex new file mode 100644 index 0000000..d22e0bc --- /dev/null +++ b/linux/befehle/software_installieren.tex @@ -0,0 +1,138 @@ +% master: software_installieren.tex +% Software installieren v0.5 +% 2022-05-09 (Rx) + +\section{Software installieren} +%------------------------------ +\subsection{rpm-Format} +\begin{verbatim} +http://www.rpm.org/ weiterführende Informationen +http://www.rpmfind.net/ Hilfe zu fehlenden rpms oder Merkmalen + +/var/lib/rpm/Packages rpm-Datenbank +/var/lib/rpm/packages.rpm -> /var/lib/rpm/Packages +\end{verbatim} + +Geänderte Konfigurationsdateien überschreibt rpm beim Update nicht, sondern +hebt sie als Datei.rpmsave auf. diff hilft die Unterschiede anzuzeigen. + +\index{rpm} +\begin{verbatim} +rpm -i Paketname.rpm Installiert mit Prüfung auf Abhängigkeiten +rpm -i --nodeps Paketname.rpm Installiert ohne Prüfung auf Abhängigkeiten +rpm -i --test Paketname.rpm Testet die Installation ohne Daten zu verändern +rpm -iv Paketname.rpm Installiert mit Prüfung auf Abhängigkeiten + und Rückmeldung +rpm -ivh Paketname.rpm Installiert, prüft, meldet und + zeigt den Vorgang an + +rpm -Uvh Paketname.rpm Update eines rpm-Binärpaketes + +rpm -Fvh Paketname.rpm Aktualisiert rpm-Binärpaket +rpm -Fvh *.rpm Aktualisiert alle rpm-Binärpakete im . +rpm -e Paket Deinstalliert mit Prüfung auf Abhängigkeiten + +rpm -qa zeigt die installierten rpm-Pakete an +rpm -qa | grep -i Paket zeigt ob das Paket installiert ist +rpm -qi Paket zeigt Informationen über das installierte Paket +rpm -qip Paketname.rpm zeigt Informationen über das rpm-Binärpaket +rpm -ql Paket zeigt die enthaltenen Dateien des installierten + Paketes an +rpm -qlp Paketname.rpm zeigt die enthaltenen Dateien des + rpm-Binärpaketes +rpm -qf /Pfad/Datei zeigt das Paket aus dem die Datei stammt +rpm -q --requires Paket zeigt die geforderten Merkmale des installierten + Paketes an +rpm -qp --requires Paketname.rpm zeigt die geforderten Merkmale des + rpm-Binärpaketes +\end{verbatim} + +\subsection{deb-Format} +\index{dpkg}\index{apt-get}\index{apt} +\begin{verbatim} +dpkg -i Paketname.deb Installation eines deb-Binärpaketes +dpkg -P Paket Deinstalliert mit Prüfung auf Abhängigkeiten + +dpkg -l zeigt die installierten deb-Pakete an +dpkg -l "*Paket*" zeigt ob das Paket installiert ist +dpkg -p Paket zeigt Informationen über das installierte Paket +dpkg -I Paketname.deb zeigt Informationen über das deb-Binärpaket +dpkg -L Paket zeigt die enthaltenen Dateien des installierten + Paketes an +dpkg -c Paketname.deb zeigt die enthaltenen Dateien des + deb-Binärpaketes +dpkg -S /Pfad/Datei zeigt das Paket aus dem die Datei stammt + +apt neue Alternative für apt-get +apt-get autoclean Veraltete Pakete aus dem Cache löschen +apt-get clean alle Pakete aus dem Cache löschen +apt-get install Paket Installiert mit Prüfung auf Abhängigkeiten +apt-get remove Paket Deinstalliert mit Prüfung auf Abhängigkeiten +apt-get --purge remove Paket Deinstalliert vollständig +apt-get autoremove Deinstalliert nicht benötigte Pakete +apt-get dist-upgrade aktualisiert die gesamte Distribution +apt-cache search Name durchsucht die gesamte Distribution +apt-get update APT-Datenbank auf den aktuellen Stand bringen + +dpkg --get-selections > Paketliste Paketliste exportieren +###sudo dpkg --set-selections < Paketliste Paketliste importieren geht nicht +\end{verbatim} + +\subsection{Portage Gentoo} +\index{emerge}\index{revdep-rebuild}\index{etc-update}\index{equery}\index{euse} +\begin{verbatim} +emerge --sync Aktualisieren des Portage-Tree mit rsync +emerge --webrsync Aktualisieren mit dem Portage-Snapshots + +emerge --search Pragrammname Nach Software suchen +emerge --searchdesc Name Suche nach Paketen im Zusammenhang mit dem Namen + +emerge Programmname Software installieren +emerge -pv Programmname Installation von Programmen simulieren, USE-Flags anzeigen +emerge --fetchonly Programmname Quellen herunterzuladen, noch nicht kompilieren + +emerge --unmerge Programmname Entfernung von Programm aus dem System + +emerge --update --ask world Aktualisierung des Systems +emerge -f -u -a world Aktualisierung herunterzuladen, aber nicht + kompilieren und installieren +emerge --update --deep world Aktualisierung des gesamten Systems +emerge --update --newuse world Neuerstellung des gesamten System + +emerge --depclean verweiste Abhängigkeiten entfernen +revdep-rebuild reverse Abhängigkeiten neu erstellen +etc-update Konfigurationsdateien zusammenzuführen + +equery belongs /Pfad/Datei zeigt das Paket aus dem die Datei stammt +equery depends Programmname Abhängigkeiten anzeigen +equery depgraph Programmname Abhängigkeiten als Baum anzeigen +equery files Programmname Dateien auflisten, die zu einem Ebuild gehören +equery hasuse USE-Flag Pakete suchen, die ein spezifisches USE-Flag + benutzen +equery size Programmname Paketgröße anzeigen +equery uses Programmname Gesetzte und nicht gesetzte USE-Flags +equery which Programmname Anzeigen des Ebuildpfads +euse -a Alle aktiven USE-Flags anschauen +euse -a -l Aktive lokale USE-Flags anschauen +euse -E USE-Flag Setzen von USE-Flags +euse -D USE-Flag Deaktivieren von USE-Flags +\end{verbatim} + +\subsection{Quelltexte} +\index{make} +\begin{verbatim} +tar xvfz Source.tgz Quelltext entpacken +./configure Makefile konfigurieren +make Programm übersetzen, + wenn Makefile vorhanden +make install Programm installieren +make uninstall Programm deinstallieren +\end{verbatim} + +\subsection{Hilfe} +\index{ldd}\index{strace} +\begin{verbatim} +ldd Programm zeigt die zu ladenen Bibliotheken des Programms +strace -eopen Programm zeigt die geladenen Bibliotheken des Programms +\end{verbatim} + diff --git a/linux/befehle/ssh.tex b/linux/befehle/ssh.tex new file mode 100644 index 0000000..a744dde --- /dev/null +++ b/linux/befehle/ssh.tex @@ -0,0 +1,57 @@ +% master: ssh.tex +% SSH v0.3 +% 2022-05-10 (Rx) + +\section{SSH} +%------------ +SSH(Secure shell) ist ein verschlüsseltes Netzwerkprotokoll auf TCP-Port 22, +ermöglicht eine sichere authentifizierte und verschlüsselte Verbindung zwischen +zwei Rechnern über ein unsicheres Netzwerk. + +\index{ssh}\index{scp} +\begin{verbatim} +scp Rechner:Pfad Rechner:Pfad Programm zur Übertragung von Files +ssh Rechner auf anderen Rechner anmelden +ssh Rechner -l root oder auf anderen Rechner als root anmelden +ssh root@Rechner +\end{verbatim} + +\subsection{Generierung eines DSA Schlüsselpaares} +\index{ssh-keygen} +\begin{verbatim} +ssh-keygen -t dsa -b 2048 generiert DSA-Schlüsselpaar mit + einer Bit-Tiefe von 2048 + ~/.ssh/id_dsa - private-key mit bestätigen + passphrase - Passwort für den private-key und der Anmeldung, + für passwortlose SSH-Verbindungen weg lassen oder + zu Beginn einer Sitzung mit ssh-add ~/.ssh/id_dsa + abfragen lassen +\end{verbatim} + +\subsection{Public-Key auf dem Zielrechner hinzufügen} +\begin{verbatim} +cat ~/.ssh/id_dsa.pub | ssh zieluser@zielrechner \ + "mkdir -p .ssh; cat >> .ssh/authorized_keys" + - public-key auf dem Zielrechner hinzufügen + +ssh zieluser@zielrechner "chmod 600 ~/.ssh/authorized_keys" + - public-key auf dem Zielrechner schützen +\end{verbatim} + +\subsection{Private-Key auf dem Qellrechner} +\begin{verbatim} +~/.ssh/id_dsa - der Private-Key gehört auf dem Qellrechner in das + ~/.ssh/ Verzeichnis +\end{verbatim} + +\subsection{Login nur mit SSH-Keys erlauben} +\index{rcsshd} +\begin{verbatim} +/etc/ssh/sshd_config - folgendes in die Datei sshd_config + PubkeyAuthentication yes eingetragen + UsePAM no + PasswordAuthentication no + +rcsshd restart - SSH-Dämon neu starten +\end{verbatim} + diff --git a/linux/befehle/standartein_aus_gabe.tex b/linux/befehle/standartein_aus_gabe.tex new file mode 100644 index 0000000..4f9048f --- /dev/null +++ b/linux/befehle/standartein_aus_gabe.tex @@ -0,0 +1,21 @@ +% master: standartein-aus-gabe.tex +% Befehle v0.5 +% 2025-01-29 (rX) + +\section{Standartein-aus-gabe} +%----------------------------- + +Jedes UNIX kennt 3 spezielle Files: +\index{stdin}\index{stdout}\index{stderr} +\begin{verbatim} +stdin Standardeingabe, normalerweise die Tastatur +stdout Standardausgabe, normalerweise der Bildschirm +stderr Standardausgabe für Fehlermeldungen, + normalerweise der Bildschirm +\end{verbatim} +All diese Files können umgelenkt werden + +\index{settherm}\index{Bildschirmschoner} +\begin{verbatim} +setterm -blank 0 Bildschirmschoner ausschalten +\end{verbatim} diff --git a/linux/befehle/suchen_in_dateien.tex b/linux/befehle/suchen_in_dateien.tex new file mode 100644 index 0000000..2f78981 --- /dev/null +++ b/linux/befehle/suchen_in_dateien.tex @@ -0,0 +1,22 @@ +% master: suchen_in_dateien.tex +% Suchen in Dateien v0.3 +% 2022-05-09 (Rx) + +\section{Suchen in Dateien} +%-------------------------- +\index{grep}\index{egrep}\index{fgrep} +\begin{verbatim} +grep Ausdruck Datei sucht nach dem Ausdruck in der Datei +grep -c Ausdruck Datei Anzahl der Zeilen, die den Begriff + enthalten ausgeben +grep -i Ausdruck Datei große und kleine Buchstaben nicht unterscheiden +grep -l Ausdruck Datei meldet die Dateien die den Ausdruck enthalten +grep -n Ausdruck Datei sucht nach dem Ausdruck und + gibt die Zeilennummer mit aus +grep -v Ausdruck Datei Ausgabe der Zeilen die den Ausdruck + nicht enthalten +egrep Ausdruck Datei sucht nach dem Ausdruck in der Datei +fgrep String Datei sucht nach dem String in der Datei +fgrep -x String Datei sucht nach dem String in der Zeile einer Datei +\end{verbatim} + diff --git a/linux/befehle/suchen_nach_dateien.tex b/linux/befehle/suchen_nach_dateien.tex new file mode 100644 index 0000000..c1a777f --- /dev/null +++ b/linux/befehle/suchen_nach_dateien.tex @@ -0,0 +1,24 @@ +% master: suchen_nach_dateien.tex +% Suchen nach Dateien v0.3 +% 2022-05-09 (Rx) + +\section{Suchen nach Dateien} +%---------------------------- +\index{find} +\begin{verbatim} +find Pfad Bedingung nach Dateien suchen +find Pfad | grep name nach Dateien suchen, hat sich bewährt +find Pfad -name .profile nach dem Dateinamen .profile suchen +find Pfad -user higi nach Dateien die dem Benutzer + higi gehören suchen +find Pfad -size +1024c nach Dateien die größer als 1024 Bytes + sind suchen +find Pfad -atime +7 nach Dateien suchen die älter als 7 Tage sind +find Pfad -print alle Dateien im Pfad ausgeben +find -name *.txt alle Dateien im aktuellen Pfad + mit der Endung .txt ausgeben +find / -size +16000000c alle Dateien die mehr als 16MB haben ausgeben +find / -fstype msdos -name *.zip sucht auf MS-DOS-Partition nach *.zip +find / -fstype vfat -name *.txt sucht auf Windows-Partition nach *.txt +\end{verbatim} + diff --git a/linux/befehle/suse_linux.tex b/linux/befehle/suse_linux.tex new file mode 100644 index 0000000..7948d86 --- /dev/null +++ b/linux/befehle/suse_linux.tex @@ -0,0 +1,18 @@ +% master: suse_linux.tex +% SuSE-Linux v0.2 +% 2022-05-09 (Rx) + +\section{SuSE-Linux} +%---------------------------------------- +\index{yast} +\begin{verbatim} +hilfe Hilfesystem starten +yast Yet another Setup Tool - + SuSE Administrationstool +yast2 Yet another Setup Tool 2 - + SuSE Administrationstool +SuSEconfig das Skript muss aufgerufen werden + nachdem die /etc/rc.config und /etc/sysconfig/ + von Hand verändert wurden +\end{verbatim} + diff --git a/linux/befehle/tar_verwaltet_dateiarchive.tex b/linux/befehle/tar_verwaltet_dateiarchive.tex new file mode 100644 index 0000000..5ffb74d --- /dev/null +++ b/linux/befehle/tar_verwaltet_dateiarchive.tex @@ -0,0 +1,88 @@ +% master: tar_verwaltet_dateiarchive.tex +% TAR (tape archiver) verwaltet Dateiarchive v0.4 +% 2022-05-09 (Rx) + +\section{TAR (tape archiver) verwaltet Dateiarchive} +%---------------------------------------------------} +Syntax:\\ +tar [-Acdrtux] [--delete] [-b n] [-BgGhijklmMoOpPPsSvwWz] [-C Verzeichnis] [-f +Datei] [-F Datei] [-K Datei] [-L Länge] [-N Datum] [-T Datei] [-V Name] [-X Datei] [{0-7}] [{lmh}] + +\begin{verbatim} +Optionen: +-A Archiv an ein Archiv anhängen +-c erzeugt ein neues Archiv +-d vergleicht das Archiv mit dem Dateisystem +--delete Datei löscht die Datei aus dem Archiv (nicht für Magnetbänder) +-r hängt Dateien an das Archiv an (nicht für Magnetbänder) +-t zeigt den Inhalt des Archivs +-u ersetzt neue Dateien oder fügt sie ein (nicht für Magnetbänder) +-x kopiert/entpackt Datei-en aus dem Archiv +--atime-preserve Zugriffszeit nach der Archivierung zurück setzen +-b n setzt die Blockgröße n*512Bytes (Voreinstellung n=20) +-B unterdrückt den Abbruch beim Lesen unvollständiger Blöcke + zum Lesen von 4.2BSD Pipes +-C Verzeichnis wechselt in das Verzeichnis, um dort weitere Dateien zu + archivieren +-f Datei benutzt Datei oder das Gerät als Archiv +-F Datei bei -M führt das Shellscript Datei aus, wenn das Medium voll ist +-G erzeugt am Anfang des Bandarchives einen speziellen Eintrag für + jedes archivierte Verzeichnis; spezielles GNU Format +-g Datei erzeugt eine Datei mit einer Liste der archivierten + Verzeichnisse als Zeitmarke der Archivierung; wenn die Datei + bereits existiert, werden nur die Dateien archiviert, die nach + dieser Zeitmarke erzeugt oder verändert wurden (spezielles GNU + Format: 1.Zeile=Zeitmarke, 1.Feld=Nr. der Partition, + 2.Feld=Inode des Verzeichnisses, 3.Feld=Name des Verzeichisses) +-h archiviert die referenzierten Dateien anstelle der Links +-i ignoriert Blöcke mit Nullbytes im Archiv +-j erzeugt ein mit bzip2 komprimiertes Archiv +-k existierende Dateien werden beim Auspacken von Archiven nicht + überschrieben +-K Datei beginnt eine Aktion bei Datei im Archiv +-l verhindert Archivierung von Dateien aus anderen Dateisystemen +-L Länge wartet auf Medienwechsel nach Länge Bytes +-m das Datum der letzten Änderung wird nicht mit archiviert +-M das Archiv ist auf mehrere Medien verteilt (Multi-Volume) +-N Datum archiviert nur Dateien, die neuer sind als Datum +-o benutzt das alte V7 tar-Format anstelle des ANSI Formates +-O schreibt die Dateien in die Standardausgabe +-p erhält die Zugriffsrechte der Dateien +-P archiviert mit absoluten Dateinamen +-R gibt zu jeder Meldung die Blocknummer des Archivblocks aus, von + dem die Meldung verursacht wurde +-s zeigt an, dass die Liste von Dateien im Argument die gleiche + Reihenfolge hat wie die Dateien im Archiv +-T Datei holt die Namen der zu archivierenden Dateien aus Datei +-v meldet jede Aktion +-V Name erzeugt ein Archiv mit dem (internen) Label Name +-w erwartet interaktiv Bestätigung jeder Aktion +-W verifiziert die geschriebenen Daten im Archiv +-X Datei liest aus der Datei Namen oder reguläre Ausdrücke von bzw. für + Dateien, die nicht archiviert werden soll +-z erzeugt ein mit gzip komprimiertes Archiv +-Z erzeugt ein mit compress komprimiertes Archiv +-{0...7}{lmh} spezifiziert das Gerät und die Dichte des Speichermediums (für + Diskettenarchive ohne Bedeutung); 0 ist der erste Streamer, 1 + 1 der zweite und so weiter; die Dichte bestimmt den Bandtyp +\end{verbatim} + +\subsection{Packen} +\index{tar} +\begin{verbatim} +tar rPvf name.tar /etc/ Verzeichnis zum tar zufügen +tar rPvf name.tar /etc/inittab* Datei-en zum tar zufügen +tar cPvzf name.tgz name.tar tar -> tgz +tar cPvMf /dev/fd0 name.tgz tgz auf Diskette sichern + +tar cvzf Datei.tgz Verzeichnis Packt Verzeichnis in Datei.tgz +\end{verbatim} + +\subsection{Entpacken} +\begin{verbatim} +tar xvfpM /dev/fd0 tgz von Diskette holen +tar xvfpz name.tgz tgz -> tar +tar tvfp name.tar Inhalt des Tars anzeigen +tar xvfp name.tar Tar entpacken +\end{verbatim} + diff --git a/linux/befehle/upstart.tex b/linux/befehle/upstart.tex new file mode 100644 index 0000000..21a37c1 --- /dev/null +++ b/linux/befehle/upstart.tex @@ -0,0 +1,26 @@ +% master: die_runlevel.tex +% Die Runlevel v0.5 +% 2022-05-09 (Rx) + +\subsection{Upstart} +%---------------------------------------- +\index{Upstart} +Upstart sorgt dafür das Dienste ereignisbasiert parallel gestartet werden können +/etc/inittab entfällt neu /etc/init/ (bzw. /etc/event.d/) + +\index{initctl} +\begin{verbatim} +initctl list Liste aller Init-Jobs +sudo initctl start/stop Init-Jobs (zB. ssh) +\end{verbatim} + +Im Header der Datei kann dann zum Starten und Beenden flogendes stehen: + +\begin{verbatim} +start on runlevel [2345] +stop on runlevel [!2345] + +sudo initctl reload-configuration ließt die Konfiguration neu ein und + startet/beendet die Dienste +\end{verbatim} + diff --git a/linux/befehle/vergleichen_von_dateien.tex b/linux/befehle/vergleichen_von_dateien.tex new file mode 100644 index 0000000..6a2a169 --- /dev/null +++ b/linux/befehle/vergleichen_von_dateien.tex @@ -0,0 +1,13 @@ +% master: vergleichen_von_dateien.tex +% Vergleichen von Dateien v0.3 +% 2022-05-09 (Rx) + +\section{Vergleichen von Dateien} +%-------------------------------- +\index{diff}\index{comm}\index{cmp} +\begin{verbatim} +diff Datei1 Datei2 zeigt die Unterschiede zwischen zwei Dateien +comm [-123] Datei1 Datei2 zwei sortierte Textdateien vergleichen +cmp -l Datei1 Datei2 Binär-/Dateien vergleichen +\end{verbatim} + diff --git a/linux/befehle/x11_grafik.tex b/linux/befehle/x11_grafik.tex new file mode 100644 index 0000000..ad7a8d4 --- /dev/null +++ b/linux/befehle/x11_grafik.tex @@ -0,0 +1,61 @@ +% master: x11_gafik.tex +% X11 - Grafik v0.3 +% 2022-05-10 (Rx) + +\section{X11 - Grafik} +%--------------------- +\index{xf86config}\index{XF86Setup}\index{sax}\index{startx}\index{export} +\begin{verbatim} +/etc/XF86Config bis XFree86.3.3.x Konfigurationsdatei +/etc/X11/XF86Config ab XFree86.4.x Konfigurationsdatei + +[Alt]+[F1] bis [F6] Umschalten zwischen Textkonsolen alle Shells +[AltGr]+[Fn] Umschalten zwischen den Textkonsolen n+12 +[Alt]+[Pfeil links oder rechts] um durch die benutzten Konsolen zu stöbern +[Strg]+[Alt]+[F1] bis Umschalten zu Textkonsolen alle Shells +[Strg]+[Alt]+[F6] aus X11 heraus +[Strg]+[Alt]+[F7] Umschalten zu X11 aus Textkonsole alle Shells + bei Caldera 2.2 [Alt]+[F8] +[Strg]+[Alt]+[<--] X-Server sofort beenden +[Strg]+[Alt]+[+] verschiedene Auflösungen im laufenden +[Strg]+[Alt]+[-] Betrieb wechseln + +xf86config Shell-Konfigurationsprogramm für X 3+4 +XF86Setup X-Konfigurationsprogramm bis XFree86.3.3.x +sax X-SuSE-Konfigurationsprogramm bis XFree86.3.3.x +sax2 X-SuSE-Konfigurationsprogramm ab XFree86.4.x + +startx X-Server starten +startx -- -bpp 16 X-Server mit 16 Bit starten +startx - -- :0 vt07 X-Server auf F7 starten +startx - -- :1 vt08 2. X-Server auf F8 starten + +export WINDOWMANAGER=WM X-Umgebungsvariable auf WM(kde, gnome, + fvwm, olwm ...) ändern +\end{verbatim} + +\subsection{Bildschirmschoner} +%----------------------------- +\index{Bildschirmschoner}\index{xset}\index{xsetroot} +\begin{verbatim} +xset s auf Standardeinstellungen zurücksetzen +xset s 60 nach 1 Minute aktivieren +xset s blank schwarzen Bildschirm verwenden +xset s noblank X-Logo statt schwarzen Bildschirm anzeigen +xset s 60 3 X-Logo alle 3 Sekunden neu platzieren +xset s off Bildschirmschoner deaktivieren +xset s on Bildschirmschoner einschalten +xset s activate Bildschirmschoner sofort aktivieren +xset q aktuelle Einstellungen anzeigen +xsetroot -solid blue Hintergrund +\end{verbatim} + +\subsection{X11 ohne Maus} +%------------------------- +\begin{verbatim} +[Umschalt]+[Strg]+[Num] Maussteuerung am Ziffernblock ein/ausschalten +[4],[6],[8],[8] links, rechts, oben, unten +[*],[-] auf linke, rechte Maustaste umschalten +[5],[+],[0],[5] Maustaste, Doppelklick, gerückt halen, lösen +\end{verbatim} + diff --git a/linux/befehle/zugriffsrechte_eigentuemer_gruppe.tex b/linux/befehle/zugriffsrechte_eigentuemer_gruppe.tex new file mode 100644 index 0000000..97ec84d --- /dev/null +++ b/linux/befehle/zugriffsrechte_eigentuemer_gruppe.tex @@ -0,0 +1,93 @@ +% master: zugriffsrechte_eigentuemer_gruppe.tex +% Zugriffsrechte/Eigentümer/Gruppe v0.3 +% 2022-05-09 (Rx) + +\section{Zugriffsrechte/Eigentümer/Gruppe} +%----------------------------------------- +\index{blockorientiert}\index{zeichenorientiert}\index{Gruppe}\index{Eigentümer} +\index{chmod}\index{chown}\index{chgrp}\index{passwd}\index{useradd}\index{usermod}\index{userdel}\index{vipw}\index{su}\index{sux} +\begin{verbatim} +ls -l /dev/fd0 +brw-rw-rw- 1 root disk 2, 0 Feb 16 16:30 /dev/fd0 +| | | +----- Gerät +| | +------ Minor-Device-Nummer(Nebennummer) +| +----------- Major-Device-Nummer(Hauptnummer) ++-------------------- b-blockorientierte Geräte c-zeichenorientierte Geräte + +ls -laFi linux.txt +1561 -rw-r----- 1 higi users 26419 Mar 13 19:19 linux.txt +| |||||||||| | | | | | | | +----- Datei/Verzeichnisname +| |||||||||| | | | | | | +----------- Uhrzeit +| |||||||||| | | | | | +-------------- Tag +| |||||||||| | | | | +------------------ Monat +| |||||||||| | | | +------------------------ Größe +| |||||||||| | | +----------- Gruppe +| |||||||||| | +----------------- Eigentümer +| |||||||||| +------------------- Links +| |||||||||+---- alle Anderen x-ausführen oder t-text mit x-bit +| ||||||||| T-text ohne x-bit +| ||||||||+----- alle Anderen w-schreiben +| |||||||+------ alle Anderen r-lesen +| ||||||+------- Gruppe x-ausführen oder s-Gruppenkennung mit x-bit +| |||||| S-Gruppenkennung ohne x-bit +| |||||+-------- Gruppe w-schreiben +| ||||+--------- Gruppe r-lesen +| |||+---------- Eigentümer x-ausführen oder s-Benutzerkennung mit x-bit +| ||| S-Benutzerkennung ohne x-bit +| ||+----------- Eigentümer w-schreiben +| |+------------ Eigentümer r-lesen +| +------------- d-Verzeichnis l-Verknüpfung ++------- inode + +chmod werwiewas Datei Zugriffsrechte einer Datei/Verzeichnis ändern + wer: u-Eigentümer g-Gruppe + o-alle Anderen a-alle 3 Benutzergruppen + wie: +-hinzufügen --wegnehmen + =-nachfolgendes Muster setzen + was: r-lesen w-schreiben x-ausführen + ( s-Benutzerkennung oder Gruppenkennung + t-text ) +chmod zahl Datei Zugriffsrechte einer Datei/Verzeichnis ändern + zahl-> rwx rwx rwx -> 4+2 4 0 -> 640 + 421 421 421 + 640 -> Eigentümer lesen schreiben + Gruppe lesen +chmod nzahl Datei Zugriffsrechte und Kennung einer Datei/ + Verzeichnis ändern + bit 4 von n, mit Benutzerkennung/ + Benutzerrechten ausführen + bit 2 von n, mit Gruppenkennung/ + Gruppenrechten ausführen + bit 1 von n, mit text werden die Dateien vor + dem Löschen durch fremde Benutzer geschützt, + macht nur bei Verzeichnissen sinn +chown NeuerEigentümer Datei Eigentümer der Datei ändern +chgrp NeueGruppe Datei Gruppenzugehörigkeit der Datei ändern + +passwd Benutzer Benutzerpasswort ändern +useradd Optionen Benutzer Benutzer anlegen + -u Benutzer-ID (-u 500) + -g Primäre Gruppenzugehörigkeit (-g users) + -G weitere Gruppenzugehörigkeit + -d Homeverzeichnis (-d /home/user500) + -s Shell (-s /bin/bash) + -m legt das Homeverzeichnis an und kopiert die + Dateien aus /etc/skel in das Homeverzeichnis + -c Kommentar + -p Passwort im Klartext! + -e Auslaufdatum (-e 2002.12.24) + -f Pufferzeit +usermod Optionen Benutzer Benutzerdaten verändern +userdel Benutzername Benutzer löschen +userdel -r Benutzername Benutzer und Benutzerverzeichnis löschen +vipw Benutzerdatenbank ändern + +su Shell mit root-Zugriffsrechten starten +su - Shell im root-Homeverzeichnis + mit root-Zugriffsrechten starten +sux - Shell im root-Homeverzeichnis + mit root-Zugriffsrechten starten und X-Variabeln +su -l Benutzername Shell im Benutzer-Homeverzeichnis + mit Benutzer-Rechten starten +\end{verbatim} + diff --git a/linux/befehle/zur_orientierung_auf_einem_unix-rechner.tex b/linux/befehle/zur_orientierung_auf_einem_unix-rechner.tex new file mode 100644 index 0000000..57694fb --- /dev/null +++ b/linux/befehle/zur_orientierung_auf_einem_unix-rechner.tex @@ -0,0 +1,46 @@ +% master: zur_orientierung_auf_einem_unix-rechner.tex +% Zur Orientierung auf einem UNIX-Rechner v0.4 +% 2022-05-09 (Rx) + +\section{Zur Orientierung auf einem UNIX-Rechner} +%------------------------------------------------ +\index{date}\index{df}\index{echo}\index{finger}\index{free}\index{last}\index{info}\index{man}\index{pwd}\index{w}\index{whatis}\index{which}\index{who}\index{whoami} +\begin{verbatim} +date zeigt Datum und Uhrzeit an +df -k zeigt den feien Platten-Platz in kB an +df -m zeigt den feien Platten-Platz in MB an +df -h Ausgabe von Größen in Menschen-lesbarem Format +du -h zeigt wie viel Platten-Platz in kB bestimmte Dateien einnehmen +echo Text schreibt den Text auf stdout (Bildschirm) +finger zeigt Infos über eingeloggte Benutzer an +finger -l zeigt ausführliche Infos über eingeloggte Benutzer an +free -t zeigt den feien Arbeitsspeicher in kB an +last zeigt wer sich zuletzt von wo aus auf dem Rechner eingeloggt hat +info Begriff Hilfe zu dem Begriff im Infoformat +man Begriff Hilfe zu dem Begriff +man -a Begriff alle Kapitel zu dem Begriff +man -f Begriff listet die gefundenen Seiten zu dem Begriff auf +man -k Begriff listet die Seiten in dem der Begriff vorkommt auf +man n Begriff Hilfe zum Begriff mit der Sektion n + Die Manual-Pages sind auf verschiedene Sektionen aufgeteilt: + 1 Shell-Kommandos + 2 System-Aufrufe + 3 Funktionen - C-Bibliotheksfunktionen. + 4 Die Beschreibung von Konfigurationsdateien. + 5 Die Syntax wichtiger Dateien. + 6 Beschreibung von Spielen. + 7 Alles was mit Text, Textformatierung und anderen Formaten zu + tun hat. + 8 Die Befehle des Systemverwalters. + 9 Die Beschreibung der Linux-Kernelroutinen. + n n kommt angeblich von neu, hier sind sonstige Manual-Pages + aufgeführt, die in eine der oberen Sektionen gehören, aber + traditionell hier stehen oder zu keiner Sektion genau passen. +pwd Ausgabe des aktuellen Verzeichnisses +w wer ist da und was ist los +whatis Befehl zeigt Kurzerklärung eines Befehls +which Befehl zeigt, wo Executable liegt, und eventual alias +who zeigt Liste aller eingeloggten Benutzer +whoami zeigt, wem die Shell gehört +\end{verbatim} + diff --git a/linux/dateien/dateibaum.tex b/linux/dateien/dateibaum.tex new file mode 100644 index 0000000..4a5054b --- /dev/null +++ b/linux/dateien/dateibaum.tex @@ -0,0 +1,320 @@ +% master: dateibaum.tex +% Befehle v0.4 +% 2011-05-27 (Rx) + +\section{Dateibaum} +%------------------ + +\begin{verbatim} +/ oberste Verzeichnis + im Dateisystem (Root/Wurzel) +. Verweis auf sich selbst +.. Verweis auf das übergeordnete Verzeichnis +/bin/ ausführbare Dateien der wichtigsten Befehle +#/bin/init -> /sbin/init +/boot/ enthält die Dateien des LILO Bootloaders und + kann Kernel-Images enthalten +/boot/boot.b der LILO-Maschinencode +/boot/map Informationen für LILO + um den Betriebssystemkern zu starten +/boot/message wird vor der LILO-Bootauswahl ausgegeben +/boot/vmlinuz der Betriebssystemkern kann auch im / liegen +/cdrom/ dient zur CDROM-Einbindung +/dev/ Sammlung der Gerätedateien +/dev/audio ähnlich wie /dev/dsp, Daten werden y-Law codiert +/dev/cdrom Link auf den CD-Rom Treiber oft /dev/hdc +/dev/console reale Console +/dev/dsp Link auf den A/D-W. der Soundk. (-> /dev/dsp0) +/dev/dsp0 Analog/Digital-Wandler der Soundkarte +/dev/fd0 erstes Diskettenlaufwerk +/dev/fd1 zweites Diskettenlaufwerk +/dev/full beim Schreiben wird der Fehler ENOSPC erzeugt +/dev/hda erstes (E)IDE Gerät +/dev/hda1 -> /dev/hda4 primäre Partitionen +/dev/hda5 -> /dev/hda? logische Partitionen +/dev/hdb zweites (E)IDE Gerät +/dev/hdc drittes (E)IDE Gerät +/dev/hdd viertes (E)IDE Gerät +/dev/initrd zusätzliche RAM-Disk mit Kernelmodulen und + Bootsystem zur Initialisierung des Kernels +/dev/kmem virtueller Arbeitsspeicher +/dev/loop* ermöglicht eine Datei wie eine Diskette oder + Festplattenpartition zu mounten +/dev/lp0 erste parallele Schnittstelle +/dev/lp1 zweite parallele Schnittstelle +/dev/lp2 dritte parallele Schnittstelle +/dev/md* zusammengelegte Festplatten linear,Raid0 oder 1 +/dev/mem physikalischer Arbeitsspeicher +/dev/midi00 direkte Kommunikation mit einem MIDI-Gerät +/dev/mixer Link auf den Mixer (-> /dev/mixer0) +/dev/mixer0 Mischpult der 1. Soundkarte +/dev/modem Link auf den Modemtreiber (-> /dev/ttyS0) +/dev/mouse Link auf den Maustreiber (-> /dev/psaux) +/dev/music eine andere Art von Sequencer, speziell für die + MIDI-Schnittstelle +/dev/nst* SCSI-Streamer (No Rewind On Close) +/dev/null Mülleimer des Systems +/dev/port zum ansprechen einzelner IO Ports +/dev/psaux PS/2-Maus +/dev/pts/ Unix98 PTY slaves +/dev/ram Link auf die RAM-Disk (-> /dev/ram0) +/dev/random zur Erzeugung kryptografisch hochwertiger + Zufallszahlen +/dev/rmt* QIC-02-Streamer +/dev/rtc batteriegepufferte CMOS-Uhr +/dev/sd* SCSI-Festplatten +/dev/sequencer Synthesizer der Soundkarte oder ein am MIDI-Port + angeschlossenes Gerät +/dev/sndstat Informationen über den Status des Soundtreibers +/dev/st* SCSI-Streamer +/dev/tty aktive virtuelle Console +/dev/tty1 1. virtuelle Console +/dev/tty2 2. virtuelle Console +/dev/ttyS0 erste serielle Schnittstelle COM1 +/dev/ttyS1 zeite serielle Schnittstelle COM2 +/dev/ttyS2 dritte serielle Schnittstelle +/dev/ttyS3 vierte serielle Schnittstelle +/dev/urandom zur Erzeugung von Zufallszahlen +/dev/xd* 8-Bit XT-Festplattencontroller +/dev/zero zum Lesen beliebig vieler Nullbytes +/etc/ Konfigurationsdateien +/etc/adjtime zur Korrektur der batteriegepufferten CMOS-Uhr + (clock) +/etc/bash.bashrc globale bash konfiguration +#/etc/conf.modules -> /etc/modules.conf +/etc/cryptotab /etc/fstab für Krypto-Filesystem +/etc/csh.login Startdatei für die C-Shell +/etc/diphosts eine Art /etc/passwd für SLIP Login +/etc/DIR_COLORS festlegen der Farben für ls +/etc/exports Verzeichnisse und Rchnernamen, die diese + Verzeichnisse per NFS mounten dürfen + wird hier eingetragen +/etc/fdprm Parameter von Diskettenformaten +/etc/fstab um Benutzern das An- und Abmelden + von Dateisystemen zu erlauben +/etc/ftpaccess Woher ? Wann ? Was ? ... +/etc/ftpusers ... und Wer NICHT ? +/etc/gateways Rechner des lokalen Netzes die Kontakt mit + anderen Netzen haben +/etc/gettydefs Beschreibung der seriellen Terminals +/etc/group Benutzergruppen und ihre Mitglieder +/etc/host auflösen von Netzwerknamen + über die resolver-Bibliothek +/etc/host.allow Rechner und Netze mit denen Verbindung aufgebaut + werden darf +/etc/host.conf eine der Konfig. den Domain Name Service +/etc/host.deny Rechner und Netze die sich nicht mit diesem + Rechner verbinden dürfen +/etc/host.equiv Rechner die "gleichartig" behandelt werden +/etc/HOSTNAME hier steht der Name des Rechners + ohne den Domainnamen +/etc/hosts ordnet IP-Adressen Hostnamen zu +/etc/inetd.conf welche Services gestartet werden (inetd) +/etc/init -> /sbin/init +/etc/init/ Dateien für Upstart +/etc/init.d/ Dateien für die Init-Levels +/etc/init.d/inetd startet den inetd, z.B. zum Anmelden + vom Netzwerk +/etc/init.d/network startet die Konfiguration + der Netzwerk Hard- und Software +/etc/init.d/portmap starte den Portmapper, + um den RPC-Server verwenden zu können +/etc/init.d/route setzt die statischen Routen im Netzwerk +/etc/init.d/sendmail kontrolliert den sendmail-Prozess + in Abhängigkeit +/etc/init.d/rc0.d/ bis rc6.d/ init 0 bis 6 +/etc/init.d/rcS.d/ init S +/etc/initscript init führt die Kommandos durch dieses Script + ondemand und respawn aus +#/etc/inittab Grunteinstellung der Init-Levels und Terminals + (/sbin/init) +/etc/isdn/ ISDN-Konfigurationen +/etc/issue Begrüßungstext beim Login (getty) +/etc/ld.so.cache zur Shared Libraries identifizierung (ldconfig) +/etc/ld.so.conf Verzeichnisse zu neuen Shared Libraries + (ldconfig) +/etc/lilo.conf Konfigurationsdatei des LILO +/etc/login.defs Login Einstllungen (login) +/etc/magic Magic Numbers zum Erkennen von Dateien (file) +#/etc/man.config -> /etc/manpath.config +/etc/manpath.config Verzeichnisse in den Manualpages gesucht werden +/etc/minicom.users Benutzer die minicom benutzen dürfen +/etc/modules.conf Modulinformationen ((für den Kerneld(Dämon))) +/etc/motd Begrüßung nach dem Anmelden +/etc/mtab Liste der aktuell zu Verfügung + stehenden Dateisystemen +/etc/mtools.conf (un)logische Laufwerksbuchstaben + von MS-DOS für die M-Befehle +/etc/named.boot für den named Dämon des DNS +/etc/networks die Namen und IP der lokalen Netze +/etc/nntpserver der Name und die IP des Newsrechners +/etc/nologin macht jedes "normale" Einloggen unmöglich, nur + die root kann sich anmelden, sonst wird der + Inhalt von nologin ausgegeben (login) +/etc/nscd.conf Konfiguration des Name Service Cache Dämon +/etc/nsswitch.conf in welcher Reihenfolge bestimmte + Informationen abgefragt werden +/etc/opt/ Rechner-spezifische Konfigurationsdateien + der Pakete +/etc/passwd Liste aller Benutzer mit Informationen +/etc/powerstatus Zustand der Stromversorgung +/etc/printcap Beschreibung des oder der Drucker des Systems + (lpd) +/etc/profile Globale Benutzerprofile +/etc/prtocols Liste aller Internetprotokolle die vom Kernel + unterstützt werden +/etc/psdatabase enthält kernelabhängige Daten für procps +/etc/rc* Systeminitialisierungsdateien (init) +/etc/rc.config zentrale Konfigurationsdatei -> /etc/sysconfig/ +/etc/rc.config.d/ weitere Dateien mit rc.config Variablen +/etc/resolv.conf bestimmt ob und wo ein Nameserver erreicht + werden kann +/etc/rpc enthält die Zuordnung der durch den rpc-Service + bereitgestellten Netzdienste zu Socketnummern +/etc/securetty Terminals von den sich der Benutzer + root anmelden darf (login) +/etc/services ordnet Portnummern Servicenamen zu +/etc/shadow hier sind die Shadow-Passwörter gespeichert +/etc/shells Liste aller Shells +/etc/shutdown.allow Liste der Benutzer die zum Herunterfahren des + Systems berechtigt sind +/etc/skel/ Dateien die beim Anlegen + eines Benutzers in das ~ kopiert werden +/etc/SuSE-release Angaben zur installierten SuSE Linux version +/etc/sysconfig/ zentrale Konfigurationsdateien -> /etc/rc.config +/etc/syslogd.conf legt fest wohin Meldungen geschrieben werden + (syslogd) +/etc/termcap Beschreibungen für Terminaleigenschaften (getty) +/etc/ttytype legt den voreingestellten Terminaltyp + für die Terminals fest +/etc/XF86Config bis XFree86.3.3.x Konfigurationsdatei +/etc/X11/XF86Config ab XFree86.4.x Konfigurationsdatei +/floppy/ dient zur Floppy-Einbindung +/home/ Heimatverzeichnisse der Benutzer +/home/~/.bash_history gespeicherte Eingaben der bash +/home/~/.bashrc Konfiguration der bash +/home/~/.ctwmrc Konfiguration des ctwm-Fenstermanagers +/home/~/.exrc Konfiguration des vi, ex +/home/~/.fvwmrc Konfiguration des fvwm-Fenstermanagers +/home/~/.openwin-menu Konfiguration des olvwm und olwm-Fenstermanagers +/home/~/.profile wird nach dem User-Anmelden in der bash + ausgeführt +/home/~/.rhosts erlaubt die r-Kommandos +/home/~/.X.err Meldungen des X-Servers +/home/~/.xinitrc diese Datei wird von .xsession ausgeführt +/home/~/.xsession diese Datei wird nach dem Befehl + startx ausgeführt +/lib/ gemeinsam genutzte Bibliotheken Shared Libraries +/lib/modules/ nachladbare Module +/lost+found/ verlorene Daten, ist in jeder Wurzel + des EXT2-Dateisystems +/media/cdrom/ dient zur CDROM-Einbindung, ist oft im / +/media/floppy/ dient zur Floppy-Einbindung, ist oft im / +/mnt/ für temporär einzuhängende Dateisysteme +/mnt/cdrom/ dient zur CDROM-Einbindung, ist oft im / +/mnt/floppy/ dient zur Floppy-Einbindung, ist oft im / +/opt/ kommerzielle Systemerweiterungen +/opt/kde/ grafische Benutzeroberfläche KDE +/proc/ virtuelles Filesystem über laufende Prozesse +/proc/cpuinfo Informationen zur CPU +/proc/devices Liste der wichtigsten Gerätetreiber +/proc/dma Liste der verwendeten DMA-Kanäle +/proc/filesystems Liste der bekannten Dateisystemtypen +/proc/interrupts Liste der Interrupts +/proc/ioports bekannte und definierte EA-Schnittstellen +/proc/kcore Gerätedatei für den Zugang + zum physikalischen Hauptspeicher +/proc/kmsg hier können Systemfehlermeldungen + ausgelesen werden +/proc/ksyms Liste der Kernel-Symbole und + ihrer Speicheradressen +/proc/loadavg durchschnittliche Systembelastung + in den letzten 1, 5 und 10 Min. +/proc/meminfo Beschreibung der aktuellen Speicherauslastung +/proc/modules Liste der geladenen Module und + Anzahl der aktuellen Nutzungen +/proc/mounts Liste der eingehängten Dateisysteme +/proc/net/ Informationen zur Netzwerkauslastung +/proc/pci Liste der gefundenen Geräte am PCI-Bus +/proc/scsi/ Informationen über SCSI-Geräte +/proc/stat Liste allgemeiner Statistiken zum System +/proc/uptime Sekunden seit dem Systemstart und + der Leerlaufzeit +/proc/version aktuelle Version des Linux-Kernels +/root/ Heimatverzeichnis des Systemverwalters root +/sbin/ Administrationskommandos +/sbin/init Nach dem Kernelstart wird versucht das + Programm init zu starten +#/sbin/init.d/ -> /etc/init.d/ +/tmp/ temporäre Dateien +/usr/ ausführbare Dateien, Libraries, X Window u.s.w +/usr/bin/ allgemein verfügbare Programmdateien +#/usr/doc/ -> /usr/share/doc/ +/usr/games/ Spiele :-) +/usr/include/ Headerdateien für den C-Compiler +/usr/include/g++/ Headerdateien für den C++-Compiler +/usr/info/ Infosystem fur GNU-Kommandos +/usr/lib/ Programmbibliotheken +/usr/lib/terminfo/ Verzeichnis mit Beschreibungen + für Terminaleigenschaften +/usr/local/ Ablage von Dateien und Kommandos die nicht + zur Distribution gehören +/usr/man/ Linux Handbuch +/usr/sbin/ Superuser Programmdateien +/usr/share/doc/ Dokumentationen +/usr/share/doc/packages/ Dokumentation der Programme +/usr/src/ Quellcode für den Kernel und weitere Programme +/usr/src/linux/ Kernel-Source +/usr/src/linux/arch/ Hardwarearchitektur-abhängige + Bestandteile des Kerns +/usr/src/linux/arch/alpha/ DEC-Alpha-Prozessoren +/usr/src/linux/arch/i386/ 386-Prozessoren +/usr/src/linux/arch/m68k/ Motorola 68k-Prozessoren +/usr/src/linux/arch/mips/ MIPS-Prozessoren R3000, R4000 bis R10000 +/usr/src/linux/arch/ppc/ Power-PC-Prozessor (ursprünglich IBM) +/usr/src/linux/arch/sparc/ SPARC-Prozessoren der Firma SUN +/usr/src/linux/Documentation/devices.txt offizielle Liste der + registrierten Devices mit ihren Gerätenummern +/usr/src/linux/drivers/ Zeichen-, Block-orientierte, + Netz-,Soundkarten-Gerätetreiber +/usr/src/linux/drivers/block/ Treiber für blockorientierte Ein-/Ausgabegeräte + wie Festplatten +/usr/src/linux/drivers/cdrom/ Treiber für CD-ROM Laufwerke + außer Atapi/IDE und SCSI +/usr/src/linux/drivers/char/ Zeichen. Treiber serielle Schnittstellen, + Bildschirm, Tastatur usw. +/usr/src/linux/drivers/net/ Treiber für die Netzwerkkarten +/usr/src/linux/drivers/pci/ Spezielle Treiber für PCI-Bus-Bausteine +/usr/src/linux/drivers/sound/ Soundkartentreiber +/usr/src/linux/drivers/scsi/ SCSI-Treiber +/usr/src/linux/fs/ Dateisysteme +/usr/src/linux/ipc/ InterProzessKommunikation, + z.B. Shared Memory, Semaphoren +/usr/src/linux/include/ Header-Dateien mit Struktur- und + Konstantendefinitionen +/usr/src/linux/init/ Initialisierungscode beim Starten des Systems +/usr/src/linux/kernel/ zentrale Aufgaben, z.B. Prozessverwaltung und + Schedulimg usw. +/usr/src/linux/mm/ Speicherverwaltung +/usr/src/linux/modules/ nachladbarer Teil des Kerns +/usr/src/linux/net/ Implementierung der Protokolltreiber + für TCP/IP,SPX/IPX usw. +/usr/src/linux/README Installationsbeschreibung für den Kernel +/usr/X11R6/ für Daten zum X-Window-System +/usr/X11R6/bin/ Programmdateien die mit X-Window-System arbeiten +/usr/X11R6/lib/X11/ Fenstermanager +/usr/X11R6/lib/X11/app-defaults/ voreingestellte Konfigurationen der + Anwendungen +/var/ sich schnell oder häufig ändernde Daten +/var/adm/inst-log/ Protokolldateien zur installation +/var/lib/rpm/Packages rpm-Datenbank +/var/lib/rpm/packages.rpm -> /var/lib/rpm/Packages +/var/log/ Protokolldateien +/var/log/boot.msg Kernelmeldungen vom letzten Start +/var/log/messages Datei in der die Kernel Meldungen + gespeichert werden +/var/log/syslog zeit an welches Modul fehlt +/var/tmp/ für große temporäre Dateien +/vmlinuz der Defaultkernel kann auch in /boot/ liegen +\end{verbatim} + diff --git a/linux/dateien/dateien.tex b/linux/dateien/dateien.tex new file mode 100644 index 0000000..0607e7d --- /dev/null +++ b/linux/dateien/dateien.tex @@ -0,0 +1,18 @@ +% master: dateien.tex +% Verzeichnisse und Dateien v0.8 +% 2010-08-06 (Rx) + +\chapter{Verzeichnisse und Dateien} + +% Seiten +%------- +%\clearpage +\input{linux/dateien/dateibaum} +\input{linux/dateien/fstab} +\input{linux/dateien/dev} +\input{linux/dateien/dateisystemtypen_unter_linux} +\input{linux/dateien/group} +\input{linux/dateien/hosts} +\input{linux/dateien/inittab} +\input{linux/dateien/passwd} + diff --git a/linux/dateien/dateisystemtypen_unter_linux.tex b/linux/dateien/dateisystemtypen_unter_linux.tex new file mode 100644 index 0000000..97c1beb --- /dev/null +++ b/linux/dateien/dateisystemtypen_unter_linux.tex @@ -0,0 +1,46 @@ +% master: dateisystemtypen_unter_linux.tex +% Befehle v0.3 +% 2022-05-10 (Rx) + +\section{Dateisystemtypen unter Linux} +%------------------------------------- + +\index{affs}\index{ext2}\index{ext3}\index{hpfs}\index{iso9660} +\index{minix}\index{msdos}\index{ncpfs}\index{nfs}\index{proc} +\index{reiserfs}\index{smbfs}\index{sysv}\index{ufs}\index{umsdos} +\index{vfat}\index{ntfs} +\begin{verbatim} +affs Ein auf dem Amiga verwendetes Dateisystem (engl. Amiga Fast Filesystem). +ext2 Das Standard-Dateisystem unter Linux (engl. Second extended Filesystem). +ext3 Journaling Filesystem +hpfs Standard-Dateisystem von IBM OS/2 (engl. High Performance Filesystem). + Dieses wird von Linux nur mit Lesezugriff unterstüzt. +iso9660 Standard-Dateisystem auf CD-ROMs. +minix Dieses Dateisystem hat seinen Ursprung in akademischen Lehrprojekten + über Betriebssysteme und war das erste Dateisystem, welches für Linux + verwendet wurde. Heute wird es unter Linux vornehmlich als Dateisystem + für Disketten verwendet. +msdos Ursprünglich von DOS verwendetes Dateisystem, welches aber bis heute von + diversen Betriebssystemen genutzt wird. +ncpfs Dateisystem für das Novell-Volumes. +nfs Hier sind die Daten auf der Festplatte eines anderen Rechners und + werden über das Netzwerk zugänglich gemacht (engl. Network Filesystem). +proc Prozess-Dateisystem (virtuell). +reiserfs Das ReiserFS ist ein hochperformantes "'Journaling Filesystem"'; + seit SuSE Linux 6.4 auf x86-Architekturen verfügbar. +smbfs SMB (engl. Server Message Block) ist ein Protokoll, das von WfW, + Windoofs NT und LAN Manager verwendet wird, um Dateien über ein Netzwerk + verfügbar zu machen. +sysv Von SCO-Unix, Xenix und Coherent (kommerzielle UNIX-Systeme für PCs) + verwendetes Dateisystem. +ufs Von BSD, SunOS und NeXTstep verwendetes Dateisystem; dies Dateisystem + wird von Linux nur mit Lesezugriff unterstützt. +umsdos Setzt auf einem gewöhnlichen fat-Dateisystem auf (engl. UNIX on MSDOS) + und erreicht durch Anlegen spezieller Dateien die notwendige UNIX- + Funktionalität (Rechte, Links, lange Dateinamen); es ist jedoch sehr + langsamm. +vfat Erweiterung des fat-Dateisystems hinsichtlich der Länge der Dateinamen + (engl. Virtual FAT). +ntfs Windows NT-Dateisystem. +\end{verbatim} + diff --git a/linux/dateien/dev.tex b/linux/dateien/dev.tex new file mode 100644 index 0000000..c022b2e --- /dev/null +++ b/linux/dateien/dev.tex @@ -0,0 +1,33 @@ +% master: dev.tex +% Befehle v0.3 +% 2022-05-10 (Rx) + +\section{/dev/} +%-------------- + +\begin{verbatim} +ls -l /dev/fd0 +brw-rw-rw- 1 root disk 2, 0 Feb 16 16:30 /dev/fd0 +| | | +----- Gerät +| | +------ Minor-Device-Nummer(Nebennummer) +| +----------- Major-Device-Nummer(Hauptnummer) ++----------------- b-blockorientierte Geräte c-zeichenorientierte Geräte +\end{verbatim} + +Die Verbindung zum Kernel wird über Slots oder Kanäle hergestellt, die +nummeriert sind und hinter denen sich die Treiber verbergen. Die Nummer +des Gerätetreibers wird als Haupgerätenummer(Major Device Number) bezeichnet. +Ein Treiber kann mehrere Geräte des gleichen Typs verwalten. Um die einzelnen +Geräte zu unterscheiden, wird dem Treiber eine zweite Zahl, die +Untergerätenummer (Minor Device Number), übergeben. Diese beiden Zahlen +charakterisieren jede Datei im /dev Verzeichnis. Zusätzlich werden noch zwei +Arten von Geräten unterschieden : \\ +Die blockorientierten Geräte mit direktem Zugriff, wie z.B. Disketten oder +Festplatten, und die zeichenorientierten squentiellen Geräte, wie Drucker, +Terminal oder Maus. \\ +Damit hat jede Gerätedatei drei "'Koordinaten"', mit der sie vom Kernel, +unabhängig von ihrem Namen, eindeutig identifiziert werden kann. +Die offizielle Liste der registrierten Devices mit ihren Gerätenummern ist bei +den Kernelsourcen in der Datei /usr/src/linux/Documentation/devices.txt zu +finden. + diff --git a/linux/dateien/fstab.tex b/linux/dateien/fstab.tex new file mode 100644 index 0000000..749cb26 --- /dev/null +++ b/linux/dateien/fstab.tex @@ -0,0 +1,22 @@ +% master: fstab.tex +% Befehle v0.3 +% 2022-05-10 (Rx) + +\section{/etc/fstab} +%------------------- + +\index{fstab} +\begin{verbatim} +#Device Mountpunkt Typ Optionen Dump Check +/dev/hdd1 / reiserfs defaults 1 1 +/dev/hda1 /boot ext2 defaults 1 2 +/dev/sda1 swap swap defaults 0 0 +none /proc proc defaults 0 0 +/dev/hda3 /temp vfat defaults,umask=7000,uid=500,gid=100 0 0 +/dev/hda2 /windows vfat defaults 0 0 +/dev/hdc /cdrom auto ro,noauto,user,exec 0 0 +/dev/fd0 /floppy auto noauto,user 0 0 +/dev/hda3 /save reiserfs loop,encryption=twofish,noauto,users 0 0 +server:/ /server nfs rw,noauto,user,exec 0 0 +\end{verbatim} + diff --git a/linux/dateien/group.tex b/linux/dateien/group.tex new file mode 100644 index 0000000..9e2db97 --- /dev/null +++ b/linux/dateien/group.tex @@ -0,0 +1,27 @@ +% master: group.tex +% Befehle v0.3 +% 2022-05-10 (Rx) + +\section{/etc/group} +%------------------- + +\index{group} +\begin{verbatim} +#Gruppenname:Paßwort:Gruppennummer:Mitgliederliste +root:x:0:root +bin:x:1:root,bin,daemon +daemon:x:2: +sys:x:3: +tty:x:5: +disk:x:6:higi +lp:x:7: +shadow:x:15:root,gdm +audio:x:17:root,higi +public:x:32: +video:x:33:higi +game:x:40:higi +modem:x:43: +users:x:100: +nogroup:x:65534:root +\end{verbatim} + diff --git a/linux/dateien/hosts.tex b/linux/dateien/hosts.tex new file mode 100644 index 0000000..1d121dd --- /dev/null +++ b/linux/dateien/hosts.tex @@ -0,0 +1,19 @@ +% master: hosts.tex +% Befehle v0.3 +% 2022-05-10 (Rx) + +\section{/etc/hosts} +%------------------- + +\index{hosts} +\begin{verbatim} +# IP-Adresse #Aliasnamen +127.0.0.1 localhost +127.0.1.1 latex +::1 localhost ip6-localhost ip6-loopback +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters + +192.168.0.10 rechner rechner.loc www.rechner.loc +\end{verbatim} + diff --git a/linux/dateien/inittab.tex b/linux/dateien/inittab.tex new file mode 100644 index 0000000..654109d --- /dev/null +++ b/linux/dateien/inittab.tex @@ -0,0 +1,163 @@ +% master: inittab.tex +% Befehle v0.3 +% 2011-05-26 (Rx) + +\section{/etc/inittab} +%--------------------- + +Nach dem Kernelstart wird versucht das Programm init zu starten. Dabei werden +nacheinander die Verzeichnisse /etc/, /bin/ und /sbin/ nach init abgesucht. Kann +init /dev/console nicht öffnen wird im Einzelbenutzerbetrieb (Single User Mode) +gestartet. Beim LILO-Bootpromt kann init=/bin/sh angegeben werden um die Shell +anstelle von init zu laden. Das Programm init liest die Datei /etc/inittab und +wird durch die Datei das System konfigurieren. /etc/inittab wird vom Kommando +init Zeile für Zeile abgearbeitet. In jeder Zeile seht jeweils eine Anweisung. +Jede Zeile wird durch Doppelpunkte unterteilt. Der Aufbau sieht wie folgt aus: + +\begin{verbatim} +Terminal:Termcapeintrag:Gettykommando Simpleinit von Peter Orbaek mit + Erweiterung von Werner Almesberger +\end{verbatim} + +\subsection{Terminal} +%-------------------- + +Bezeichnet das Terminal (tty1, tty2, ttyS0 ...) + +\subsection{Termcapeintrag} +%-------------------------- +Wird in die TERM Variable der Shell geschrieben und sollte mit einem Eintrag in +der Datei /etc/termcap übereinstimmen. + +\subsection{Gettykommando} +%------------------------- +Pfad und Optionen zum Getty-Kommando + +\# Beispiel einer inittab für simpleinit +\# Format: Terminal:Termcapeintrag:Gettykommando +tty1:linux:/sbin/getty 9600 tty1 +tty2:console:/sbin/getty 9600 tty2 +tty5:con100x40:/sbin/getty 9600 tty5 +ttyS1:vt102:/sbin/getty 9600 ttyS1 + +\begin{verbatim} +Kürzel:Arbeitsstufen:Modus:Kommando Sysvinit von Mike Jagdis und + Miquel van Smoorenburg +\end{verbatim} + +\subsection{Kürzel} +%------------------- +Jede Aktion muß mit einem eindeutigen (maximal vierstelligen, a.out oder +Libraries\textless5.2.18 maximal zweistelligen) Kürzel versehen werden, das bei +Einträgen in Logfiles und bei Fehlermeldungen ausgegeben wird. + +\subsection{Arbeitsstufen} +%------------------------- +Es werden hier die Arbeitsstufen (Runlevel) eingetragen. Zulässige +Arbeitsstufen sind 0 - 9 und s. Es können auch die Pseudoarbeitsstufen(ondemand) +a, b, c und q für einmalig auszuführende Kommandos verwendet werden. Es wird +ohne Groß und Kleinschreibung bezeichnet. In einer Zeile können bis zu 11 +Runlevel zugeordnet werden. Wenn das Feld für den Runlevel leer ist, wird die +Aktion bei jedem Moduswechsel ausgeführt. +\begin{verbatim} +0 Systemhalt +S Einzelbenutzerbetrieb (Single User Mode) +1 Einzelbenutzerbetrieb (Single User Mode) +2 Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk + (Local multiuser without remote network) +3 Voller Mehrbenutzerbetrieb mit Netzwerk + (Full multiuser with network) +4 Frei (Not used) +5 Voller Mehrbenutzerbetrieb mit Netzwerk und KDM, GDM oder XDM + (Full multiuser with network and xdm) +6 Systemneustart (System reboot) +Q Quit zum Neueinlesen der inittab +\end{verbatim} + +\subsection{Modus} +%----------------- +Gibt an wie das Kommando im letzten Feld ausgeführt werden soll. +\begin{verbatim} +initdefault Bestimmt den Runlevel beim Systemstart. +sysinit Wird einmal nach dem Kernelstart ausgeführt. +bootwait Wird einmal ausgefürt, wenn in einem Mehrbenutzerbetrieb + gestartet wird und wartet bis das Kommando beendet ist. +boot Wie bootwait nur das nicht gewartet wird. +respawn Überwacht das laufende Kommando und startet es neu, wenn es + beendet wurde. Wird es in zwei Minuten 10 mal neu gestartet, + setzt init das Kommando für fünf Minuten aus. +ondemand Wie respawn, um mit Buchstaben gekennzeichnete Level einzelne + Kommandos mit telinit zu starten. +wait Wartet bis das Kommando beendet ist. +once Wird einmal ausgefürt, es wird nicht gewartet. +off Wenn das Kommando läuft, wird es angehalten. +ctrlaltdel Kommando (Signal SIGINT, [Strg]+[Alt]+[Entf]) z.B. Rebooten des + Systems. +kbrequest Kommando wird ausgeführt, wenn das Signal SIGWINCH + [Alt]+[Pfeil hoch] von der Tastatur kommt. +powerwait Wenn init sich in einem passenden Runlevel befindet, das + Signal SIGPWR erhält oder über Pipeline /dev/initctrl den + entsprechenden Befehl erhält und wartet auf Beendigung des + Kommandows. Das Signal kann mit Hilfe eines Dämons von einer USV + erzeugt werden. +powerfail Wie powerwait wartet jedoch nicht. +powerfailnow Wie powerwait es muß die Datei /etc/powerstatus zusätzlich das + Wort Low enthalten. So kann das APM eines Notebooks mit Hilfe + eines Dämons das System herrunterfahren. +powerokwait Wie powerwait es muß die Datei /etc/powerstatus zusätzlich das + Wort OK enthalten. Auf diese weise kann das System in den + normalen Zustand gebracht werden, nachdem die Stromversorgung + wieder hergestellt ist. +\end{verbatim} + +\subsection{Kommando} +%-------------------- +Pfad und Optionen zum Kommando, wird durch die Bourne-Again-Shell abgearbeitet. +Bei jedem Kommandostart wird versucht die Datei /etc/initscript abzuarbeiten, +die dann das Kommando startet. + +\begin{verbatim} +# Beispiel einer inittab für sysvinit +# Format: Kürzel:Arbeitsstufen:Modus:Kommando + +# Bestimmt den Runlevel beim Systemstart +id:5:initdefault: + +# Erstes Script, wenn nicht im Notfallsystem (-b) gestartet wird. +si::bootwait:/etc/init.d/boot + +# /etc/init.d/rc übernimmt die Runlevel Behandlung +l0:0:wait:/etc/init.d/rc 0 +l1:1:wait:/etc/init.d/rc 1 +l2:2:wait:/etc/init.d/rc 2 +l3:3:wait:/etc/init.d/rc 3 +#l4:4:wait:/etc/init.d/rc 4 +l5:5:wait:/etc/init.d/rc 5 +l6:6:wait:/etc/init.d/rc 6 + +# Bestimmt den Einzelbenutzerbetrieb (Single User Mode) +ls:S:wait:/etc/init.d/rc S +~~:S:respawn:/sbin/sulogin + +# Aktion bei Signal SIGINT, [Strg]+[Alt]+[Entf] +ca::ctrlaltdel:/sbin/shutdown -r -t 4 now + +# Aktion bei Signal SIGWINCH [Alt]+[Pfeil hoch] +kb::kbrequest:/bin/echo "'Keyboard Request -- edit /etc/inittab to let this work."' + +# Aktion bei Stormausfall und Wiederherstellung +pf::powerwait:/etc/init.d/powerfail start +pn::powerfailnow:/etc/init.d/powerfail now +#pn::powerfail:/etc/init.d/powerfail now +po::powerokwait:/etc/init.d/powerfail stop + +# getty-Programme für die normalen Runlevels +1:2345:respawn:/sbin/mingetty --noclear tty1 +2:2345:respawn:/sbin/mingetty tty2 +3:2345:respawn:/sbin/mingetty tty3 +4:2345:respawn:/sbin/mingetty tty4 +5:2345:respawn:/sbin/mingetty tty5 +6:2345:respawn:/sbin/mingetty tty6 +#S0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt102 +\end{verbatim} + diff --git a/linux/dateien/passwd.tex b/linux/dateien/passwd.tex new file mode 100644 index 0000000..06a5151 --- /dev/null +++ b/linux/dateien/passwd.tex @@ -0,0 +1,22 @@ +% master: inittab.tex +% Befehle v0.4 +% 2022-05-10 (Rx) + +\section{/etc/passwd} +%-------------------- + +\index{passwd} +\begin{verbatim} +#Benutzername:Paßwort:Benutzernummer:Gruppennummer:GCOS:Heimat:Shell +root:x:0:0:root:/root:/bin/bash +bin:x:1:1:bin:/bin:/bin/bash +daemon:x:2:2:daemon:/sbin:/bin/bash +lp:x:4:7:lp daemon:/var/spool/lpd:/bin/bash +games:x:12:100::/var/games:/bin/bash +man:x:13:2::/var/cache/man:/bin/bash +ftp:x:40:2:ftp account:/usr/local/ftp:/bin/bash +nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash +higi:x:500:100:Higi:/home/higi:/bin/bash +gast:x:501:100:Gast:/home/gast:/bin/bash +\end{verbatim} + diff --git a/linux/linux.tex b/linux/linux.tex new file mode 100644 index 0000000..5aa5dfc --- /dev/null +++ b/linux/linux.tex @@ -0,0 +1,10 @@ +% master: linux.tex +% Befehle v0.7 +% 2025-01-29 (rX) + +\part{Linux} +\input{linux/linux/linux} +\input{linux/befehle/befehle} +\input{linux/dateien/dateien} +\input{linux/shells/shells} + diff --git a/linux/linux/kernel_und_module.tex b/linux/linux/kernel_und_module.tex new file mode 100644 index 0000000..f283525 --- /dev/null +++ b/linux/linux/kernel_und_module.tex @@ -0,0 +1,88 @@ +% master: kernel_und_module.tex +% Kernel und Module v0.3 +% 2022-05-09 (Rx) + +\section{Kernel und Module} +%-------------------------- +\begin{verbatim} +http://www.kernel.org/ http-Adresse für den Kernel und Kernel-Patches +http://www.de.kernel.org/pub/linux/kernel/ Spiegel für den Kernel +\end{verbatim} + +\subsection{Kernel 2.4} +%---------------------- +\index{bzip2}\index{gzip}\index{zcat}\index{make} +\begin{verbatim} +tar xvfj kernel.tar.bz2 entpackt den Kernel +tar xvfz kernel.tar.gz entpackt den Kernel +cd kernel Verzeichnis wechseln +bzip2 -dc ../patch-2.x.xx.bz2 | patch -p1 Kernel patchen +gzip -dc ../patch-2.x.xx.gz | patch -p1 Kernel patchen +zcat /proc/config.gz > /usr/src/linux/.config die aktuelle Konfiguration des + laufenden Kernels auslesen +make menuconfig Kernelkonfiguration im Textmodus +make dep aktualisiert die Abhängigkeiten +make clean löscht die temporären Dateien und Ausgabedateien +make zImage übersetzt und komprimiert den Kernel +make bzImage übersetzt und komprimiert den gossen Kernel +make dep clean zImage aktualisiert,löscht und übersetzt +make modules übersetzt Module +make modules_install installiert Module +make zlilo installiert den Kernel und den Boot-Loader LILO +make bzlilo installiert den gossen Kernel und + den Boot-Loader LILO +make zdisk erzeugt eine Bootdiskette mit dem neuen Kernel +make mrproper löscht alle erzeugten Dateien, + auch die Konfiguration +\end{verbatim} + +\subsection{Kernel 2.6 (Debian 4.0 etch)} +%---------------------------------------- +\index{wget}\index{gpg}\index{make-kpkg}\index{fakeroot}\index{dpkg}\index{uname}\index{dmesg}\index{insmod}\index{lsmod}\index{rmmod} +\begin{verbatim} +sudo apt-get update Paket-Datenbank aktualisieren +sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 \ + build-essential benötigte Pakete installieren +cd /usr/src in das Verzeichnis zu den Quell-Paketen wechseln +wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2 + den aktuellen Kernel downloaden +wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2.sign + die dazugehörige Signatur downloaden +gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0x517D0F0E + Public-Key vom Key-Server holen +gpg --verify linux-2.6.22.1.tar.bz2.sign + Kernel-Signatur überprüfen +tar xvfj linux-2.6.22.1.tar.bz2 Kernel entpacken +ln -s linux-2.6.22.1 linux Soft-Link zu den Kernel-Quellen anlegen +cd /usr/src/linux zu den aktuellen Kernel-Quellen wechseln +bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run + Aktualisieren prüfen +bzip2 -dc /usr/src/patch.bz2 | patch -p1 + Kernel-Quellen aktualisieren wenn nötig +make clean && make mrproper Kernel säubern und korigieren +cp /boot/config-`uname -r` ./.config + laufende Konfiguration holen +make menuconfig Konfigurations-Programm starten + Load an Alternate Configuration File + laufende Konfiguration laden und Kernel + konfigurieren +make-kpkg clean +fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image \ + kernel_headers Kernel-Pakete und Kernel-Headers herstellen +sudo dpkg -i linux-image-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb + den neuen Kernel installieren +sudo dpkg -i linux-headers-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb + die neuen Header installieren +sudo shutdown -r now Neustart um den Kernel zu testen + + +uname -a feststellen welcher Kernel gestartet ist + +dmesg Kernelmeldungen vom letzten Start anzeigen + +insmod Modul Modul laden +modprobe Modul Modul eigenständig laden +lsmod geladene Module anzeigen lassen +rmmod Modul Modul entfernen +\end{verbatim} + diff --git a/linux/linux/linux.tex b/linux/linux/linux.tex new file mode 100644 index 0000000..d8d693c --- /dev/null +++ b/linux/linux/linux.tex @@ -0,0 +1,12 @@ +% master: linux.tex +% Befehle v0.1 +% 2025-01-29 (rX) + +\chapter{Linux} + +% Seiten +%------- +%\clearpage +\input{linux/linux/was_ist_linux} +\input{linux/linux/kernel_und_module} + diff --git a/linux/linux/was_ist_linux.tex b/linux/linux/was_ist_linux.tex new file mode 100644 index 0000000..8744919 --- /dev/null +++ b/linux/linux/was_ist_linux.tex @@ -0,0 +1,9 @@ +% master: was_ist_linux.tex +% Linux v0.1 +% 2025-01-29 (rX) + +\section{Was ist Linux?} +%----------------------------- +\index{Kernel} +Der Kernel, eine Schnittstelle für die Software zur Hardware. + diff --git a/linux/shells/bash_rechnen.tex b/linux/shells/bash_rechnen.tex new file mode 100644 index 0000000..c22773f --- /dev/null +++ b/linux/shells/bash_rechnen.tex @@ -0,0 +1,16 @@ +% master: bash_rechnen.tex +% Bash rechnen v0.1 +% 2010-08-06 (Rx) + +\section{Bash rechnen} +%----------------i---- + +\begin{verbatim} +echo $((1+1)) gibt 1 aus + +a=4 +b=5 +echo $((a*b)) gibt 20 aus +echo $((a-b)) gibt -1 aus +\end{verbatim} + diff --git a/linux/shells/die_c-shell.tex b/linux/shells/die_c-shell.tex new file mode 100644 index 0000000..c73c8d6 --- /dev/null +++ b/linux/shells/die_c-shell.tex @@ -0,0 +1,34 @@ +% master: die_c-shell.tex +% Die C-Shell v0.3 +% 2022-05-09 (Rx) + +\section{Die C-Shell} +%-------------------- + +\index{stdin} +\begin{verbatim} +~ Home-Verzeichnis +~user Home-Verzeichnis des Benutzers user +* beliebige Zeichen-kette +? genau Zeichen +{a,b,c} a oder b oder c +[aceg] genau eines der Zeichen +[a-z] a bis z +[!adfh] kein a, d, f, h +´´ maskiert alles +\ maskiert das nachfolgende Zeichen +"" maskiert $ ` \ nicht +> Datei Ausgabe in die Datei, stdout +>& Datei Ausgabe in die Datei, stdout und stderr +>>Datei Unlenkung in die Datei, stdout umgelenkt +< Datei von der Datei lesen, anstatt von stdin zu lesen +set noclobber Überschreiben einer vorhandenen Datei verhindern +| Ausgabekanal eines Kommandos direkt in den Eingabekanal eines + anderen Kommandos leiten +#!Programm so beginnt eine Datei die vom Progamm ausgeführt wird +$HISTSIZE History-Größe +$LS_OPTIONS ls Funktionen +$PATH Pfad zu den Programmdateien +Programm & Programm im eigenem Prozess starten +\end{verbatim} + diff --git a/linux/shells/die_shells.tex b/linux/shells/die_shells.tex new file mode 100644 index 0000000..b8d8633 --- /dev/null +++ b/linux/shells/die_shells.tex @@ -0,0 +1,28 @@ +% master: die_shells.tex +% Befehle v0.3 +% 2022-05-10 (Rx) + +\section{Die Shells} +%------------------- + +Eine Shell ist ein Kommando-Interpreter, ein Programm das durch ein anderes +ersetzt werden kann. Es zerlegt die Kommandozeile, führt Sonderzeichen durch +und reicht das Kommando an UNIX weiter. +Ohne Shell gibt es keinen Zugang zum Betriebssystem. + +\index{sh}\index{ksh}\index{csh}\index{bash}\index{tcsh} +\index{export}\index{locate}\index{setenv}\index{unset}\index{unsetenv} +\begin{verbatim} +/bin/sh Bourne-Shell zum programmieren +/bin/ksh Korn-Shell Mischung aus C-und Bourne-Shell +/bin/csh C-Shell zum interaktiven Arbeiten +/bin/bash Bourne-Again-Shell +/bin/tcsh TC-Shell + +export Setzt Umgebungsvariablen, Variablen exportieren +locate Findet Dateien anhand einer Datenbank +setenv Setzt Umgebungsvariablen unter Nicht-Bash Shells, z.B. csh +unset Variable löschen in ksh, bsh und bash +unsetenv Variable löschen in csh +\end{verbatim} + diff --git a/linux/shells/die_start-scripts.tex b/linux/shells/die_start-scripts.tex new file mode 100644 index 0000000..7270f08 --- /dev/null +++ b/linux/shells/die_start-scripts.tex @@ -0,0 +1,11 @@ +% master: die_start-scripts.tex +% Befehle v0.3 +% 2022-05-10 (Rx) + +\section{Die Start-Scripts} +%-------------------------- + +\begin{verbatim} +~/.bashrc bash +\end{verbatim} + diff --git a/linux/shells/shells.tex b/linux/shells/shells.tex new file mode 100644 index 0000000..dc985f1 --- /dev/null +++ b/linux/shells/shells.tex @@ -0,0 +1,15 @@ +% master: shells.tex +% Die Shells v0.3 +% 2010-08-06 (Rx) + +\chapter{Die Shells} + +% Seiten +%------- +%\clearpage +\input{linux/shells/die_shells} +\input{linux/shells/die_start-scripts} +\input{linux/shells/tastenkombinationen} +\input{linux/shells/die_c-shell} +\input{linux/shells/bash_rechnen} + diff --git a/linux/shells/tastenkombinationen.tex b/linux/shells/tastenkombinationen.tex new file mode 100644 index 0000000..25f447b --- /dev/null +++ b/linux/shells/tastenkombinationen.tex @@ -0,0 +1,42 @@ +% master: tastenkombinationen.tex +% Befehle v0.2 +% 2011-05-27 (Rx) + +\section{Tastenkombinationen} +%---------------------------- + +\begin{verbatim} +[Strg]+[l] Bildschirm löschen bash und csh +[Strg]+[a] oder [Pos 1] Zeilenanfang bash und csh +[Strg]+[e] oder [Ende] Zeilenende bash und csh +[Alt]+[f] Wort vorwäts bash und csh +[Alt]+[b] Wort rückwärts bash und csh +[Strg]+[c] Befehlseingabe verwerfen alle Shells +[Strg]+[c] Programm abbrechen +[Pfeil rechts] und [Pfeil links] Cursor bewegen bash und csh +[Pfeil hoch] und [Pfeil runter] History-Scrolling bash und csh +[Strg]+[r] in der History suchen bash +[Tab] Komplettierung bash und csh +[Strg]+[d] beendet die Shell alle Shells +[Strg]+[d] oder [Entf] ein Zeichen löschen +[Strg]+[h] oder [Backspace] Zeichen rückwärts löschen +[Strg]+[k] Zeile ab Cursor löschen +[Alt Gr]+[Umschalt] zwei folgende Zeichen vereinen + ae -> AE, co -> \texteuro +[Strg]+[z] im Vordergrund laufendes Programm anhalten + Fortsetzung mit fg +[Umschalt]+[Bild hoch] und vorherige Textausgabe alle Shells +[Umschalt]+[Bild runter] zurückholen +[Alt]+[F1] bis [F6] Umschalten zwischen Textkonsolen alle Shells +[AltGr]+[Fn] Umschalten zwischen den Textkonsolen n+12 +[Alt]+[Pfeil links oder rechts] um durch die benutzten Konsolen zu stöbern +[Strg]+[Alt]+[F1] bis Umschalten zu Textkonsolen alle Shells +[Strg]+[Alt]+[F6] aus X11 heraus +[Strg]+[Alt]+[F7] Umschalten zu X11 aus Textkonsole alle Shells + bei Caldera 2.2 [Alt]+[F8] +[Strg]+[Alt]+[<--] X-Server sofort beenden +[Strg]+[Alt]+[+] verschiedene Auflösungen im laufenden Betrieb +[Strg]+[Alt]+[-] wechseln +[Strg]+[Alt]+[Entf] Signal SIGINT z.B. reboot Shell +\end{verbatim} + diff --git a/linux_ind.html b/linux_ind.html new file mode 100644 index 0000000..5b55565 --- /dev/null +++ b/linux_ind.html @@ -0,0 +1,171 @@ + + + + + +Outline
Page 1
+Page 2
+Page 3
+Page 4
+Page 5
+Page 6
+Page 7
+Page 8
+Page 9
+Page 10
+Page 11
+Page 12
+Page 13
+Page 14
+Page 15
+Page 16
+Page 17
+Page 18
+Page 19
+Page 20
+Page 21
+Page 22
+Page 23
+Page 24
+Page 25
+Page 26
+Page 27
+Page 28
+Page 29
+Page 30
+Page 31
+Page 32
+Page 33
+Page 34
+Page 35
+Page 36
+Page 37
+Page 38
+Page 39
+Page 40
+Page 41
+Page 42
+Page 43
+Page 44
+Page 45
+Page 46
+Page 47
+Page 48
+Page 49
+Page 50
+Page 51
+Page 52
+Page 53
+Page 54
+Page 55
+Page 56
+Page 57
+Page 58
+Page 59
+Page 60
+Page 61
+Page 62
+Page 63
+Page 64
+Page 65
+Page 66
+Page 67
+Page 68
+Page 69
+Page 70
+Page 71
+Page 72
+Page 73
+Page 74
+Page 75
+Page 76
+Page 77
+Page 78
+Page 79
+Page 80
+Page 81
+Page 82
+Page 83
+Page 84
+Page 85
+Page 86
+Page 87
+Page 88
+Page 89
+Page 90
+Page 91
+Page 92
+Page 93
+Page 94
+Page 95
+Page 96
+Page 97
+Page 98
+Page 99
+Page 100
+Page 101
+Page 102
+Page 103
+Page 104
+Page 105
+Page 106
+Page 107
+Page 108
+Page 109
+Page 110
+Page 111
+Page 112
+Page 113
+Page 114
+Page 115
+Page 116
+Page 117
+Page 118
+Page 119
+Page 120
+Page 121
+Page 122
+Page 123
+Page 124
+Page 125
+Page 126
+Page 127
+Page 128
+Page 129
+Page 130
+Page 131
+Page 132
+Page 133
+Page 134
+Page 135
+Page 136
+Page 137
+Page 138
+Page 139
+Page 140
+Page 141
+Page 142
+Page 143
+Page 144
+Page 145
+Page 146
+Page 147
+Page 148
+Page 149
+Page 150
+Page 151
+Page 152
+Page 153
+Page 154
+Page 155
+Page 156
+Page 157
+Page 158
+Page 159
+Page 160
+Page 161
+Page 162
+Page 163
+Page 164
+ + diff --git a/linuxs.html b/linuxs.html new file mode 100644 index 0000000..e1e72a1 --- /dev/null +++ b/linuxs.html @@ -0,0 +1,8467 @@ + + + + + + +linux v0.1.52
+tresix69@freenet.de
+15. Februar 2025
+betreut durch Thomas resiX
+
+
+1. Vorwort
+Habe versucht alles so kurz wie möglich aber dennoch ausführlich zu Beschreiben und
+wie immer aus verschiedenen Anleitugen abgeschrieben ;-)
+3
+
+
+Inhaltsverzeichnis
+1. Vorwort
+3
+Inhaltsverzeichnis
+5
+I.
+Linux
+15
+2. Linux
+17
+2.1.
+Was ist Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
+2.2.
+Kernel und Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
+2.2.1.
+Kernel 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
+2.2.2.
+Kernel 2.6 (Debian 4.0 etch) . . . . . . . . . . . . . . . . . . . 17
+3. Befehle
+19
+3.1.
+Standartein-aus-gabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
+3.2.
+Anmelden und Abmelden . . . . . . . . . . . . . . . . . . . . . . . . . 19
+3.3.
+Anhalten des Systems und Booten . . . . . . . . . . . . . . . . . . . . 19
+3.4.
+Die Runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
+3.4.1.
+Upstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
+3.5.
+SuSE-Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
+3.6.
+Zur Orientierung auf einem UNIX-Rechner . . . . . . . . . . . . . . . . 20
+3.7.
+Datum und Uhrzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
+3.8.
+Auflisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
+3.9.
+Dateinamen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
+3.10. Dateiendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
+3.11. Infos über Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
+3.12. Arbeiten(Verwüstungen) im und am Filesystem . . . . . . . . . . . . . 23
+3.13. Kopieren und Verschieben . . . . . . . . . . . . . . . . . . . . . . . . . 23
+3.14. Löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
+3.15. Ausgeben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
+3.16. Der Texteditor vi/vim . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
+3.17. Suchen nach Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
+3.18. Suchen in Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
+3.19. Vergleichen von Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . 25
+3.20. Drucken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
+3.21. File-Inhalt bearbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
+3.22. TAR (tape archiver) verwaltet Dateiarchive . . . . . . . . . . . . . . . 25
+3.22.1. Packen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
+5
+
+Inhaltsverzeichnis
+3.22.2. Entpacken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
+3.23. Disketten/Festplatten . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
+3.23.1. Dateisystem verschlüsseln . . . . . . . . . . . . . . . . . . . . . 28
+3.24. Zugriffsrechte/Eigentümer/Gruppe . . . . . . . . . . . . . . . . . . . . 28
+3.25. Prozessbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
+3.26. Re-install Grub with Live CD . . . . . . . . . . . . . . . . . . . . . . . 31
+3.26.1. Chroot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
+3.26.2. Grub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
+3.27. Software installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
+3.27.1. rpm-Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
+3.27.2. deb-Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
+3.27.3. Portage Gentoo . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
+3.27.4. Quelltexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
+3.27.5. Hilfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
+3.28. Im Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
+3.29. SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
+3.29.1. Generierung eines DSA Schlüsselpaares . . . . . . . . . . . . . 35
+3.29.2. Public-Key auf dem Zielrechner hinzufügen . . . . . . . . . . . 35
+3.29.3. Private-Key auf dem Qellrechner . . . . . . . . . . . . . . . . . 35
+3.29.4. Login nur mit SSH-Keys erlauben . . . . . . . . . . . . . . . . 36
+3.30. GnuPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
+3.30.1. Erzeugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
+3.30.2. Hochladen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
+3.30.3. Löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
+3.30.4. Holen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
+3.30.5. Signatur erzeugen und prüfen . . . . . . . . . . . . . . . . . . . 37
+3.30.6. Verschlüsseln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
+3.30.7. Entschlüsseln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
+3.30.8. Schlüsselverwaltung . . . . . . . . . . . . . . . . . . . . . . . . 38
+3.30.9. Anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
+3.30.10. Exportieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
+3.31. X11 - Grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
+3.31.1. Bildschirmschoner . . . . . . . . . . . . . . . . . . . . . . . . . 39
+3.31.2. X11 ohne Maus . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
+4. Verzeichnisse und Dateien
+41
+4.1.
+Dateibaum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
+4.2.
+/etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
+4.3.
+/dev/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
+4.4.
+Dateisystemtypen unter Linux . . . . . . . . . . . . . . . . . . . . . . . 49
+4.5.
+/etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
+4.6.
+/etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
+4.7.
+/etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
+4.7.1.
+Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
+4.7.2.
+Termcapeintrag . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
+6
+
+Inhaltsverzeichnis
+4.7.3.
+Gettykommando . . . . . . . . . . . . . . . . . . . . . . . . . . 51
+4.7.4.
+Kürzel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
+4.7.5.
+Arbeitsstufen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
+4.7.6.
+Modus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
+4.7.7.
+Kommando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
+4.8.
+/etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
+5. Die Shells
+55
+5.1.
+Die Shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
+5.2.
+Die Start-Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
+5.3.
+Tastenkombinationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
+5.4.
+Die C-Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
+5.5.
+Bash rechnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
+II. Programme
+59
+6. Der Texteditor vi/vim
+61
+6.1.
+Aufruf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
+6.2.
+Eingabemodus (input mode) . . . . . . . . . . . . . . . . . . . . . . . . 61
+6.3.
+Befehlsmodus (visual mode) . . . . . . . . . . . . . . . . . . . . . . . . 61
+6.3.1.
+Eingeben: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
+6.3.2.
+Überschreiben: . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
+6.3.3.
+Bewegen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
+6.3.4.
+Löschen und Eingeben: . . . . . . . . . . . . . . . . . . . . . . 63
+6.3.5.
+Löschen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
+6.3.6.
+Aufheben: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
+6.3.7.
+Verschieben: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
+6.3.8.
+Zusammenfügen: . . . . . . . . . . . . . . . . . . . . . . . . . . 64
+6.3.9.
+Markieren: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
+6.3.10. Kopieren: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
+6.3.11. Einfügen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
+6.3.12. Suchen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
+6.3.13. Wiederholen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
+6.3.14. Sonstige Kommandos: . . . . . . . . . . . . . . . . . . . . . . . 65
+6.4.
+Kommandomodus (colon mode) . . . . . . . . . . . . . . . . . . . . . . 65
+6.4.1.
+Texteingabe Kommandos . . . . . . . . . . . . . . . . . . . . . 65
+7. LaTeX
+67
+7.1.
+LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
+III. Linux im Netzwerk
+69
+8. Netzwerk
+71
+7
+
+Inhaltsverzeichnis
+9. Apache
+73
+9.1.
+Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
+9.2.
+Kompilieren und Installieren . . . . . . . . . . . . . . . . . . . . . . . . 73
+9.2.1.
+Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
+9.2.2.
+Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
+9.2.3.
+OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
+9.2.4.
+Apache 1.3 und SSL . . . . . . . . . . . . . . . . . . . . . . . . 74
+9.2.5.
+Apache2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
+9.2.6.
+Testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
+9.2.7.
+Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
+9.2.8.
+PureFTPd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
+9.3.
+Apache starten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
+9.3.1.
+Apache starten . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
+9.3.2.
+Wie der Apache startet . . . . . . . . . . . . . . . . . . . . . . 78
+9.3.3.
+Fehler während des Hochfahrens . . . . . . . . . . . . . . . . . 79
+9.3.4.
+Automatisch starten und beenden . . . . . . . . . . . . . . . . 79
+9.3.5.
+Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . 79
+9.4.
+Beenden und Neustarten . . . . . . . . . . . . . . . . . . . . . . . . . . 80
+9.4.1.
+Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
+9.4.2.
+Beenden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
+9.4.3.
+Unterbrechungsfreier Neustart . . . . . . . . . . . . . . . . . . 80
+9.4.4.
+Neustarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
+9.4.5.
+Anhang: Syntax überprüfen . . . . . . . . . . . . . . . . . . . . 81
+9.5.
+Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
+9.5.1.
+Zu den Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
+9.6.
+Benutzerhandbuch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
+9.6.1.
+httpd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
+9.6.2.
+Access Control List File (.htaccess) . . . . . . . . . . . . . . . . 85
+9.6.3.
+Gruppendatei (.htgroup) . . . . . . . . . . . . . . . . . . . . . . 86
+9.6.4.
+Passwort-Datei (.htpasswd) . . . . . . . . . . . . . . . . . . . . 86
+9.6.5.
+Erstellen eines SSL-Zertifikats . . . . . . . . . . . . . . . . . . . 86
+9.6.6.
+LinkIcon (favicon.ico) . . . . . . . . . . . . . . . . . . . . . . . 86
+10. MySQL
+89
+10.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
+10.2. Kompilieren und Installieren . . . . . . . . . . . . . . . . . . . . . . . . 89
+10.2.1. Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
+10.2.2. Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
+10.2.3. MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
+10.2.4. MySQL Testen . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
+10.2.5. phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
+11. PHP
+93
+11.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
+8
+
+Inhaltsverzeichnis
+11.2. Kompilieren und Installieren . . . . . . . . . . . . . . . . . . . . . . . . 93
+11.2.1. Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
+11.2.2. Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
+11.2.3. Libraries für Zusatzfunktionen . . . . . . . . . . . . . . . . . . 94
+11.2.4. PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
+11.3. Referenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
+11.3.1. Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
+11.3.2. Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
+12. Squid
+97
+12.1. Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
+12.2. Einfacher Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
+12.3. Proxy Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
+12.4. Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
+12.5. Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
+12.6. Protokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
+12.6.1. Client-Kommunikation . . . . . . . . . . . . . . . . . . . . . . . 98
+12.6.2. Kommunikation zwischen Proxy-Cache-Servern . . . . . . . . . 98
+12.7. Systemvoraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
+12.8. SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
+12.9. Automatische Starten von Squit . . . . . . . . . . . . . . . . . . . . . . 99
+12.10. Squiddateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
+12.11. squid.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
+IV. Programmieren
+103
+13. Bash
+105
+13.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
+13.2. Referenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
+13.3. Steuer und Sonderzeichen der Bash . . . . . . . . . . . . . . . . . . . . 106
+14. git
+107
+14.1. Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
+14.2. Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
+14.3. Konfigurationen über Umgebungsvariablen . . . . . . . . . . . . . . . . 108
+14.4. Der Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
+14.5. Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
+14.6. Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
+14.7. Dateien entfernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
+14.8. Dateien verschieben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
+14.9. Änderung an einer Datei rückgängig machen . . . . . . . . . . . . . . . 109
+14.10. Dateien ignorieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
+14.11. Mit externen Repositorys arbeiten . . . . . . . . . . . . . . . . . . . . 110
+14.12. Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
+9
+
+Inhaltsverzeichnis
+14.13. Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
+14.14. Git Aliase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
+14.15. Git auf einen Server bekommen . . . . . . . . . . . . . . . . . . . . . . 112
+14.16. Git auf dem SSH-Server einrichten . . . . . . . . . . . . . . . . . . . . 112
+14.17. Öffentlicher Webserver-Zugang . . . . . . . . . . . . . . . . . . . . . . 113
+14.18. Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
+15. C/C++
+117
+15.1. Befehle und Grundelemente . . . . . . . . . . . . . . . . . . . . . . . . 117
+15.2. Steuersequenzen für ANSI-Bildschirme - Innerhalb von Texten . . . . . 117
+15.3. stdio.h -> Standard Ein- und Ausgabe . . . . . . . . . . . . . . . . . . 118
+15.4. ctype.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
+15.5. string.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
+15.6. Kontrollstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
+15.7. ASCII(American Standart Code for Information Interchange)-Tabelle . 121
+15.7.1. Unterteilung der Steuerzeichen: . . . . . . . . . . . . . . . . . . 122
+15.7.2. Bedeutung der Steuerzeichen: . . . . . . . . . . . . . . . . . . . 122
+15.8. Operatoren und Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . 123
+15.8.1. Arithmetische Operatoren: . . . . . . . . . . . . . . . . . . . . 123
+15.8.2. Vergleichsoperatoren: . . . . . . . . . . . . . . . . . . . . . . . 123
+15.8.3. Logische Operatoren: . . . . . . . . . . . . . . . . . . . . . . . . 123
+15.8.4. Zuweisungsoperatoren: . . . . . . . . . . . . . . . . . . . . . . . 124
+15.8.5. Post- und Prefix- Operatoren: . . . . . . . . . . . . . . . . . . . 124
+15.8.6. Zeigeroperatoren: . . . . . . . . . . . . . . . . . . . . . . . . . . 124
+15.8.7. Diverse Kategorien: . . . . . . . . . . . . . . . . . . . . . . . . 124
+15.9. Inkrementieren und Dekrementieren . . . . . . . . . . . . . . . . . . . 125
+15.10. Wertebereich und Genauigkeit elementarer Datentypen . . . . . . . . . 125
+15.11. Variableninitialisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
+15.12. Konstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
+15.12.1. Ganzzahlkonstanten . . . . . . . . . . . . . . . . . . . . . . . . 126
+15.12.2. Gleitkommakonstanten . . . . . . . . . . . . . . . . . . . . . . 126
+15.12.3. Zeichen- und Zeichenkettenkonstanten . . . . . . . . . . . . . . 126
+16. Tcl/Tk
+127
+17. Perl
+129
+18. CGI+Perl
+131
+18.1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
+18.2. Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
+18.2.1. Texte und Strings . . . . . . . . . . . . . . . . . . . . . . . . . 131
+18.2.2. Rechenoperationen . . . . . . . . . . . . . . . . . . . . . . . . . 131
+18.2.3. Arrays (Listen) . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
+18.2.4. String- und Zahlenvergleichsoperratoren . . . . . . . . . . . . . 132
+18.2.5. if-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
+10
+
+Inhaltsverzeichnis
+18.2.6. if-else-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . . 132
+18.2.7. if-elseif-Bedingung . . . . . . . . . . . . . . . . . . . . . . . . . 133
+18.3. Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
+18.3.1. String Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . 133
+18.3.2. Rechen Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . 133
+18.3.3. Array Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . 133
+19. Java
+135
+19.1. Funktion von Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
+19.2. Sprache und Syntax von Java . . . . . . . . . . . . . . . . . . . . . . . 135
+19.2.1. Kommentrare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
+19.2.2. Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
+19.2.3. Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
+19.3. Pakete und Verzeichnisstrukturen . . . . . . . . . . . . . . . . . . . . . 136
+19.3.1. Sichtbarkeit und Zugriffsrechte von Klassen und Methoden . . 136
+19.3.2. Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
+19.3.3. Konstruktoren und Destruktoren . . . . . . . . . . . . . . . . . 137
+19.3.4. Methoden überladen . . . . . . . . . . . . . . . . . . . . . . . . 137
+19.3.5. Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
+19.3.6. Vererbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
+19.3.7. Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
+19.4. Elementare Syntax von Java . . . . . . . . . . . . . . . . . . . . . . . . 138
+19.4.1. Operratoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
+19.4.2. Verknüpfungsoperatoren . . . . . . . . . . . . . . . . . . . . . . 138
+19.4.3. Inkrement-Operator . . . . . . . . . . . . . . . . . . . . . . . . 138
+19.4.4. Dekrement-Operator . . . . . . . . . . . . . . . . . . . . . . . . 139
+19.4.5. Arithmetische Zuweisungsoperatoren . . . . . . . . . . . . . . . 139
+19.4.6. Bedingungen und Entscheidungen . . . . . . . . . . . . . . . . 139
+19.4.7. if - else - Bedingungen . . . . . . . . . . . . . . . . . . . . . . . 139
+19.4.8. Verschachtelte Bedingungen . . . . . . . . . . . . . . . . . . . . 139
+19.4.9. Fallunterscheidung mit switch - case . . . . . . . . . . . . . . . 140
+19.5. Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
+19.5.1. Die while - Schleife . . . . . . . . . . . . . . . . . . . . . . . . . 140
+19.5.2. Die do - while - Schleife . . . . . . . . . . . . . . . . . . . . . . 140
+19.5.3. Die for - Schleife . . . . . . . . . . . . . . . . . . . . . . . . . . 140
+19.5.4. Schleifen mit break verlassen . . . . . . . . . . . . . . . . . . . 140
+19.5.5. Schleife mit continue wiederholen . . . . . . . . . . . . . . . . . 140
+19.6. Komplexe Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
+19.6.1. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
+19.7. Die Anweisung import . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
+19.8. Java eigene Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
+19.8.1. Die Klasse Math . . . . . . . . . . . . . . . . . . . . . . . . . . 141
+19.9. Die Klasse Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
+19.9.1. Die Klasse Object . . . . . . . . . . . . . . . . . . . . . . . . . 141
+19.10. Die Klasse Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
+11
+
+Inhaltsverzeichnis
+19.11. Die Klasse String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
+19.12. Die Klasse Stringbuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
+19.12.1. Die Klasse Stringbuffer . . . . . . . . . . . . . . . . . . . . . . 142
+19.13. Die Klasse System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
+19.14. Das Paket java.util . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
+19.14.1. Die Klasse Date . . . . . . . . . . . . . . . . . . . . . . . . . . 143
+19.14.2. Die Klasse Random . . . . . . . . . . . . . . . . . . . . . . . . 143
+19.14.3. Die Klasse Stack . . . . . . . . . . . . . . . . . . . . . . . . . . 143
+19.15. Ausnahmen (Exceptions) . . . . . . . . . . . . . . . . . . . . . . . . . . 143
+19.15.1. Eigene Ausnahme erzeugen (throw) . . . . . . . . . . . . . . . 144
+19.16. Multitasking mit Threads . . . . . . . . . . . . . . . . . . . . . . . . . 144
+19.16.1. Arbeiten mit Threads . . . . . . . . . . . . . . . . . . . . . . . 144
+19.17. Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
+19.17.1. Applets in eine Webseite einbinden . . . . . . . . . . . . . . . . 145
+19.17.2. Das erste Java Applet . . . . . . . . . . . . . . . . . . . . . . . 145
+19.17.3. Die Methoden eines Applets . . . . . . . . . . . . . . . . . . . . 145
+19.17.4. Ein Applet im Überblick . . . . . . . . . . . . . . . . . . . . . . 145
+19.17.5. Pakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
+19.17.6. Die Klasse Graphics . . . . . . . . . . . . . . . . . . . . . . . . 146
+19.17.7. Die Klasse Color . . . . . . . . . . . . . . . . . . . . . . . . . . 146
+19.17.8. Die Klasse Font . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
+19.17.9. Die Klasse Image . . . . . . . . . . . . . . . . . . . . . . . . . . 147
+19.17.10. Die Klasse Button . . . . . . . . . . . . . . . . . . . . . . . . . 147
+19.18. Eventhandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
+19.18.1. Mouse Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
+19.18.2. Action Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
+19.18.3. Parameter an ein Applet . . . . . . . . . . . . . . . . . . . . . . 148
+19.18.4. Weitere wichtige Pakete . . . . . . . . . . . . . . . . . . . . . . 149
+20. JavaScript
+151
+20.1. Einbindung von JavaScript . . . . . . . . . . . . . . . . . . . . . . . . 151
+20.1.1. Einbindung in den Head . . . . . . . . . . . . . . . . . . . . . . 151
+20.1.2. Einbindung in den Body . . . . . . . . . . . . . . . . . . . . . . 151
+20.1.3. Ausführen bei bestimmten Aktionen . . . . . . . . . . . . . . . 151
+20.2. Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
+20.3. Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
+20.3.1. Standardobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . 152
+20.3.2. String-Objekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
+20.3.3. Eigene Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
+20.3.4. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
+20.4. Mathematische Operationen . . . . . . . . . . . . . . . . . . . . . . . . 154
+20.5. Bedingte Ausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
+20.6. Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
+20.7. Event-Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
+20.8. Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
+12
+
+Inhaltsverzeichnis
+20.9. Reservierte Wörter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
+V. Anhang
+159
+21. Glossar
+161
+Stichwortverzeichnis
+164
+13
+
+
+Teil I.
+Linux
+15
+
+
+2. Linux
+2.1. Was ist Linux?
+Der Kernel, eine Schnittstelle für die Software zur Hardware.
+2.2. Kernel und Module
+http://www.kernel.org/
+http-Adresse für den Kernel und Kernel-Patches
+http://www.de.kernel.org/pub/linux/kernel/
+Spiegel für den Kernel
+2.2.1. Kernel 2.4
+tar xvfj kernel.tar.bz2
+entpackt den Kernel
+tar xvfz kernel.tar.gz
+entpackt den Kernel
+cd kernel
+Verzeichnis wechseln
+bzip2 -dc ../patch-2.x.xx.bz2 | patch -p1
+Kernel patchen
+gzip -dc ../patch-2.x.xx.gz | patch -p1
+Kernel patchen
+zcat /proc/config.gz > /usr/src/linux/.config
+die aktuelle Konfiguration des
+laufenden Kernels auslesen
+make menuconfig
+Kernelkonfiguration im Textmodus
+make dep
+aktualisiert die Abhängigkeiten
+make clean
+löscht die temporären Dateien und Ausgabedateien
+make zImage
+übersetzt und komprimiert den Kernel
+make bzImage
+übersetzt und komprimiert den gossen Kernel
+make dep clean zImage
+aktualisiert,löscht und übersetzt
+make modules
+übersetzt Module
+make modules_install
+installiert Module
+make zlilo
+installiert den Kernel und den Boot-Loader LILO
+make bzlilo
+installiert den gossen Kernel und
+den Boot-Loader LILO
+make zdisk
+erzeugt eine Bootdiskette mit dem neuen Kernel
+make mrproper
+löscht alle erzeugten Dateien,
+auch die Konfiguration
+2.2.2. Kernel 2.6 (Debian 4.0 etch)
+sudo apt-get update
+Paket-Datenbank aktualisieren
+sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 \
+17
+
+2. Linux
+build-essential
+benötigte Pakete installieren
+cd /usr/src
+in das Verzeichnis zu den Quell-Paketen wechseln
+wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2
+den aktuellen Kernel downloaden
+wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2.sign
+die dazugehörige Signatur downloaden
+gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0x517D0F0E
+Public-Key vom Key-Server holen
+gpg --verify linux-2.6.22.1.tar.bz2.sign
+Kernel-Signatur überprüfen
+tar xvfj linux-2.6.22.1.tar.bz2 Kernel entpacken
+ln -s linux-2.6.22.1 linux
+Soft-Link zu den Kernel-Quellen anlegen
+cd /usr/src/linux
+zu den aktuellen Kernel-Quellen wechseln
+bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
+Aktualisieren prüfen
+bzip2 -dc /usr/src/patch.bz2 | patch -p1
+Kernel-Quellen aktualisieren wenn nötig
+make clean && make mrproper
+Kernel säubern und korigieren
+cp /boot/config-‘uname -r‘ ./.config
+laufende Konfiguration holen
+make menuconfig
+Konfigurations-Programm starten
+Load an Alternate Configuration File
+laufende Konfiguration laden und Kernel
+konfigurieren
+make-kpkg clean
+fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image \
+kernel_headers
+Kernel-Pakete und Kernel-Headers herstellen
+sudo dpkg -i linux-image-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb
+den neuen Kernel installieren
+sudo dpkg -i linux-headers-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb
+die neuen Header installieren
+sudo shutdown -r now
+Neustart um den Kernel zu testen
+uname -a
+feststellen welcher Kernel gestartet ist
+dmesg
+Kernelmeldungen vom letzten Start anzeigen
+insmod Modul
+Modul laden
+modprobe Modul
+Modul eigenständig laden
+lsmod
+geladene Module anzeigen lassen
+rmmod Modul
+Modul entfernen
+18
+
+3. Befehle
+3.1. Standartein-aus-gabe
+Jedes UNIX kennt 3 spezielle Files:
stdin
+Standardeingabe, normalerweise die Tastatur
+stdout
+Standardausgabe, normalerweise der Bildschirm
+stderr
+Standardausgabe für Fehlermeldungen,
+normalerweise der Bildschirm
+All diese Files können umgelenkt werden
+setterm -blank 0
+Bildschirmschoner ausschalten
+3.2. Anmelden und Abmelden
+login: Benutzername
+1. zum Anmelden den Benutzernamen eingeben
+Passwort: Benutzerpasswort
+2. zum Anmelden das Benutzerpasswort eingeben
+logout
+zum Abmelden eingeben
+exit
+zum Abmelden eingeben
+[Strg]+[d]
+beendet die Shell (alle Shells)
+3.3. Anhalten des Systems und Booten
+Unter keinen Umständen darf während des Betriebs einfach der Strom abgeschaltet
+oder der Resetknopf betätigt werden. Da es sonst zu einer Beschädigung des Dateisy-
+stems mit Datenverlust kommen kann.
+root: shutdown -h now
+hält das System an
+root: halt
+hält das System an
+root: init 0
+hält das System an
+root: systemctl poweroff
+hält das System an
+root: shutdown -r now
+startet den Computer nach dem Herunterfahren neu
+root: reboot
+startet den Computer nach dem Herunterfahren neu
+root: init 6
+startet den Computer nach dem Herunterfahren neu
+root: systemctl reboot
+startet den Computer nach dem Herunterfahren neu
+root: systemctl suspend
+Bereitschaft
+root: systemctl hibernate
+Ruhezustand
+19
+
+3. Befehle
+3.4. Die Runlevel
+root: init 0
+Systemhalt
+root: init S
+Einzelbenutzerbetrieb (Single User Mode)
+root: init 1
+Einzelbenutzerbetrieb (Single User Mode)
+root: init 2
+Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk
+(Local multiuser without remote network)
+root: init 3
+Voller Mehrbenutzerbetrieb mit Netzwerk
+(Full multiuser with network)
+root: init 4
+Frei (Not used)
+root: init 5
+Voller Mehrbenutzerbetrieb mit Netzwerk und KDM, GDM oder XDM
+(Full multiuser with network and xdm)
+root: init 6
+Systemneustart (System reboot)
+root: init q
+Quit zum Neueinlesen der inittab
+3.4.1. Upstart
+Upstart sorgt dafür das Dienste ereignisbasiert parallel gestartet werden können /etc/inittab
+entfällt neu /etc/init/ (bzw. /etc/event.d/)
+initctl list
+Liste aller Init-Jobs
+sudo initctl start/stop
+Init-Jobs (zB. ssh)
+Im Header der Datei kann dann zum Starten und Beenden flogendes stehen:
+start on runlevel [2345]
+stop on runlevel [!2345]
+sudo initctl reload-configuration
+ließt die Konfiguration neu ein und
+startet/beendet die Dienste
+3.5. SuSE-Linux
+hilfe
+Hilfesystem starten
+yast
+Yet another Setup Tool -
+SuSE Administrationstool
+yast2
+Yet another Setup Tool 2 -
+SuSE Administrationstool
+SuSEconfig
+das Skript muss aufgerufen werden
+nachdem die /etc/rc.config und /etc/sysconfig/
+von Hand verändert wurden
+3.6. Zur Orientierung auf einem UNIX-Rechner
+date
+zeigt Datum und Uhrzeit an
+20
+
+3.7. Datum und Uhrzeit
+df -k
+zeigt den feien Platten-Platz in kB an
+df -m
+zeigt den feien Platten-Platz in MB an
+df -h
+Ausgabe von Größen in Menschen-lesbarem Format
+du -h
+zeigt wie viel Platten-Platz in kB bestimmte Dateien einnehmen
+echo Text
+schreibt den Text auf stdout (Bildschirm)
+finger
+zeigt Infos über eingeloggte Benutzer an
+finger -l
+zeigt ausführliche Infos über eingeloggte Benutzer an
+free -t
+zeigt den feien Arbeitsspeicher in kB an
+last
+zeigt wer sich zuletzt von wo aus auf dem Rechner eingeloggt hat
+info Begriff
+Hilfe zu dem Begriff im Infoformat
+man Begriff
+Hilfe zu dem Begriff
+man -a Begriff alle Kapitel zu dem Begriff
+man -f Begriff listet die gefundenen Seiten zu dem Begriff auf
+man -k Begriff listet die Seiten in dem der Begriff vorkommt auf
+man n Begriff
+Hilfe zum Begriff mit der Sektion n
+Die Manual-Pages sind auf verschiedene Sektionen aufgeteilt:
+1 Shell-Kommandos
+2 System-Aufrufe
+3 Funktionen - C-Bibliotheksfunktionen.
+4 Die Beschreibung von Konfigurationsdateien.
+5 Die Syntax wichtiger Dateien.
+6 Beschreibung von Spielen.
+7 Alles was mit Text, Textformatierung und anderen Formaten zu
+tun hat.
+8 Die Befehle des Systemverwalters.
+9 Die Beschreibung der Linux-Kernelroutinen.
+n n kommt angeblich von neu, hier sind sonstige Manual-Pages
+aufgeführt, die in eine der oberen Sektionen gehören, aber
+traditionell hier stehen oder zu keiner Sektion genau passen.
+pwd
+Ausgabe des aktuellen Verzeichnisses
+w
+wer ist da und was ist los
+whatis Befehl
+zeigt Kurzerklärung eines Befehls
+which Befehl
+zeigt, wo Executable liegt, und eventual alias
+who
+zeigt Liste aller eingeloggten Benutzer
+whoami
+zeigt, wem die Shell gehört
+3.7. Datum und Uhrzeit
+date
+Datum und Uhrzeit abfragen
+date -s ’2000-01-29 20:00:00’ +’%Y-%m-%d %T’
+Datum und Uhrzeit einstellen
+netdate Rechnername
+Datum und Uhrzeit vom Rechner-
+name holen
+clock -u -w
+Datum und Uhrzeit in
+das BIOS schreiben
+21
+
+3. Befehle
+timedatectl set-local-rtc 1
+locale Zeit einstellen
+timedatectl set-local-rtc 0
+UTC Zeit einstellen
+3.8. Auflisten
+ls
+Auflisten der Dateien im aktuellen Verzeichnis
+ls Verzeichnis
+Inhalt des Verzeichnisses ausgeben
+ls -la
+alles Auflisten im aktuellen Verzeichnis
+ls -laFi
+alles ausführlicher Auflisten
+ls | paste - - - -
+Dateien vierspaltig ausgeben
+ls -1
+untereinander ausgeben
+ls -F
+Verzeichnisse mit angehängtem / markieren
+ls -i
+inode-Nummer mit ausgeben
+ls -R
+alle Unterverzeichnisse mit ausgeben
+ls -r
+Auflisten der Dateien umkehren
+3.9. Dateinamen
+UNIX unterscheidet Groß- und Kleinschreibung! liesmich, Liesmich, LIESMICH sind
+verschiedene Dateinamen! max. 256 Zeichen, alle Zeichen sind erlaubt . am Namens-
+anfang versteckt Datei vor ls, cp, rm, mv
+alias
+gibt alle definierten Kurznamen aus
+alias la=’ls -la’
+definiert Kurznamen für ein Kommando
+aus ls -la wird ein la
+3.10. Dateiendungen
+.a
+Objektbibliotheken
+.c
+C-Quelltextdatei
+.cpp
+C++-Quellen
+.o
+Objektdatei
+.p
+Pascal-Quellen
+.s
+Assembler
+3.11. Infos über Files
+file Datei
+Anzeige des Dateitypes
+wc -lwc Datei
+Ausgabe der Zeilen, Worte und Buchstaben der Datei
+ls -a | wc -l
+alle Dateien im aktuellen Verzeichnis zählen
+22
+
+3.12. Arbeiten(Verwüstungen) im und am Filesystem
+3.12. Arbeiten(Verwüstungen) im und am Filesystem
+cd Pfad
+Verzeichnis wechseln
+mkdir Name
+Verzeichnis erzeugen
+mkdir -p Name
+Verzeichnis erzeugen, fehlende Verzeichnisse mit anlegen
+3.13. Kopieren und Verschieben
+cp Dateien Ziel
+Dateien kopieren
+cp -i Dateien Ziel
+Dateien kopieren, vor dem Überschreiben
+einer Datei nachfragen
+cp -R Quelle* Ziel
+gesamten Inhalt eines Verzeichnises kopieren
+mv Quelle Ziel
+Datei verschieben oder umbenennen
+mv -f Quelle Ziel
+Schreibgeschützte Datei verschieben oder umbenennen
+mv -i Quelle Ziel
+Datei verschieben oder umbenennen,
+vor dem Überschreiben nachfragen
+ln Quelle Ziel
+Verknüpfung erzeugen (Hardlink),
+beide Dateien haben die gleiche inode
+ln -s Quelle Ziel
+Verknüpfung erzeugen (Softlink)
+ln -sf Quelle Ziel
+Verknüpfung erzeugen (Softlink)
+ohne Rückfrage überschreiben
+3.14. Löschen
+rm Datei
+löschen von Daten
+rm -r Dateien
+löschen von Dateien mit Verzeichnissen
+rmdir Verzeichnis
+löscht Verzeichnis wenn es leer ist,
+überflüssig rm -r geht auch
+3.15. Ausgeben
+cat Datei
+Inhalt der Datei auf dem Bildschirm ausgeben
+cat Datei1 Datei2 > Datei3
+Dateien1+2 zusammenfügen in die Datei3 schreiben
+strings Datei
+Druckbare Zeichen der Datei ausgeben
+more Datei
+Datei seitenweise ausgeben
+less Datei
+Datei ausgeben und mit den Curser scrollen
+j eine Zeile weiter
+k eine Zeile zurück
+u halbe Seite zurück
+/Text sucht den Text
+q less verlassen
+nl Datei
+Datei mit Zeilennummern ausgeben
+tail Datei
+zeigt die letzten 10 Zeilen einer Datei an
+23
+
+3. Befehle
+tail -n Datei
+zeigt die letzten n Zeilen einer Datei an
+tail -f Datei
+zeigt ständig die letzten 10 Zeilen der Datei an
+tail -f /var/log/messages
+Systemmeldungen mitverfolgen
+head Datei
+zeigt die ersten 10 Zeilen einer Datei an
+head -n Datei
+zeigt die ersten n Zeilen einer Datei an
+od -b Datei
+Datei oktal ausgeben
+od -c Datei
+Datei als ASCII ausgeben
+od -x Datei
+Datei hexadezimal ausgeben
+ls | paste - - - -
+Dateien vierspaltig ausgeben
+recode ibmpc:lat1 Datei
+Konvertierung der Datei
+7 Bit DOS in das UNICODE/8 Bit Format
+3.16. Der Texteditor vi/vim
+vi
+Editor vi aufrufen
+vi Datei
+Editor vi aufrufen und Datei öffnen
+vi -r
+swap-Dateien anzeigen
+vi -r Datei
+Datei nach einem Stromausfall (oder Absturz) wieder herstellen
+vi -R Datei
+Datei schreibgeschützt öffnen
+3.17. Suchen nach Dateien
+find Pfad Bedingung
+nach Dateien suchen
+find Pfad | grep name
+nach Dateien suchen, hat sich bewährt
+find Pfad -name .profile
+nach dem Dateinamen .profile suchen
+find Pfad -user higi
+nach Dateien die dem Benutzer
+higi gehören suchen
+find Pfad -size +1024c
+nach Dateien die größer als 1024 Bytes
+sind suchen
+find Pfad -atime +7
+nach Dateien suchen die älter als 7 Tage sind
+find Pfad -print
+alle Dateien im Pfad ausgeben
+find -name *.txt
+alle Dateien im aktuellen Pfad
+mit der Endung .txt ausgeben
+find / -size +16000000c
+alle Dateien die mehr als 16MB haben ausgeben
+find / -fstype msdos -name *.zip
+sucht auf MS-DOS-Partition nach *.zip
+find / -fstype vfat -name *.txt
+sucht auf Windows-Partition nach *.txt
+3.18. Suchen in Dateien
+grep Ausdruck Datei
+sucht nach dem Ausdruck in der Datei
+grep -c Ausdruck Datei
+Anzahl der Zeilen, die den Begriff
+enthalten ausgeben
+grep -i Ausdruck Datei
+große und kleine Buchstaben nicht unterscheiden
+24
+
+3.19. Vergleichen von Dateien
+grep -l Ausdruck Datei
+meldet die Dateien die den Ausdruck enthalten
+grep -n Ausdruck Datei
+sucht nach dem Ausdruck und
+gibt die Zeilennummer mit aus
+grep -v Ausdruck Datei
+Ausgabe der Zeilen die den Ausdruck
+nicht enthalten
+egrep Ausdruck Datei
+sucht nach dem Ausdruck in der Datei
+fgrep String Datei
+sucht nach dem String in der Datei
+fgrep -x String Datei
+sucht nach dem String in der Zeile einer Datei
+3.19. Vergleichen von Dateien
+diff Datei1 Datei2
+zeigt die Unterschiede zwischen zwei Dateien
+comm [-123] Datei1 Datei2
+zwei sortierte Textdateien vergleichen
+cmp -l Datei1 Datei2
+Binär-/Dateien vergleichen
+3.20. Drucken
+lpr Datei
+Datei auf dem Drucker ausgeben
+lpr -#n Datei
+Datei n mal auf dem Drucker ausgeben
+lpr -m Datei
+Datei auf dem Drucker ausgeben, nach dem Drucken
+bekommt man eine mail
+lpq
+Warteschlange anschauen
+lprm Jobnummer
+Druckauftrag/Job aus der Warteschlange löschen
+pr
+Dateien für das Drucken aufbereiten
+3.21. File-Inhalt bearbeiten
+compress Datei
+Datei komprimieren nach Datei.Z
+uncompress Datei.Z
+Datei.Z dekomprimieren
+expand Datei1 > Datei2
+Tabs aus der Datei1 entfernen und
+zur Datei2 schreiben
+unpack Datei.z
+Datei.z dekomprimieren
+sort Datei1 > Datei2
+die Zeilen der Datei1 in
+die Datei2 sortieren
+tr [A-Z] [a-z] < Datei1 > Datei2
+Klein durch Großbuchstaben ersetzen
+uniq Datei
+Datei ausgeben bis auf doppelte Zeilen
+3.22. TAR (tape archiver) verwaltet Dateiarchive
+Syntax:
+tar [-Acdrtux] [–delete] [-b n] [-BgGhijklmMoOpPPsSvwWz] [-C Verzeichnis] [-f Datei]
+[-F Datei] [-K Datei] [-L Länge] [-N Datum] [-T Datei] [-V Name] [-X Datei] [0-7] [lmh]
+25
+
+3. Befehle
+Optionen:
+-A
+Archiv an ein Archiv anhängen
+-c
+erzeugt ein neues Archiv
+-d
+vergleicht das Archiv mit dem Dateisystem
+--delete Datei löscht die Datei aus dem Archiv (nicht für Magnetbänder)
+-r
+hängt Dateien an das Archiv an (nicht für Magnetbänder)
+-t
+zeigt den Inhalt des Archivs
+-u
+ersetzt neue Dateien oder fügt sie ein (nicht für Magnetbänder)
+-x
+kopiert/entpackt Datei-en aus dem Archiv
+--atime-preserve
+Zugriffszeit nach der Archivierung zurück setzen
+-b n
+setzt die Blockgröße n*512Bytes (Voreinstellung n=20)
+-B
+unterdrückt den Abbruch beim Lesen unvollständiger Blöcke
+zum Lesen von 4.2BSD Pipes
+-C Verzeichnis wechselt in das Verzeichnis, um dort weitere Dateien zu
+archivieren
+-f Datei
+benutzt Datei oder das Gerät als Archiv
+-F Datei
+bei -M führt das Shellscript Datei aus, wenn das Medium voll ist
+-G
+erzeugt am Anfang des Bandarchives einen speziellen Eintrag für
+jedes archivierte Verzeichnis; spezielles GNU Format
+-g Datei
+erzeugt eine Datei mit einer Liste der archivierten
+Verzeichnisse als Zeitmarke der Archivierung; wenn die Datei
+bereits existiert, werden nur die Dateien archiviert, die nach
+dieser Zeitmarke erzeugt oder verändert wurden (spezielles GNU
+Format: 1.Zeile=Zeitmarke, 1.Feld=Nr. der Partition,
+2.Feld=Inode des Verzeichnisses, 3.Feld=Name des Verzeichisses)
+-h
+archiviert die referenzierten Dateien anstelle der Links
+-i
+ignoriert Blöcke mit Nullbytes im Archiv
+-j
+erzeugt ein mit bzip2 komprimiertes Archiv
+-k
+existierende Dateien werden beim Auspacken von Archiven nicht
+überschrieben
+-K Datei
+beginnt eine Aktion bei Datei im Archiv
+-l
+verhindert Archivierung von Dateien aus anderen Dateisystemen
+-L Länge
+wartet auf Medienwechsel nach Länge Bytes
+-m
+das Datum der letzten Änderung wird nicht mit archiviert
+-M
+das Archiv ist auf mehrere Medien verteilt (Multi-Volume)
+-N Datum
+archiviert nur Dateien, die neuer sind als Datum
+-o
+benutzt das alte V7 tar-Format anstelle des ANSI Formates
+-O
+schreibt die Dateien in die Standardausgabe
+-p
+erhält die Zugriffsrechte der Dateien
+-P
+archiviert mit absoluten Dateinamen
+-R
+gibt zu jeder Meldung die Blocknummer des Archivblocks aus, von
+dem die Meldung verursacht wurde
+-s
+zeigt an, dass die Liste von Dateien im Argument die gleiche
+Reihenfolge hat wie die Dateien im Archiv
+-T Datei
+holt die Namen der zu archivierenden Dateien aus Datei
+26
+
+3.23. Disketten/Festplatten
+-v
+meldet jede Aktion
+-V Name
+erzeugt ein Archiv mit dem (internen) Label Name
+-w
+erwartet interaktiv Bestätigung jeder Aktion
+-W
+verifiziert die geschriebenen Daten im Archiv
+-X Datei
+liest aus der Datei Namen oder reguläre Ausdrücke von bzw. für
+Dateien, die nicht archiviert werden soll
+-z
+erzeugt ein mit gzip komprimiertes Archiv
+-Z
+erzeugt ein mit compress komprimiertes Archiv
+-{0...7}{lmh}
+spezifiziert das Gerät und die Dichte des Speichermediums (für
+Diskettenarchive ohne Bedeutung); 0 ist der erste Streamer, 1
+1 der zweite und so weiter; die Dichte bestimmt den Bandtyp
+3.22.1. Packen
+tar rPvf name.tar /etc/
+Verzeichnis zum tar zufügen
+tar rPvf name.tar /etc/inittab* Datei-en zum tar zufügen
+tar cPvzf name.tgz name.tar
+tar -> tgz
+tar cPvMf /dev/fd0 name.tgz
+tgz auf Diskette sichern
+tar cvzf Datei.tgz Verzeichnis Packt Verzeichnis in Datei.tgz
+3.22.2. Entpacken
+tar xvfpM /dev/fd0
+tgz von Diskette holen
+tar xvfpz name.tgz
+tgz -> tar
+tar tvfp name.tar
+Inhalt des Tars anzeigen
+tar xvfp name.tar
+Tar entpacken
+3.23. Disketten/Festplatten
+dd if=/dev/zero of=/dev/sda bs=512 count=1
+überschreibt den MBR der ersten
+SCSI-Platte mit Nullen
+fdisk Gerätedatei
+Partitionstabelleneditor
+fdisk -l /dev/hda
+zeigt die Partitionstabelle der ersten
+Festplatte an
+fdisk -C 12416 -H 15 -S 63 /dev/hdb
+Partitionstabelle mit vorgegebenen
+C-Zylinder H-Köpfe S-Sektoren pro Spur
+bearbeiten
+cfdisk Gerätedatei
+Curses-Partitionstabelleneditor
+fdformat /dev/fd0u1440
+Diskette Low-Level-Formatieren
+mformat a:
+Dateisystem DOS-FAT anlegen
+mkdosfs -I /dev/sda
+Superfloppy-Format mit FAT16-Dateisystem
+27
+
+3. Befehle
+für z.B. USB-Sticks anlegen
+mkdosfs -n Name /dev/sda1
+FAT16-Dateisystem mit Name anlegen
+mkfs -t minix /dev/fd0u1440 1440
+Dateisystem minix anlegen
+mke2fs /dev/fd0u1440
+Dateisystem ext2 anlegen
+mkfs -V -t ext2 /dev/sda7
+Dateisystem ext2 anlegen
+fsck -V -t ext2 /dev/sda7
+Dateisystem Prüfung und Reparatur
+tune2fs Optionen Gerät
+Einstellungen zum ext2 Dateisystem
+mount Gerät Verzeichnis
+Gerät im Verzeichnis anmelden
+mount -t minix /dev/fd0 /mnt
+Diskette im minix-Format anmelden
+mount -t ext2 /dev/fd0 /mnt
+Diskette im ext2-Format anmelden
+mount -t msdos /dev/fd0 /mnt
+Diskette im msdos-Format anmelden
+mount -o loop disk.img /mnt
+Datei als Diskette anmelden
+umount Verzeichnis
+Verzeichnis abmelden
+umount /mnt
+Diskette abmelden
+3.23.1. Dateisystem verschlüsseln
+modprobe loop_fish2
+Modul für die Verschlüssellung laden
+dd if=/dev/urandom of=datei bs=1024 count=10000
+10MB Datei anlegen
+losetup -e twofish /dev/loop0 datei
+Datei anmelden (Passwort anlegen)
+mkfs -t ext2 /dev/loop0
+Dateisystem anlegen
+mount -t ext2 /dev/loop0 /mnt
+Dateisystem anmelden
+umount /mnt/
+Dateisystem abmelden
+losetup -d /dev/loop0
+Datei abmelden
+/dev/loop0 /datei /mnt ext2 twofish defaults
+/etc/cryptotab
+/datei /mnt ext2 loop,encryption=twofish,noauto,user
+/etc/fstab
+3.24. Zugriffsrechte/Eigentümer/Gruppe
+ls -l /dev/fd0
+brw-rw-rw-
+1 root
+disk
+2,
+0 Feb 16 16:30 /dev/fd0
+|
+|
+|
++----- Gerät
+|
+|
++------ Minor-Device-Nummer(Nebennummer)
+|
++----------- Major-Device-Nummer(Hauptnummer)
++-------------------- b-blockorientierte Geräte c-zeichenorientierte Geräte
+ls -laFi linux.txt
+1561 -rw-r----- 1 higi users 26419 Mar 13 19:19 linux.txt
+|
+|||||||||| | |
+|
+|
+|
+| |
++----- Datei/Verzeichnisname
+28
+
+3.24. Zugriffsrechte/Eigentümer/Gruppe
+|
+|||||||||| | |
+|
+|
+|
+| +----------- Uhrzeit
+|
+|||||||||| | |
+|
+|
+|
++-------------- Tag
+|
+|||||||||| | |
+|
+|
++------------------ Monat
+|
+|||||||||| | |
+|
++------------------------ Größe
+|
+|||||||||| | |
++----------- Gruppe
+|
+|||||||||| | +----------------- Eigentümer
+|
+|||||||||| +------------------- Links
+|
+|||||||||+---- alle Anderen
+x-ausführen oder t-text mit x-bit
+|
+|||||||||
+T-text ohne x-bit
+|
+||||||||+----- alle Anderen
+w-schreiben
+|
+|||||||+------ alle Anderen
+r-lesen
+|
+||||||+------- Gruppe
+x-ausführen oder s-Gruppenkennung mit x-bit
+|
+||||||
+S-Gruppenkennung ohne x-bit
+|
+|||||+-------- Gruppe
+w-schreiben
+|
+||||+--------- Gruppe
+r-lesen
+|
+|||+---------- Eigentümer
+x-ausführen oder s-Benutzerkennung mit x-bit
+|
+|||
+S-Benutzerkennung ohne x-bit
+|
+||+----------- Eigentümer
+w-schreiben
+|
+|+------------ Eigentümer
+r-lesen
+|
++------------- d-Verzeichnis l-Verknüpfung
++------- inode
+chmod werwiewas Datei
+Zugriffsrechte einer Datei/Verzeichnis ändern
+wer: u-Eigentümer
+g-Gruppe
+o-alle Anderen a-alle 3 Benutzergruppen
+wie: +-hinzufügen --wegnehmen
+=-nachfolgendes Muster setzen
+was: r-lesen w-schreiben x-ausführen
+( s-Benutzerkennung oder Gruppenkennung
+t-text )
+chmod zahl Datei
+Zugriffsrechte einer Datei/Verzeichnis ändern
+zahl-> rwx rwx rwx -> 4+2 4 0 -> 640
+421 421 421
+640 -> Eigentümer lesen schreiben
+Gruppe
+lesen
+chmod nzahl Datei
+Zugriffsrechte und Kennung einer Datei/
+Verzeichnis ändern
+bit 4 von n, mit Benutzerkennung/
+Benutzerrechten ausführen
+bit 2 von n, mit Gruppenkennung/
+Gruppenrechten ausführen
+bit 1 von n, mit text werden die Dateien vor
+dem Löschen durch fremde Benutzer geschützt,
+macht nur bei Verzeichnissen sinn
+chown NeuerEigentümer Datei
+Eigentümer der Datei ändern
+29
+
+3. Befehle
+chgrp NeueGruppe Datei
+Gruppenzugehörigkeit der Datei ändern
+passwd Benutzer
+Benutzerpasswort ändern
+useradd Optionen Benutzer
+Benutzer anlegen
+-u Benutzer-ID (-u 500)
+-g Primäre Gruppenzugehörigkeit (-g users)
+-G weitere Gruppenzugehörigkeit
+-d Homeverzeichnis (-d /home/user500)
+-s Shell (-s /bin/bash)
+-m legt das Homeverzeichnis an und kopiert die
+Dateien aus /etc/skel in das Homeverzeichnis
+-c Kommentar
+-p Passwort im Klartext!
+-e Auslaufdatum (-e 2002.12.24)
+-f Pufferzeit
+usermod Optionen Benutzer
+Benutzerdaten verändern
+userdel Benutzername
+Benutzer löschen
+userdel -r Benutzername
+Benutzer und Benutzerverzeichnis löschen
+vipw
+Benutzerdatenbank ändern
+su
+Shell mit root-Zugriffsrechten starten
+su -
+Shell im root-Homeverzeichnis
+mit root-Zugriffsrechten starten
+sux -
+Shell im root-Homeverzeichnis
+mit root-Zugriffsrechten starten und X-Variabeln
+su -l Benutzername
+Shell im Benutzer-Homeverzeichnis
+mit Benutzer-Rechten starten
+3.25. Prozessbefehle
+S=schlafend R=running(laufend) T=terminiert Z=Zombie
[Strg]+[z]
+im Vordergrund laufendes Programm anhalten
+[1]+ Stopped
+|
++----- schlafend
++------------- Jobnummer
+bg %JOB
+Job im Hintergrund fortsetzen
+fg %JOB
+Job im Vordergrund fortsetzen
+Programm &
+Programm im eigenem Prozess starten
+[1] 819
+|
++--------- Prozessnummer
++------------- Jobnummer
+ps
+Überblick über die aktuell laufenden Prozesse
+ps aux
+gibt in den meisten Fällen eine ausreichende Auskunft
+pstree
+zeigt den kompletten Prozessbaum an
+30
+
+3.26. Re-install Grub with Live CD
+jobs
+das Schellkommando gibt eine Liste der aktuellen Jobs aus
+top
+Programm, das die aktuellen Prozesse anzeigt
+htop
+Programm, das die aktuellen Prozesse anzeigt
+kill PID
+Prozess killen
+kill %JOB
+Job killen
+kill -1 PID
+Prozess initialisieren
+kill -1 %JOB
+Job initialisieren
+kill -9 PID
+Prozess killen
+kill -9 %JOB
+Job killen
+kill -15 PID
+Prozess beenden
+kill -15 %JOB
+Job beenden
+kill -HUP PID
+veranlasst die meisten Dämonen ihre Konfigurationsdateien
+erneut zu lesen
+3.26. Re-install Grub with Live CD
+3.26.1. Chroot
+sudo fdisk -l
+Patition für das chroot festellen
+sudo mount /dev/sdb3 /mnt/gentoo
+chroot z.B. /dev/sdb3 auf z.B. /mnt/gentoo mounten
+sudo mount -t proc none /mnt/gentoo/proc
+Mounten der /proc und /dev Dateisysteme
+sudo mount --rbind /dev /mnt/gentoo/dev
+sudo chroot /mnt/gentoo /bin/bash
+Betreten der neuen Umgebung
+env-update
+Umgebungsvariablen aktualisieren
+source /etc/profile
+Profil laden
+export PS1="(chroot) $PS1"
+Promt anpassen
+3.26.2. Grub
+sudo grub
+grub> find /boot/grub/stage1
+grub> root (hd0,1)
+grub> setup (hd0)
+grub> quit
+reboot
+3.27. Software installieren
+3.27.1. rpm-Format
+http://www.rpm.org/
+weiterführende Informationen
+http://www.rpmfind.net/
+Hilfe zu fehlenden rpms oder Merkmalen
+/var/lib/rpm/Packages
+rpm-Datenbank
+31
+
+3. Befehle
+/var/lib/rpm/packages.rpm
+-> /var/lib/rpm/Packages
+Geänderte Konfigurationsdateien überschreibt rpm beim Update nicht, sondern hebt
+sie als Datei.rpmsave auf. diff hilft die Unterschiede anzuzeigen.
+rpm -i Paketname.rpm
+Installiert mit Prüfung auf Abhängigkeiten
+rpm -i --nodeps Paketname.rpm
+Installiert ohne Prüfung auf Abhängigkeiten
+rpm -i --test Paketname.rpm
+Testet die Installation ohne Daten zu verändern
+rpm -iv Paketname.rpm
+Installiert mit Prüfung auf Abhängigkeiten
+und Rückmeldung
+rpm -ivh Paketname.rpm
+Installiert, prüft, meldet und
+zeigt den Vorgang an
+rpm -Uvh Paketname.rpm
+Update eines rpm-Binärpaketes
+rpm -Fvh Paketname.rpm
+Aktualisiert rpm-Binärpaket
+rpm -Fvh *.rpm
+Aktualisiert alle rpm-Binärpakete im .
+rpm -e Paket
+Deinstalliert mit Prüfung auf Abhängigkeiten
+rpm -qa
+zeigt die installierten rpm-Pakete an
+rpm -qa | grep -i Paket
+zeigt ob das Paket installiert ist
+rpm -qi Paket
+zeigt Informationen über das installierte Paket
+rpm -qip Paketname.rpm
+zeigt Informationen über das rpm-Binärpaket
+rpm -ql Paket
+zeigt die enthaltenen Dateien des installierten
+Paketes an
+rpm -qlp Paketname.rpm
+zeigt die enthaltenen Dateien des
+rpm-Binärpaketes
+rpm -qf /Pfad/Datei
+zeigt das Paket aus dem die Datei stammt
+rpm -q --requires Paket
+zeigt die geforderten Merkmale des installierten
+Paketes an
+rpm -qp --requires Paketname.rpm
+zeigt die geforderten Merkmale des
+rpm-Binärpaketes
+3.27.2. deb-Format
+dpkg -i Paketname.deb
+Installation eines deb-Binärpaketes
+dpkg -P Paket
+Deinstalliert mit Prüfung auf Abhängigkeiten
+dpkg -l
+zeigt die installierten deb-Pakete an
+dpkg -l "*Paket*"
+zeigt ob das Paket installiert ist
+dpkg -p Paket
+zeigt Informationen über das installierte Paket
+dpkg -I Paketname.deb
+zeigt Informationen über das deb-Binärpaket
+dpkg -L Paket
+zeigt die enthaltenen Dateien des installierten
+Paketes an
+dpkg -c Paketname.deb
+zeigt die enthaltenen Dateien des
+32
+
+3.27. Software installieren
+deb-Binärpaketes
+dpkg -S /Pfad/Datei
+zeigt das Paket aus dem die Datei stammt
+apt
+neue Alternative für apt-get
+apt-get autoclean
+Veraltete Pakete aus dem Cache löschen
+apt-get clean
+alle Pakete aus dem Cache löschen
+apt-get install Paket
+Installiert mit Prüfung auf Abhängigkeiten
+apt-get remove Paket
+Deinstalliert mit Prüfung auf Abhängigkeiten
+apt-get --purge remove Paket
+Deinstalliert vollständig
+apt-get autoremove
+Deinstalliert nicht benötigte Pakete
+apt-get dist-upgrade
+aktualisiert die gesamte Distribution
+apt-cache search Name
+durchsucht die gesamte Distribution
+apt-get update
+APT-Datenbank auf den aktuellen Stand bringen
+dpkg --get-selections > Paketliste
+Paketliste exportieren
+###sudo dpkg --set-selections < Paketliste
+Paketliste importieren geht nicht
+3.27.3. Portage Gentoo
+emerge --sync
+Aktualisieren des Portage-Tree mit rsync
+emerge --webrsync
+Aktualisieren mit dem Portage-Snapshots
+emerge --search Pragrammname
+Nach Software suchen
+emerge --searchdesc Name
+Suche nach Paketen im Zusammenhang mit dem Namen
+emerge Programmname
+Software installieren
+emerge -pv Programmname
+Installation von Programmen simulieren, USE-Flags anzeigen
+emerge --fetchonly Programmname Quellen herunterzuladen, noch nicht kompilieren
+emerge --unmerge Programmname
+Entfernung von Programm aus dem System
+emerge --update --ask world
+Aktualisierung des Systems
+emerge -f -u -a world
+Aktualisierung herunterzuladen, aber nicht
+kompilieren und installieren
+emerge --update --deep world
+Aktualisierung des gesamten Systems
+emerge --update --newuse world Neuerstellung des gesamten System
+emerge --depclean verweiste Abhängigkeiten entfernen
+revdep-rebuild
+reverse Abhängigkeiten neu erstellen
+etc-update
+Konfigurationsdateien zusammenzuführen
+equery belongs /Pfad/Datei
+zeigt das Paket aus dem die Datei stammt
+equery depends Programmname
+Abhängigkeiten anzeigen
+equery depgraph Programmname
+Abhängigkeiten als Baum anzeigen
+equery files Programmname
+Dateien auflisten, die zu einem Ebuild gehören
+33
+
+3. Befehle
+equery hasuse USE-Flag
+Pakete suchen, die ein spezifisches USE-Flag
+benutzen
+equery size Programmname
+Paketgröße anzeigen
+equery uses Programmname
+Gesetzte und nicht gesetzte USE-Flags
+equery which Programmname
+Anzeigen des Ebuildpfads
+euse -a
+Alle aktiven USE-Flags anschauen
+euse -a -l
+Aktive lokale USE-Flags anschauen
+euse -E USE-Flag
+Setzen von USE-Flags
+euse -D USE-Flag
+Deaktivieren von USE-Flags
+3.27.4. Quelltexte
+tar xvfz Source.tgz
+Quelltext entpacken
+./configure
+Makefile konfigurieren
+make
+Programm übersetzen,
+wenn Makefile vorhanden
+make install
+Programm installieren
+make uninstall
+Programm deinstallieren
+3.27.5. Hilfe
+ldd Programm
+zeigt die zu ladenen Bibliotheken des Programms
+strace -eopen Programm
+zeigt die geladenen Bibliotheken des Programms
+3.28. Im Netz
+#ifconfig -a
+-> ip link
+ip link
+alle aktiven Netzwerkschnittstellen ausgeben
+ifconfig | grep eth0 | cut -c 39-55
+Ethernet-Adresse von eth0 ausgeben
+ftp Rechner
+Programm zur Übertragung von Files
+via Internet starten
+host www.suse.de
+befragt den DNS-Server nach
+der IP-Nummer des Rechners
+host 192.168.9.10
+fragt nach dem Namen des Rechners
+nslookup www.debian.de
+befragt den DNS-Server nach
+der IP-Nummer des Rechners
+nslookup 192.168.11.12
+fragt nach dem Namen des Rechners
+ping Rechner
+sendet Pakete an Rechner mit Echo
+rlogin Rechner
+auf anderen Rechner anmelden
+34
+
+3.29. SSH
+scp Rechner:Pfad Rechner:Pfad
+Programm zur Übertragung von Files
+ssh Rechner
+auf anderen Rechner anmelden
+ssh Rechner -l root
+oder
+auf anderen Rechner als root anmelden
+ssh root@Rechner
+telnet Rechner
+Kommunikation ueber das TELNET-Protokoll
+nmap -sT -PT Rechner
+Scannt die Ports von Rechner
+nmap -sT -p 1-65535 -PT Rechner Scannt alle Ports von Rechner
+netcat ip port
+zeigt den angegebenen Port an
+3.29. SSH
+SSH(Secure shell) ist ein verschlüsseltes Netzwerkprotokoll auf TCP-Port 22, ermög-
+licht eine sichere authentifizierte und verschlüsselte Verbindung zwischen zwei Rech-
+nern über ein unsicheres Netzwerk.
+scp Rechner:Pfad Rechner:Pfad
+Programm zur Übertragung von Files
+ssh Rechner
+auf anderen Rechner anmelden
+ssh Rechner -l root
+oder
+auf anderen Rechner als root anmelden
+ssh root@Rechner
+3.29.1. Generierung eines DSA Schlüsselpaares
+ssh-keygen -t dsa -b 2048
+generiert DSA-Schlüsselpaar mit
+einer Bit-Tiefe von 2048
+~/.ssh/id_dsa
+- private-key mit <ENTER> bestätigen
+passphrase
+- Passwort für den private-key und der Anmeldung,
+für passwortlose SSH-Verbindungen weg lassen oder
+zu Beginn einer Sitzung mit ssh-add ~/.ssh/id_dsa
+abfragen lassen
+3.29.2. Public-Key auf dem Zielrechner hinzufügen
+cat ~/.ssh/id_dsa.pub | ssh zieluser@zielrechner \
+"mkdir -p .ssh; cat >> .ssh/authorized_keys"
+- public-key auf dem Zielrechner hinzufügen
+ssh zieluser@zielrechner "chmod 600 ~/.ssh/authorized_keys"
+- public-key auf dem Zielrechner schützen
+3.29.3. Private-Key auf dem Qellrechner
+~/.ssh/id_dsa
+- der Private-Key gehört auf dem Qellrechner in das
+~/.ssh/ Verzeichnis
+35
+
+3. Befehle
+3.29.4. Login nur mit SSH-Keys erlauben
+/etc/ssh/sshd_config
+- folgendes in die Datei sshd_config
+PubkeyAuthentication yes
+eingetragen
+UsePAM no
+PasswordAuthentication no
+rcsshd restart
+- SSH-Dämon neu starten
+3.30. GnuPG
+Mit GnuPG kann man Daten signieren und verschlüsseln. GnuPG unterstüzt symme-
+trische und asymmetrische Verschlüsselung.
+http://www.gnupg.org/
+http-Adresse für GnuPG
+http://www.gnupg.org/related_software/gpa/
+Grafische Benutzereingabe
+http://www.heise.de/security/dienste/pgp/
+Krypto-Kampagne, bei der
+ein Abgleich zwischen
+Person, Personalausweis
+und Schlüssel erfolgt
+http://kmail.kde.org/
+Mailprogramme mit GnuPG
+http://www.mutt.org/
+Unterstützung
+http://www.ximian.com/products/evolution/
+3.30.1. Erzeugen
+gpg --gen-key
+Schlüssel-Paar erzeugen
+gpg --gen-revoke 0xKeyID
+Widerruf Zertifikat erzeugen
+> gpg-rev-Will_no_longer_use_it
+> gpg-rev-Lost_private_key
+> gpg-rev-Forgot_password
+> gpg-rev-Key_compromised
+3.30.2. Hochladen
+gpg --keyserver wwwkeys.de.pgp.net --send-keys 0xKeyID
+Public Key auf den Keyserver hochladen
+gpg -a --export 0xKeyID | mail -s "add" pgp-public-keys@keys.de.pgp.net
+Public Key an den Keyserver verschicken
+Keyserver:
+Land
+eMail-Adresse
+HTTP-Adresse
+----
+-------------
+------------
+Deutschland
+pgp-public-keys@keys.de.pgp.net http://wwwkeys.de.pgp.net/
+36
+
+3.30. GnuPG
+Östereich
+pgp-public-keys@keys.at.pgp.net http://wwwkeys.at.pgp.net/
+Schweiz
+gp-public-keys@keys.ch.pgp.net http://wwwkeys.ch.pgp.net/
+3.30.3. Löschen
+gpg --recv-keys 0xKeyID
+Key vernichten
+gpg --import
+WiderrufZertifikat
+gpg --send-keys 0xKeyID
+gpg --delete-key 0xKeyID
+löscht einen öffentlichen Schlüssel
+cat gpg-rev-xxx | mail -s "add" pgp-public-keys@keys.de.pgp.net
+Widerruf Zertifikat an den Keyserver
+verschicken
+3.30.4. Holen
+gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0xKeyID
+Public-Key vom Keyserver holen
+mail -s "get thomasb@trash.net" pgp-public-keys@keys.de.pgp.net
+Public-Key per E-Mail
+vom Keyserver holen
+gpg --import Key.txt
+Public-Key inportieren
+3.30.5. Signatur erzeugen und prüfen
+gpg -a --sign Datei
+einen Text signieren, erzeugt Datei.asc
+gpg --verify Datei.asc Datei
+eine Signatur prüfen
+gpg --clearsign Datei
+einen Text signieren,
+erzeugt neue Datei.asc
+gpg --verify Datei.asc
+eine Signatur prüfen
+3.30.6. Verschlüsseln
+gpg -a -r Empfänger0xKeyID -e Datei
+einen Text verschlüsseln,
+erzeugt Datei.asc
+3.30.7. Entschlüsseln
+gpg Datei.asc
+einen verschüsselten und signierten Text
+entschlüsseln und die Signatur prüfen,
+erzeugt Datei
+37
+
+3. Befehle
+3.30.8. Schlüsselverwaltung
+gpg --edit 0xKeyID
+Schlüsselverwaltung
+help - Anzeige aller Befehle
+quit - Das Menu beenden
+3.30.9. Anzeigen
+gpg --list-keys
+zeigt alle öffentlichen Schlüssel
+gpg --list-sigs
+zeigt alle Unterschriften
+gpg --fingerprint
+zeigt alle Fingerabdrücke
+3.30.10. Exportieren
+gpg -a --export 0xKeyID > Datei exportiert den Schlüssel 0xKeyID
+in Datei
+gpg -a --export > Datei
+exportiert alle Schlüssel in Datei
+3.31. X11 - Grafik
+/etc/XF86Config
+bis XFree86.3.3.x Konfigurationsdatei
+/etc/X11/XF86Config
+ab XFree86.4.x Konfigurationsdatei
+[Alt]+[F1] bis [F6]
+Umschalten zwischen Textkonsolen alle Shells
+[AltGr]+[Fn]
+Umschalten zwischen den Textkonsolen n+12
+[Alt]+[Pfeil links oder rechts] um durch die benutzten Konsolen zu stöbern
+[Strg]+[Alt]+[F1] bis
+Umschalten zu Textkonsolen
+alle Shells
+[Strg]+[Alt]+[F6]
+aus X11 heraus
+[Strg]+[Alt]+[F7]
+Umschalten zu X11 aus Textkonsole alle Shells
+bei Caldera 2.2 [Alt]+[F8]
+[Strg]+[Alt]+[<--]
+X-Server sofort beenden
+[Strg]+[Alt]+[+]
+verschiedene Auflösungen im laufenden
+[Strg]+[Alt]+[-]
+Betrieb wechseln
+xf86config
+Shell-Konfigurationsprogramm für X 3+4
+XF86Setup
+X-Konfigurationsprogramm bis XFree86.3.3.x
+sax
+X-SuSE-Konfigurationsprogramm bis XFree86.3.3.x
+sax2
+X-SuSE-Konfigurationsprogramm ab XFree86.4.x
+startx
+X-Server starten
+startx -- -bpp 16
+X-Server mit 16 Bit starten
+startx - -- :0 vt07
+X-Server auf F7 starten
+startx - -- :1 vt08
+2. X-Server auf F8 starten
+export WINDOWMANAGER=WM
+X-Umgebungsvariable auf WM(kde, gnome,
+38
+
+3.31. X11 - Grafik
+fvwm, olwm ...) ändern
+3.31.1. Bildschirmschoner
+xset s
+auf Standardeinstellungen zurücksetzen
+xset s 60
+nach 1 Minute aktivieren
+xset s blank
+schwarzen Bildschirm verwenden
+xset s noblank
+X-Logo statt schwarzen Bildschirm anzeigen
+xset s 60 3
+X-Logo alle 3 Sekunden neu platzieren
+xset s off
+Bildschirmschoner deaktivieren
+xset s on
+Bildschirmschoner einschalten
+xset s activate
+Bildschirmschoner sofort aktivieren
+xset q
+aktuelle Einstellungen anzeigen
+xsetroot -solid blue
+Hintergrund
+3.31.2. X11 ohne Maus
+[Umschalt]+[Strg]+[Num]
+Maussteuerung am Ziffernblock ein/ausschalten
+[4],[6],[8],[8]
+links, rechts, oben, unten
+[*],[-]
+auf linke, rechte Maustaste umschalten
+[5],[+],[0],[5]
+Maustaste, Doppelklick, gerückt halen, lösen
+39
+
+
+4. Verzeichnisse und Dateien
+4.1. Dateibaum
+/
+oberste Verzeichnis
+im Dateisystem (Root/Wurzel)
+.
+Verweis auf sich selbst
+..
+Verweis auf das übergeordnete Verzeichnis
+/bin/
+ausführbare Dateien der wichtigsten Befehle
+#/bin/init
+-> /sbin/init
+/boot/
+enthält die Dateien des LILO Bootloaders und
+kann Kernel-Images enthalten
+/boot/boot.b
+der LILO-Maschinencode
+/boot/map
+Informationen für LILO
+um den Betriebssystemkern zu starten
+/boot/message
+wird vor der LILO-Bootauswahl ausgegeben
+/boot/vmlinuz
+der Betriebssystemkern kann auch im / liegen
+/cdrom/
+dient zur CDROM-Einbindung
+/dev/
+Sammlung der Gerätedateien
+/dev/audio
+ähnlich wie /dev/dsp, Daten werden y-Law codiert
+/dev/cdrom
+Link auf den CD-Rom Treiber oft /dev/hdc
+/dev/console
+reale Console
+/dev/dsp
+Link auf den A/D-W. der Soundk. (-> /dev/dsp0)
+/dev/dsp0
+Analog/Digital-Wandler der Soundkarte
+/dev/fd0
+erstes Diskettenlaufwerk
+/dev/fd1
+zweites Diskettenlaufwerk
+/dev/full
+beim Schreiben wird der Fehler ENOSPC erzeugt
+/dev/hda
+erstes (E)IDE Gerät
+/dev/hda1 -> /dev/hda4
+primäre Partitionen
+/dev/hda5 -> /dev/hda?
+logische Partitionen
+/dev/hdb
+zweites (E)IDE Gerät
+/dev/hdc
+drittes (E)IDE Gerät
+/dev/hdd
+viertes (E)IDE Gerät
+/dev/initrd
+zusätzliche RAM-Disk mit Kernelmodulen und
+Bootsystem zur Initialisierung des Kernels
+/dev/kmem
+virtueller Arbeitsspeicher
+/dev/loop*
+ermöglicht eine Datei wie eine Diskette oder
+Festplattenpartition zu mounten
+/dev/lp0
+erste parallele Schnittstelle
+41
+
+4. Verzeichnisse und Dateien
+/dev/lp1
+zweite parallele Schnittstelle
+/dev/lp2
+dritte parallele Schnittstelle
+/dev/md*
+zusammengelegte Festplatten linear,Raid0 oder 1
+/dev/mem
+physikalischer Arbeitsspeicher
+/dev/midi00
+direkte Kommunikation mit einem MIDI-Gerät
+/dev/mixer
+Link auf den Mixer (-> /dev/mixer0)
+/dev/mixer0
+Mischpult der 1. Soundkarte
+/dev/modem
+Link auf den Modemtreiber (-> /dev/ttyS0)
+/dev/mouse
+Link auf den Maustreiber (-> /dev/psaux)
+/dev/music
+eine andere Art von Sequencer, speziell für die
+MIDI-Schnittstelle
+/dev/nst*
+SCSI-Streamer (No Rewind On Close)
+/dev/null
+Mülleimer des Systems
+/dev/port
+zum ansprechen einzelner IO Ports
+/dev/psaux
+PS/2-Maus
+/dev/pts/
+Unix98 PTY slaves
+/dev/ram
+Link auf die RAM-Disk (-> /dev/ram0)
+/dev/random
+zur Erzeugung kryptografisch hochwertiger
+Zufallszahlen
+/dev/rmt*
+QIC-02-Streamer
+/dev/rtc
+batteriegepufferte CMOS-Uhr
+/dev/sd*
+SCSI-Festplatten
+/dev/sequencer
+Synthesizer der Soundkarte oder ein am MIDI-Port
+angeschlossenes Gerät
+/dev/sndstat
+Informationen über den Status des Soundtreibers
+/dev/st*
+SCSI-Streamer
+/dev/tty
+aktive virtuelle Console
+/dev/tty1
+1. virtuelle Console
+/dev/tty2
+2. virtuelle Console
+/dev/ttyS0
+erste serielle Schnittstelle COM1
+/dev/ttyS1
+zeite serielle Schnittstelle COM2
+/dev/ttyS2
+dritte serielle Schnittstelle
+/dev/ttyS3
+vierte serielle Schnittstelle
+/dev/urandom
+zur Erzeugung von Zufallszahlen
+/dev/xd*
+8-Bit XT-Festplattencontroller
+/dev/zero
+zum Lesen beliebig vieler Nullbytes
+/etc/
+Konfigurationsdateien
+/etc/adjtime
+zur Korrektur der batteriegepufferten CMOS-Uhr
+(clock)
+/etc/bash.bashrc
+globale bash konfiguration
+#/etc/conf.modules
+-> /etc/modules.conf
+/etc/cryptotab
+/etc/fstab für Krypto-Filesystem
+/etc/csh.login
+Startdatei für die C-Shell
+/etc/diphosts
+eine Art /etc/passwd für SLIP Login
+/etc/DIR_COLORS
+festlegen der Farben für ls
+42
+
+4.1. Dateibaum
+/etc/exports
+Verzeichnisse und Rchnernamen, die diese
+Verzeichnisse per NFS mounten dürfen
+wird hier eingetragen
+/etc/fdprm
+Parameter von Diskettenformaten
+/etc/fstab
+um Benutzern das An- und Abmelden
+von Dateisystemen zu erlauben
+/etc/ftpaccess
+Woher ? Wann ? Was ? ...
+/etc/ftpusers
+... und Wer NICHT ?
+/etc/gateways
+Rechner des lokalen Netzes die Kontakt mit
+anderen Netzen haben
+/etc/gettydefs
+Beschreibung der seriellen Terminals
+/etc/group
+Benutzergruppen und ihre Mitglieder
+/etc/host
+auflösen von Netzwerknamen
+über die resolver-Bibliothek
+/etc/host.allow
+Rechner und Netze mit denen Verbindung aufgebaut
+werden darf
+/etc/host.conf
+eine der Konfig. den Domain Name Service
+/etc/host.deny
+Rechner und Netze die sich nicht mit diesem
+Rechner verbinden dürfen
+/etc/host.equiv
+Rechner die "gleichartig" behandelt werden
+/etc/HOSTNAME
+hier steht der Name des Rechners
+ohne den Domainnamen
+/etc/hosts
+ordnet IP-Adressen Hostnamen zu
+/etc/inetd.conf
+welche Services gestartet werden (inetd)
+/etc/init
+-> /sbin/init
+/etc/init/ Dateien für Upstart
+/etc/init.d/
+Dateien für die Init-Levels
+/etc/init.d/inetd
+startet den inetd, z.B. zum Anmelden
+vom Netzwerk
+/etc/init.d/network
+startet die Konfiguration
+der Netzwerk Hard- und Software
+/etc/init.d/portmap
+starte den Portmapper,
+um den RPC-Server verwenden zu können
+/etc/init.d/route
+setzt die statischen Routen im Netzwerk
+/etc/init.d/sendmail
+kontrolliert den sendmail-Prozess
+in Abhängigkeit
+/etc/init.d/rc0.d/ bis rc6.d/
+init 0 bis 6
+/etc/init.d/rcS.d/
+init S
+/etc/initscript
+init führt die Kommandos durch dieses Script
+ondemand und respawn aus
+#/etc/inittab
+Grunteinstellung der Init-Levels und Terminals
+(/sbin/init)
+/etc/isdn/
+ISDN-Konfigurationen
+/etc/issue
+Begrüßungstext beim Login (getty)
+/etc/ld.so.cache
+zur Shared Libraries identifizierung (ldconfig)
+43
+
+4. Verzeichnisse und Dateien
+/etc/ld.so.conf
+Verzeichnisse zu neuen Shared Libraries
+(ldconfig)
+/etc/lilo.conf
+Konfigurationsdatei des LILO
+/etc/login.defs
+Login Einstllungen (login)
+/etc/magic
+Magic Numbers zum Erkennen von Dateien (file)
+#/etc/man.config
+-> /etc/manpath.config
+/etc/manpath.config
+Verzeichnisse in den Manualpages gesucht werden
+/etc/minicom.users
+Benutzer die minicom benutzen dürfen
+/etc/modules.conf
+Modulinformationen ((für den Kerneld(Dämon)))
+/etc/motd
+Begrüßung nach dem Anmelden
+/etc/mtab
+Liste der aktuell zu Verfügung
+stehenden Dateisystemen
+/etc/mtools.conf
+(un)logische Laufwerksbuchstaben
+von MS-DOS für die M-Befehle
+/etc/named.boot
+für den named Dämon des DNS
+/etc/networks
+die Namen und IP der lokalen Netze
+/etc/nntpserver
+der Name und die IP des Newsrechners
+/etc/nologin
+macht jedes "normale" Einloggen unmöglich, nur
+die root kann sich anmelden, sonst wird der
+Inhalt von nologin ausgegeben (login)
+/etc/nscd.conf
+Konfiguration des Name Service Cache Dämon
+/etc/nsswitch.conf
+in welcher Reihenfolge bestimmte
+Informationen abgefragt werden
+/etc/opt/
+Rechner-spezifische Konfigurationsdateien
+der Pakete
+/etc/passwd
+Liste aller Benutzer mit Informationen
+/etc/powerstatus
+Zustand der Stromversorgung
+/etc/printcap
+Beschreibung des oder der Drucker des Systems
+(lpd)
+/etc/profile
+Globale Benutzerprofile
+/etc/prtocols
+Liste aller Internetprotokolle die vom Kernel
+unterstützt werden
+/etc/psdatabase
+enthält kernelabhängige Daten für procps
+/etc/rc*
+Systeminitialisierungsdateien (init)
+/etc/rc.config
+zentrale Konfigurationsdatei -> /etc/sysconfig/
+/etc/rc.config.d/
+weitere Dateien mit rc.config Variablen
+/etc/resolv.conf
+bestimmt ob und wo ein Nameserver erreicht
+werden kann
+/etc/rpc
+enthält die Zuordnung der durch den rpc-Service
+bereitgestellten Netzdienste zu Socketnummern
+/etc/securetty
+Terminals von den sich der Benutzer
+root anmelden darf (login)
+/etc/services
+ordnet Portnummern Servicenamen zu
+/etc/shadow
+hier sind die Shadow-Passwörter gespeichert
+/etc/shells
+Liste aller Shells
+44
+
+4.1. Dateibaum
+/etc/shutdown.allow
+Liste der Benutzer die zum Herunterfahren des
+Systems berechtigt sind
+/etc/skel/
+Dateien die beim Anlegen
+eines Benutzers in das ~ kopiert werden
+/etc/SuSE-release
+Angaben zur installierten SuSE Linux version
+/etc/sysconfig/
+zentrale Konfigurationsdateien -> /etc/rc.config
+/etc/syslogd.conf
+legt fest wohin Meldungen geschrieben werden
+(syslogd)
+/etc/termcap
+Beschreibungen für Terminaleigenschaften (getty)
+/etc/ttytype
+legt den voreingestellten Terminaltyp
+für die Terminals fest
+/etc/XF86Config
+bis XFree86.3.3.x Konfigurationsdatei
+/etc/X11/XF86Config
+ab XFree86.4.x Konfigurationsdatei
+/floppy/
+dient zur Floppy-Einbindung
+/home/
+Heimatverzeichnisse der Benutzer
+/home/~/.bash_history
+gespeicherte Eingaben der bash
+/home/~/.bashrc
+Konfiguration der bash
+/home/~/.ctwmrc
+Konfiguration des ctwm-Fenstermanagers
+/home/~/.exrc
+Konfiguration des vi, ex
+/home/~/.fvwmrc
+Konfiguration des fvwm-Fenstermanagers
+/home/~/.openwin-menu
+Konfiguration des olvwm und olwm-Fenstermanagers
+/home/~/.profile
+wird nach dem User-Anmelden in der bash
+ausgeführt
+/home/~/.rhosts
+erlaubt die r-Kommandos
+/home/~/.X.err
+Meldungen des X-Servers
+/home/~/.xinitrc
+diese Datei wird von .xsession ausgeführt
+/home/~/.xsession
+diese Datei wird nach dem Befehl
+startx ausgeführt
+/lib/
+gemeinsam genutzte Bibliotheken Shared Libraries
+/lib/modules/
+nachladbare Module
+/lost+found/
+verlorene Daten, ist in jeder Wurzel
+des EXT2-Dateisystems
+/media/cdrom/
+dient zur CDROM-Einbindung, ist oft im /
+/media/floppy/
+dient zur Floppy-Einbindung, ist oft im /
+/mnt/
+für temporär einzuhängende Dateisysteme
+/mnt/cdrom/
+dient zur CDROM-Einbindung, ist oft im /
+/mnt/floppy/
+dient zur Floppy-Einbindung, ist oft im /
+/opt/
+kommerzielle Systemerweiterungen
+/opt/kde/
+grafische Benutzeroberfläche KDE
+/proc/
+virtuelles Filesystem über laufende Prozesse
+/proc/cpuinfo
+Informationen zur CPU
+/proc/devices
+Liste der wichtigsten Gerätetreiber
+/proc/dma
+Liste der verwendeten DMA-Kanäle
+/proc/filesystems
+Liste der bekannten Dateisystemtypen
+/proc/interrupts
+Liste der Interrupts
+45
+
+4. Verzeichnisse und Dateien
+/proc/ioports
+bekannte und definierte EA-Schnittstellen
+/proc/kcore
+Gerätedatei für den Zugang
+zum physikalischen Hauptspeicher
+/proc/kmsg
+hier können Systemfehlermeldungen
+ausgelesen werden
+/proc/ksyms
+Liste der Kernel-Symbole und
+ihrer Speicheradressen
+/proc/loadavg
+durchschnittliche Systembelastung
+in den letzten 1, 5 und 10 Min.
+/proc/meminfo
+Beschreibung der aktuellen Speicherauslastung
+/proc/modules
+Liste der geladenen Module und
+Anzahl der aktuellen Nutzungen
+/proc/mounts
+Liste der eingehängten Dateisysteme
+/proc/net/
+Informationen zur Netzwerkauslastung
+/proc/pci
+Liste der gefundenen Geräte am PCI-Bus
+/proc/scsi/
+Informationen über SCSI-Geräte
+/proc/stat
+Liste allgemeiner Statistiken zum System
+/proc/uptime
+Sekunden seit dem Systemstart und
+der Leerlaufzeit
+/proc/version
+aktuelle Version des Linux-Kernels
+/root/
+Heimatverzeichnis des Systemverwalters root
+/sbin/
+Administrationskommandos
+/sbin/init
+Nach dem Kernelstart wird versucht das
+Programm init zu starten
+#/sbin/init.d/
+-> /etc/init.d/
+/tmp/
+temporäre Dateien
+/usr/
+ausführbare Dateien, Libraries, X Window u.s.w
+/usr/bin/
+allgemein verfügbare Programmdateien
+#/usr/doc/
+-> /usr/share/doc/
+/usr/games/
+Spiele :-)
+/usr/include/
+Headerdateien für den C-Compiler
+/usr/include/g++/
+Headerdateien für den C++-Compiler
+/usr/info/
+Infosystem fur GNU-Kommandos
+/usr/lib/
+Programmbibliotheken
+/usr/lib/terminfo/
+Verzeichnis mit Beschreibungen
+für Terminaleigenschaften
+/usr/local/
+Ablage von Dateien und Kommandos die nicht
+zur Distribution gehören
+/usr/man/
+Linux Handbuch
+/usr/sbin/
+Superuser Programmdateien
+/usr/share/doc/
+Dokumentationen
+/usr/share/doc/packages/
+Dokumentation der Programme
+/usr/src/
+Quellcode für den Kernel und weitere Programme
+/usr/src/linux/
+Kernel-Source
+/usr/src/linux/arch/
+Hardwarearchitektur-abhängige
+46
+
+4.1. Dateibaum
+Bestandteile des Kerns
+/usr/src/linux/arch/alpha/
+DEC-Alpha-Prozessoren
+/usr/src/linux/arch/i386/
+386-Prozessoren
+/usr/src/linux/arch/m68k/
+Motorola 68k-Prozessoren
+/usr/src/linux/arch/mips/
+MIPS-Prozessoren R3000, R4000 bis R10000
+/usr/src/linux/arch/ppc/
+Power-PC-Prozessor (ursprünglich IBM)
+/usr/src/linux/arch/sparc/
+SPARC-Prozessoren der Firma SUN
+/usr/src/linux/Documentation/devices.txt
+offizielle Liste der
+registrierten Devices mit ihren Gerätenummern
+/usr/src/linux/drivers/
+Zeichen-, Block-orientierte,
+Netz-,Soundkarten-Gerätetreiber
+/usr/src/linux/drivers/block/
+Treiber für blockorientierte Ein-/Ausgabegeräte
+wie Festplatten
+/usr/src/linux/drivers/cdrom/
+Treiber für CD-ROM Laufwerke
+außer Atapi/IDE und SCSI
+/usr/src/linux/drivers/char/
+Zeichen. Treiber serielle Schnittstellen,
+Bildschirm, Tastatur usw.
+/usr/src/linux/drivers/net/
+Treiber für die Netzwerkkarten
+/usr/src/linux/drivers/pci/
+Spezielle Treiber für PCI-Bus-Bausteine
+/usr/src/linux/drivers/sound/
+Soundkartentreiber
+/usr/src/linux/drivers/scsi/
+SCSI-Treiber
+/usr/src/linux/fs/
+Dateisysteme
+/usr/src/linux/ipc/
+InterProzessKommunikation,
+z.B. Shared Memory, Semaphoren
+/usr/src/linux/include/
+Header-Dateien mit Struktur- und
+Konstantendefinitionen
+/usr/src/linux/init/
+Initialisierungscode beim Starten des Systems
+/usr/src/linux/kernel/
+zentrale Aufgaben, z.B. Prozessverwaltung und
+Schedulimg usw.
+/usr/src/linux/mm/
+Speicherverwaltung
+/usr/src/linux/modules/
+nachladbarer Teil des Kerns
+/usr/src/linux/net/
+Implementierung der Protokolltreiber
+für TCP/IP,SPX/IPX usw.
+/usr/src/linux/README
+Installationsbeschreibung für den Kernel
+/usr/X11R6/
+für Daten zum X-Window-System
+/usr/X11R6/bin/
+Programmdateien die mit X-Window-System arbeiten
+/usr/X11R6/lib/X11/
+Fenstermanager
+/usr/X11R6/lib/X11/app-defaults/
+voreingestellte Konfigurationen der
+Anwendungen
+/var/
+sich schnell oder häufig ändernde Daten
+/var/adm/inst-log/
+Protokolldateien zur installation
+/var/lib/rpm/Packages
+rpm-Datenbank
+/var/lib/rpm/packages.rpm
+-> /var/lib/rpm/Packages
+/var/log/
+Protokolldateien
+/var/log/boot.msg
+Kernelmeldungen vom letzten Start
+47
+
+4. Verzeichnisse und Dateien
+/var/log/messages
+Datei in der die Kernel Meldungen
+gespeichert werden
+/var/log/syslog
+zeit an welches Modul fehlt
+/var/tmp/
+für große temporäre Dateien
+/vmlinuz
+der Defaultkernel kann auch in /boot/ liegen
+4.2. /etc/fstab
+#Device
+Mountpunkt Typ
+Optionen
+Dump Check
+/dev/hdd1 /
+reiserfs defaults
+1
+1
+/dev/hda1 /boot
+ext2
+defaults
+1
+2
+/dev/sda1 swap
+swap
+defaults
+0
+0
+none
+/proc
+proc
+defaults
+0
+0
+/dev/hda3 /temp
+vfat
+defaults,umask=7000,uid=500,gid=100 0
+0
+/dev/hda2 /windows
+vfat
+defaults
+0
+0
+/dev/hdc /cdrom
+auto
+ro,noauto,user,exec
+0
+0
+/dev/fd0 /floppy
+auto
+noauto,user
+0
+0
+/dev/hda3 /save
+reiserfs loop,encryption=twofish,noauto,users 0
+0
+server:/ /server
+nfs
+rw,noauto,user,exec
+0
+0
+4.3. /dev/
+ls -l /dev/fd0
+brw-rw-rw- 1 root disk
+2,
+0 Feb 16 16:30 /dev/fd0
+|
+|
+|
++----- Gerät
+|
+|
++------ Minor-Device-Nummer(Nebennummer)
+|
++----------- Major-Device-Nummer(Hauptnummer)
++----------------- b-blockorientierte Geräte c-zeichenorientierte Geräte
+Die Verbindung zum Kernel wird über Slots oder Kanäle hergestellt, die nummeriert
+sind und hinter denen sich die Treiber verbergen. Die Nummer des Gerätetreibers wird
+als Haupgerätenummer(Major Device Number) bezeichnet. Ein Treiber kann mehrere
+Geräte des gleichen Typs verwalten. Um die einzelnen Geräte zu unterscheiden, wird
+dem Treiber eine zweite Zahl, die Untergerätenummer (Minor Device Number), über-
+geben. Diese beiden Zahlen charakterisieren jede Datei im /dev Verzeichnis. Zusätzlich
+werden noch zwei Arten von Geräten unterschieden :
+Die blockorientierten Geräte mit direktem Zugriff, wie z.B. Disketten oder Festplatten,
+und die zeichenorientierten squentiellen Geräte, wie Drucker, Terminal oder Maus.
+Damit hat jede Gerätedatei drei “Koordinaten“, mit der sie vom Kernel, unabhängig
+von ihrem Namen, eindeutig identifiziert werden kann. Die offizielle Liste der regi-
+strierten Devices mit ihren Gerätenummern ist bei den Kernelsourcen in der Datei
+/usr/src/linux/Documentation/devices.txt zu finden.
+48
+
+4.4. Dateisystemtypen unter Linux
+4.4. Dateisystemtypen unter Linux
+affs
+Ein auf dem Amiga verwendetes Dateisystem (engl. Amiga Fast Filesystem).
+ext2
+Das Standard-Dateisystem unter Linux (engl. Second extended Filesystem).
+ext3
+Journaling Filesystem
+hpfs
+Standard-Dateisystem von IBM OS/2 (engl. High Performance Filesystem).
+Dieses wird von Linux nur mit Lesezugriff unterstüzt.
+iso9660 Standard-Dateisystem auf CD-ROMs.
+minix
+Dieses Dateisystem hat seinen Ursprung in akademischen Lehrprojekten
+über Betriebssysteme und war das erste Dateisystem, welches für Linux
+verwendet wurde. Heute wird es unter Linux vornehmlich als Dateisystem
+für Disketten verwendet.
+msdos
+Ursprünglich von DOS verwendetes Dateisystem, welches aber bis heute von
+diversen Betriebssystemen genutzt wird.
+ncpfs
+Dateisystem für das Novell-Volumes.
+nfs
+Hier sind die Daten auf der Festplatte eines anderen Rechners und
+werden über das Netzwerk zugänglich gemacht (engl. Network Filesystem).
+proc
+Prozess-Dateisystem (virtuell).
+reiserfs
+Das ReiserFS ist ein hochperformantes "’Journaling Filesystem"’;
+seit SuSE Linux 6.4 auf x86-Architekturen verfügbar.
+smbfs
+SMB (engl. Server Message Block) ist ein Protokoll, das von WfW,
+Windoofs NT und LAN Manager verwendet wird, um Dateien über ein Netzwerk
+verfügbar zu machen.
+sysv
+Von SCO-Unix, Xenix und Coherent (kommerzielle UNIX-Systeme für PCs)
+verwendetes Dateisystem.
+ufs
+Von BSD, SunOS und NeXTstep verwendetes Dateisystem; dies Dateisystem
+wird von Linux nur mit Lesezugriff unterstützt.
+umsdos Setzt auf einem gewöhnlichen fat-Dateisystem auf (engl. UNIX on MSDOS)
+und erreicht durch Anlegen spezieller Dateien die notwendige UNIX-
+Funktionalität (Rechte, Links, lange Dateinamen); es ist jedoch sehr
+langsamm.
+vfat
+Erweiterung des fat-Dateisystems hinsichtlich der Länge der Dateinamen
+(engl. Virtual FAT).
+ntfs
+Windows NT-Dateisystem.
+4.5. /etc/group
+#Gruppenname:Paßwort:Gruppennummer:Mitgliederliste
+root:x:0:root
+bin:x:1:root,bin,daemon
+daemon:x:2:
+sys:x:3:
+tty:x:5:
+disk:x:6:higi
+49
+
+4. Verzeichnisse und Dateien
+lp:x:7:
+shadow:x:15:root,gdm
+audio:x:17:root,higi
+public:x:32:
+video:x:33:higi
+game:x:40:higi
+modem:x:43:
+users:x:100:
+nogroup:x:65534:root
+4.6. /etc/hosts
+# IP-Adresse #Aliasnamen
+127.0.0.1 localhost
+127.0.1.1 latex
+::1
+localhost ip6-localhost ip6-loopback
+ff02::1
+ip6-allnodes
+ff02::2
+ip6-allrouters
+192.168.0.10 rechner rechner.loc www.rechner.loc
+4.7. /etc/inittab
+Nach dem Kernelstart wird versucht das Programm init zu starten. Dabei werden
+nacheinander die Verzeichnisse /etc/, /bin/ und /sbin/ nach init abgesucht. Kann init
+/dev/console nicht öffnen wird im Einzelbenutzerbetrieb (Single User Mode) gestartet.
+Beim LILO-Bootpromt kann init=/bin/sh angegeben werden um die Shell anstelle
+von init zu laden. Das Programm init liest die Datei /etc/inittab und wird durch
+die Datei das System konfigurieren. /etc/inittab wird vom Kommando init Zeile für
+Zeile abgearbeitet. In jeder Zeile seht jeweils eine Anweisung. Jede Zeile wird durch
+Doppelpunkte unterteilt. Der Aufbau sieht wie folgt aus:
+Terminal:Termcapeintrag:Gettykommando
+Simpleinit von Peter Orbaek mit
+Erweiterung von Werner Almesberger
+4.7.1. Terminal
+Bezeichnet das Terminal (tty1, tty2, ttyS0 ...)
+4.7.2. Termcapeintrag
+Wird in die TERM Variable der Shell geschrieben und sollte mit einem Eintrag in der
+Datei /etc/termcap übereinstimmen.
+50
+
+4.7. /etc/inittab
+4.7.3. Gettykommando
+Pfad und Optionen zum Getty-Kommando
+# Beispiel einer inittab für simpleinit # Format: Terminal:Termcapeintrag:Gettykommando
+tty1:linux:/sbin/getty 9600 tty1 tty2:console:/sbin/getty 9600 tty2 tty5:con100x40:/sbin/getty
+9600 tty5 ttyS1:vt102:/sbin/getty 9600 ttyS1
+Kürzel:Arbeitsstufen:Modus:Kommando
+Sysvinit von Mike Jagdis und
+Miquel van Smoorenburg
+4.7.4. Kürzel
+Jede Aktion muß mit einem eindeutigen (maximal vierstelligen, a.out oder Librari-
+es<5.2.18 maximal zweistelligen) Kürzel versehen werden, das bei Einträgen in Logfiles
+und bei Fehlermeldungen ausgegeben wird.
+4.7.5. Arbeitsstufen
+Es werden hier die Arbeitsstufen (Runlevel) eingetragen. Zulässige Arbeitsstufen sind
+0 - 9 und s. Es können auch die Pseudoarbeitsstufen(ondemand) a, b, c und q für
+einmalig auszuführende Kommandos verwendet werden. Es wird ohne Groß und Klein-
+schreibung bezeichnet. In einer Zeile können bis zu 11 Runlevel zugeordnet werden.
+Wenn das Feld für den Runlevel leer ist, wird die Aktion bei jedem Moduswechsel
+ausgeführt.
0
+Systemhalt
+S
+Einzelbenutzerbetrieb (Single User Mode)
+1
+Einzelbenutzerbetrieb (Single User Mode)
+2
+Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk
+(Local multiuser without remote network)
+3
+Voller Mehrbenutzerbetrieb mit Netzwerk
+(Full multiuser with network)
+4
+Frei (Not used)
+5
+Voller Mehrbenutzerbetrieb mit Netzwerk und KDM, GDM oder XDM
+(Full multiuser with network and xdm)
+6
+Systemneustart (System reboot)
+Q
+Quit zum Neueinlesen der inittab
+4.7.6. Modus
+Gibt an wie das Kommando im letzten Feld ausgeführt werden soll.
initdefault
+Bestimmt den Runlevel beim Systemstart.
+sysinit
+Wird einmal nach dem Kernelstart ausgeführt.
+bootwait
+Wird einmal ausgefürt, wenn in einem Mehrbenutzerbetrieb
+gestartet wird und wartet bis das Kommando beendet ist.
+boot
+Wie bootwait nur das nicht gewartet wird.
+51
+
+4. Verzeichnisse und Dateien
+respawn
+Überwacht das laufende Kommando und startet es neu, wenn es
+beendet wurde. Wird es in zwei Minuten 10 mal neu gestartet,
+setzt init das Kommando für fünf Minuten aus.
+ondemand
+Wie respawn, um mit Buchstaben gekennzeichnete Level einzelne
+Kommandos mit telinit zu starten.
+wait
+Wartet bis das Kommando beendet ist.
+once
+Wird einmal ausgefürt, es wird nicht gewartet.
+off
+Wenn das Kommando läuft, wird es angehalten.
+ctrlaltdel
+Kommando (Signal SIGINT, [Strg]+[Alt]+[Entf]) z.B. Rebooten des
+Systems.
+kbrequest
+Kommando wird ausgeführt, wenn das Signal SIGWINCH
+[Alt]+[Pfeil hoch] von der Tastatur kommt.
+powerwait
+Wenn init sich in einem passenden Runlevel befindet, das
+Signal SIGPWR erhält oder über Pipeline /dev/initctrl den
+entsprechenden Befehl erhält und wartet auf Beendigung des
+Kommandows. Das Signal kann mit Hilfe eines Dämons von einer USV
+erzeugt werden.
+powerfail
+Wie powerwait wartet jedoch nicht.
+powerfailnow
+Wie powerwait es muß die Datei /etc/powerstatus zusätzlich das
+Wort Low enthalten. So kann das APM eines Notebooks mit Hilfe
+eines Dämons das System herrunterfahren.
+powerokwait
+Wie powerwait es muß die Datei /etc/powerstatus zusätzlich das
+Wort OK enthalten. Auf diese weise kann das System in den
+normalen Zustand gebracht werden, nachdem die Stromversorgung
+wieder hergestellt ist.
+4.7.7. Kommando
+Pfad und Optionen zum Kommando, wird durch die Bourne-Again-Shell abgearbeitet.
+Bei jedem Kommandostart wird versucht die Datei /etc/initscript abzuarbeiten, die
+dann das Kommando startet.
+# Beispiel einer inittab für sysvinit
+# Format: Kürzel:Arbeitsstufen:Modus:Kommando
+# Bestimmt den Runlevel beim Systemstart
+id:5:initdefault:
+# Erstes Script, wenn nicht im Notfallsystem (-b) gestartet wird.
+si::bootwait:/etc/init.d/boot
+# /etc/init.d/rc übernimmt die Runlevel Behandlung
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+52
+
+4.8. /etc/passwd
+l3:3:wait:/etc/init.d/rc 3
+#l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Bestimmt den Einzelbenutzerbetrieb (Single User Mode)
+ls:S:wait:/etc/init.d/rc S
+~~:S:respawn:/sbin/sulogin
+# Aktion bei Signal SIGINT, [Strg]+[Alt]+[Entf]
+ca::ctrlaltdel:/sbin/shutdown -r -t 4 now
+# Aktion bei Signal SIGWINCH [Alt]+[Pfeil hoch]
+kb::kbrequest:/bin/echo "’Keyboard Request -- edit /etc/inittab to let this work."’
+# Aktion bei Stormausfall und Wiederherstellung
+pf::powerwait:/etc/init.d/powerfail start
+pn::powerfailnow:/etc/init.d/powerfail now
+#pn::powerfail:/etc/init.d/powerfail now
+po::powerokwait:/etc/init.d/powerfail stop
+# getty-Programme für die normalen Runlevels
+1:2345:respawn:/sbin/mingetty --noclear tty1
+2:2345:respawn:/sbin/mingetty tty2
+3:2345:respawn:/sbin/mingetty tty3
+4:2345:respawn:/sbin/mingetty tty4
+5:2345:respawn:/sbin/mingetty tty5
+6:2345:respawn:/sbin/mingetty tty6
+#S0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt102
+4.8. /etc/passwd
+#Benutzername:Paßwort:Benutzernummer:Gruppennummer:GCOS:Heimat:Shell
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/bash
+daemon:x:2:2:daemon:/sbin:/bin/bash
+lp:x:4:7:lp daemon:/var/spool/lpd:/bin/bash
+games:x:12:100::/var/games:/bin/bash
+man:x:13:2::/var/cache/man:/bin/bash
+ftp:x:40:2:ftp account:/usr/local/ftp:/bin/bash
+nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash
+higi:x:500:100:Higi:/home/higi:/bin/bash
+gast:x:501:100:Gast:/home/gast:/bin/bash
+53
+
+
+5. Die Shells
+5.1. Die Shells
+Eine Shell ist ein Kommando-Interpreter, ein Programm das durch ein anderes ersetzt
+werden kann. Es zerlegt die Kommandozeile, führt Sonderzeichen durch und reicht das
+Kommando an UNIX weiter. Ohne Shell gibt es keinen Zugang zum Betriebssystem.
+/bin/sh
+Bourne-Shell
+zum programmieren
+/bin/ksh
+Korn-Shell
+Mischung aus C-und Bourne-Shell
+/bin/csh
+C-Shell
+zum interaktiven Arbeiten
+/bin/bash
+Bourne-Again-Shell
+/bin/tcsh
+TC-Shell
+export
+Setzt Umgebungsvariablen, Variablen exportieren
+locate
+Findet Dateien anhand einer Datenbank
+setenv
+Setzt Umgebungsvariablen unter Nicht-Bash Shells, z.B. csh
+unset
+Variable löschen in ksh, bsh und bash
+unsetenv
+Variable löschen in csh
+5.2. Die Start-Scripts
+~/.bashrc
+bash
+5.3. Tastenkombinationen
+[Strg]+[l]
+Bildschirm löschen
+bash und csh
+[Strg]+[a] oder [Pos 1]
+Zeilenanfang
+bash und csh
+[Strg]+[e] oder [Ende]
+Zeilenende
+bash und csh
+[Alt]+[f]
+Wort vorwäts
+bash und csh
+[Alt]+[b]
+Wort rückwärts
+bash und csh
+[Strg]+[c]
+Befehlseingabe verwerfen
+alle Shells
+[Strg]+[c]
+Programm abbrechen
+[Pfeil rechts] und [Pfeil links]
+Cursor bewegen
+bash und csh
+[Pfeil hoch] und [Pfeil runter]
+History-Scrolling
+bash und csh
+[Strg]+[r]
+in der History suchen
+bash
+[Tab]
+Komplettierung
+bash und csh
+[Strg]+[d]
+beendet die Shell
+alle Shells
+55
+
+5. Die Shells
+[Strg]+[d] oder [Entf]
+ein Zeichen löschen
+[Strg]+[h] oder [Backspace]
+Zeichen rückwärts löschen
+[Strg]+[k]
+Zeile ab Cursor löschen
+[Alt Gr]+[Umschalt]
+zwei folgende Zeichen vereinen
+ae -> AE, co -> \texteuro
+[Strg]+[z]
+im Vordergrund laufendes Programm anhalten
+Fortsetzung mit fg
+[Umschalt]+[Bild hoch] und
+vorherige Textausgabe
+alle Shells
+[Umschalt]+[Bild runter]
+zurückholen
+[Alt]+[F1] bis [F6]
+Umschalten zwischen Textkonsolen alle Shells
+[AltGr]+[Fn]
+Umschalten zwischen den Textkonsolen n+12
+[Alt]+[Pfeil links oder rechts]
+um durch die benutzten Konsolen zu stöbern
+[Strg]+[Alt]+[F1] bis
+Umschalten zu Textkonsolen
+alle Shells
+[Strg]+[Alt]+[F6]
+aus X11 heraus
+[Strg]+[Alt]+[F7]
+Umschalten zu X11 aus Textkonsole alle Shells
+bei Caldera 2.2 [Alt]+[F8]
+[Strg]+[Alt]+[<--]
+X-Server sofort beenden
+[Strg]+[Alt]+[+]
+verschiedene Auflösungen im laufenden Betrieb
+[Strg]+[Alt]+[-]
+wechseln
+[Strg]+[Alt]+[Entf]
+Signal SIGINT z.B. reboot
+Shell
+5.4. Die C-Shell
+~
+Home-Verzeichnis
+~user
+Home-Verzeichnis des Benutzers user
+*
+beliebige Zeichen-kette
+?
+genau Zeichen
+{a,b,c}
+a oder b oder c
+[aceg]
+genau eines der Zeichen
+[a-z]
+a bis z
+[!adfh]
+kein a, d, f, h
+´´
+maskiert alles
+\
+maskiert das nachfolgende Zeichen
+""
+maskiert $ ‘ \ nicht
+> Datei
+Ausgabe in die Datei, stdout
+>& Datei
+Ausgabe in die Datei, stdout und stderr
+>>Datei
+Unlenkung in die Datei, stdout umgelenkt
+< Datei
+von der Datei lesen, anstatt von stdin zu lesen
+set noclobber
+Überschreiben einer vorhandenen Datei verhindern
+|
+Ausgabekanal eines Kommandos direkt in den Eingabekanal eines
+anderen Kommandos leiten
+#!Programm
+so beginnt eine Datei die vom Progamm ausgeführt wird
+$HISTSIZE
+History-Größe
+$LS_OPTIONS
+ls Funktionen
+56
+
+5.5. Bash rechnen
+$PATH
+Pfad zu den Programmdateien
+Programm &
+Programm im eigenem Prozess starten
+5.5. Bash rechnen
+echo $((1+1))
+gibt 1 aus
+a=4
+b=5
+echo $((a*b))
+gibt 20 aus
+echo $((a-b))
+gibt -1 aus
+57
+
+
+Teil II.
+Programme
+59
+
+
+6. Der Texteditor vi/vim
+Der vi-Editor ist auf UNIX/Linux(neben Emacs) der meistverwendete Texteditor. Die
+Bedienung erfolgt über den Befehls- und Kommando-modus. Da es nicht gerade ein-
+fach ist sich diese Optionen zu merken, folgt eine Auflistung der meist gebrauchten
+Optionen.
+6.1. Aufruf
+vi
+Editor vi aufrufen
+vi Datei
+Editor vi aufrufen und Datei öffnen
+vi -r
+swap-Dateien anzeigen
+vi -r Datei
+Datei nach einem Stromausfall oder Absturz wieder herstellen
+vi -R Datei
+Datei schreibgeschützt öffnen
+6.2. Eingabemodus (input mode)
+Um in den Eingabemodus zu gelangen muss A, C, I, O, R, S, a, i, o oder s eingegeben
+werden. i ist eine gute Wahl. Mit <Esc> wird der Eingabemodus verlassen.
+6.3. Befehlsmodus (visual mode)
+6.3.1. Eingeben:
+(n)i eingeben
+fügt den eingeben Text (n mal) vor dem Cursor ein
+(n)a eingeben
+fügt den eingeben Text (n mal) hinter dem Cursor ein
+(n)I eingeben
+fügt den eingeben Text (n mal) am Zeilenanfang ein
+(n)A eingeben
+fügt den eingeben Text (n mal) am Zeilenende ein
+(n)o eingeben
+fügt unter der aktuellen Zeile (n neue Zeilen)
+mit den eingeben Text ein
+(n)O eingeben
+fügt über der aktuellen Zeile (n neue Zeilen)
+mit den eingeben Text ein
+6.3.2. Überschreiben:
+(n)R eingeben
+überschreibt den Text mit eingeben
+<Einf>
+wechselt zwischen INSERT und REPLACE
+(n)r Taste
+überschreibt den Text mit (n mal) Taste
+61
+
+6. Der Texteditor vi/vim
+von dem Cursor nach rechts
+6.3.3. Bewegen:
+(n)h
+Cursor um (n) Zeichen nach links bewegen
+(n)<Strg>+h
+Cursor um (n) Zeichen nach links bewegen
+(n)l
+Cursor um (n) Zeichen nach rechts bewegen
+(n)<SPACE>
+Cursor um (n) Zeichen nach rechts bewegen
+(n)|
+Cursor zur Spalte (n) bewegen
+(n)t Taste
+Cursor vor das (n) Zeichen Taste nach rechts bewegen
+(n)f Taste
+Cursor auf das (n) Zeichen Taste nach rechts bewegen
+(n)T Taste
+Cursor vor das (n) Zeichen Taste nach links bewegen
+(n)F Taste
+Cursor auf das (n) Zeichen Taste nach links bewegen
+(n)j
+Cursor um (n) Zeilen abwärts bewegen
+(n)k
+Cursor um (n) Zeilen aufwärts bewegen
+(n)w
+Cursor um (n) Wörter nach rechts bewegen
+(n)W
+Cursor um (n) Wörter(Space) nach rechts bewegen
+(n)b
+Cursor um (n) Wörter nach links bewegen
+(n)B
+Cursor um (n) Wörter(Space) nach links bewegen
+(n)e
+Cursor an das (n) Wortende nach rechts bewegen
+(n)E
+Cursor an das (n) Wortende(Space) nach rechts bewegen
+^
+Cursor auf das erste Zeilenzeichen stellen
+0
+Cursor vor das erste Zeilenzeichen stellen
+(n)_
+Cursor auf das erste Zeilenzeichen stellen und
+(n-1) Zeilen nach unten bewegen
+$
+Cursor zum Zeilenende bewegen
+(n)+
+Cursor auf das erste Zeilenzeichen stellen und
+(n) Zeilen abwärts bewegen
+(n)-
+Cursor auf das erste Zeilenzeichen stellen und
+(n) Zeilen aufwärts bewegen
+(n))
+Cursor um (n) Sätze abwärts bewegen
+(n)(
+Cursor um (n) Sätze aufwärts bewegen
+(n)}
+Cursor um (n) Absätze abwärts bewegen
+(n){
+Cursor um (n) Absätze aufwärts bewegen
+(n)<Strg>+u
+Cursor um 1/2 Bildschirm oder (n Zeilen)
+aufwärts bewegen
+(n)<Strg>+d
+Cursor um 1/2 Bildschirm oder (n Zeilen)
+abwärts bewegen
+<Strg>+f
+Cursor um 1 Bildschirm abwärts bewegen
+<Bild runter>
+Cursor um 1 Bildschirm abwärts bewegen
+<Strg>+b
+Cursor um 1 Bildschirm aufwärts bewegen
+<Bild hoch>
+Cursor um 1 Bildschirm aufwärts bewegen
+(n)<Strg>+e
+scrollt den Cursor (n) Zeilen abwärts
+(n)<Strg>+y
+scrollt den Cursor (n) Zeilen aufwärts
+’
+Taste
+Cursor zu der mit Taste markierten Zeile bewegen
+62
+
+6.3. Befehlsmodus (visual mode)
+‘
+Taste
+Cursor zu dem mit Taste markierten Zeichen bewegen
+gg
+Cursor zum Textanfang bewegen
+(n)G
+Cursor zur Zeile (n) bewegen
+G
+Cursor zum Textende bewegen
+H
+Cursor an den Anfang der Bildschirmseite setzen
+(n)H
+Cursor zur Zeile (n) auf den Bildschirm bewegen
+M
+Cursor auf den Anfang der mittleren
+Bildschirmzeile bewegen
+L
+Cursor an das Ende der Bildschirmseite setzen
+(n)L
+Cursor vom Ende zur Zeile (n) auf den Bildschirm bewegen
+z
+Taste
+bewegt die aktuelle Zeile zum Anfang(+), Ende(-) oder
+zur Mitte(.) des Bildschirms
+6.3.4. Löschen und Eingeben:
+(n)s eingeben
+löscht (n) Zeichen von dem Cursor nach rechts und
+fügt den eingeben Text ein
+c Bereich eingeben
+löscht den markierten Bereich und
+fügt den eingeben Text ein
+cc
+eingeben
+löscht den Zeilentext und fügt den eingeben Text ein
+cw
+eingeben
+löscht bis zum ende des Wortes und
+fügt den eingeben Text ein
+C
+eingeben
+löscht den Text bis Zeilenende und
+fügt den eingeben Text ein
+(n)S eingeben
+löscht (n) Zeilen nach unten und
+fügt den eingeben Text ein ( wie (n)cc )
+6.3.5. Löschen:
+d
+Bereich
+löscht den markierten Bereich
+dd
+löscht die ganze Zeile
+D
+löscht den Text bis Zeilenende
+dw
+löscht bis zum Ende des Wortes
+(n)x
+löscht (n) Zeichen auf den sich der Cursor befindet
+<Entf>
+löscht das Zeichen auf den sich der Cursor befindet
+(n)X
+löscht (n) Zeichen links vom Cursor
+6.3.6. Aufheben:
+u
+macht die letzte Änderung rückgängig
+U
+macht die letzte Änderung der ganzen Zeile rückgängig
+6.3.7. Verschieben:
+>
+Bereich
+schiebt die markierten Zeilen nach rechts
+63
+
+6. Der Texteditor vi/vim
+>>
+schiebt die Zeile auf den sich der Cursor befindet
+nach rechts
+<
+Bereich
+schiebt die markierten Zeilen nach links
+<<
+schiebt die Zeile auf den sich der Cursor befindet
+nach links
+6.3.8. Zusammenfügen:
+(n)J
+hängt (n) Zeilen nach unten aneinander
+6.3.9. Markieren:
+m
+Taste
+markiert eine Zeile oder Zeichen
+v
+setzt den Anfang einer Markierung
+V
+setzt den Anfang einer Zeilenmarkierung
+6.3.10. Kopieren:
+y
+Bereich
+kopiert den mit Bereich angegebenen Text in einen Puffer
+(n)Y
+kopiert die aktuelle und (n) Zeilen in einen Puffer
+"
+Taste
+legt den nächsten Zwischenpuffer fest
+@
+Taste
+interpretiert den Inhalt des Zwischenspeichers als
+vi Befehle und führt sie aus
+6.3.11. Einfügen:
+p
+fügt den aktuellen Puffer hinter dem Cursor ein
+P
+fügt den aktuellen Puffer vor dem Cursor ein
+6.3.12. Suchen:
+(n)%
+platziert den Cursor auf die zugehörige () {} [], oder
+platziert den Cursor auf (n) Prozent der Datei
+/
+Text
+sucht den Text vorwärts
+?
+Text
+sucht den Text rückwärts
+6.3.13. Wiederholen:
+.
+wiederholt das letzte EDIT Kommando
+n
+wiederholt das letzte Suchen
+N
+wiederholt das letzte Suchen in umgekehrter Richtung
+(n);
+wiederholt das vorgehende f, F, t, T Kommando
+(n),
+wiederholt das vorgehende f, F, t, T Kommando in
+umgekehrter Richtung
+(n)&
+wiederholt den letzten :s// Befehl an der momentanen
+Position
+64
+
+6.4. Kommandomodus (colon mode)
+6.3.14. Sonstige Kommandos:
+<Strg>G
+zeigt den Dateistatus und die momentane Zeilennummer
+ZZ
+speichert die Datei und beendet vi
+<Strg>L
+erneuert den Bildschirm
+6.4. Kommandomodus (colon mode)
+Um in den Kommandomodus zu gelangen muss : eingegeben werden.
+6.4.1. Texteingabe Kommandos
+q(!)
+Editor verlassen
+wq
+Editor mit speichern verlassen
+xit
+arbeitet wie wq, speichert nur bei einer Änderung
+x(!)
+Editor mit speichern verlassen
+w(!) Name
+Datei mit Namen speichern
+h
+Hilfe anfordern
+args Dateien
+Liste der Dateien anlegen
+args
+Dateien auflisten
+next(!)
+schaltet zur nächsten Datei
+previous(!)
+schaltet zur vorhergehenden Datei
+rewind(!)
+schaltet zur ersten Datei
+edit(!) Datei
+dient zum wechseln der Datei
+!Befehl
+externen Befehl ausführen
+65
+
+
+7. LaTeX
+7.1. LATEX
LATEX
+67
+
+
+Teil III.
+Linux im Netzwerk
+69
+
+
+8. Netzwerk
+Rechnername
+Name den der Rechner im Netzwerk hat,
+sollte nicht mehr als acht Zeichen haben,
+darf im lokalen Netzwerk noch nicht vergeben sein
+Domainname
+Name zur Gliederung von Netzwerken
+Top-Level-Domain
+umfasst höchstens vier Buchstaben
+Beispiel: Rechnername.Domainname.Top-Level-Domain ->
+voyager.startrek.foe
+IP-Adresse
+Adresse des Rechners im Netzwerk,
+jede Netzwerkschnittstelle(z.B. Netzwerk- oder
+ISDN-Karte) hat im Netzwerk mindestens eine Adresse
+die eindeutig ist, die Adresse besteht derzeit aus
+einer Sequenz von vier Bytes die durch Punkte getrennt
+sind z.B. 192.168.20.40 , für private Netze sind durch
+das Arbeitspapier RFC 1597 drei Adressbereiche
+vorgesehen die nicht geroutet werden:
+10.0.0.0
+-> 10.255.255.255 (Class A-Netz)
+172.16.0.0 -> 172.31.255.255 (Class B-Netz)
+192.168.0.0 -> 192.168.255.255 (Class C-Netz)
+Gatewayadresse
+IP-Adresse des Gerätes die das Weiterleiten
+von Netzwerkpaketen in das fremde Netz übernimmt
+Netzwerkmaske
+sagt aus welcher Teil der IP-Adresse
+zum lokale Netzwerk gehört z.B. 255.255.255.0
+#### in arbeit #######################################
+OSI
+Open System Interconnektion
+IEEE
+ISO
+MAC-Adresse
+006097 370cae
+------ ------
+Herstellerabhängig
+laufendeNr.
+Ethernet-adresse
+Node-Addresse
+NIC-Adresse
+udp
+tcp/ip
+nfs
+ftp
+Portnummer/Kanalnummer
+71
+
+8. Netzwerk
+16Bit 65535 pro udp pro tcp/ip
+/etc/services
+0-1023 well known Ports IANA
+1024-49151 registrierte Ports
+->65535 dynamische, privat
+######################################################
+72
+
+9. Apache
+9.1. Einleitung
+Der Apache Webserver ist ein Programm das im Netzwerk(WWW), bei Anfragen mit
+einem Webbrowser, Websites(HTTP-Protokoll) ausgeben kann.
+Die Anfragen werden als URL angegeben. Beispiel: Schema://Hostname:Port/Server-
+Pfad -> http://www.apache.org:80/manual/
+9.2. Kompilieren und Installieren
+9.2.1. Anforderungen
+• Apache-Quellcode 1.3, erhältlich bei http://www.apache.org/
+• mod_ssl 1.3, erhältlich bei http://www.modssl.org/
+• Apache-Quellcode 2.0, erhältlich bei http://www.apache.org/
+• OpenSSL-Quellcode 0.9.x, erhältlich bei http://www.openssl.org/
+• Linux ab 2.4.xx(z.B.Debian Sarge 3.1), libgdbm2-devel(ndbm.h -> gdbm-ndbm.h)
+• ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab Ver-
+sion 2.7.2, wesentliche Generierungswerkzeuge wie make
+• Zeitgenauigkeit bewahren, ntpdate oder xntpd(NTP)
+• Perl 5(optional), Version ab 5.003 http://www.perl.com/
+• PureFTPd(optional), Version ab 5.003 http://www.perl.com/
+9.2.2. Vorbereitungen
+su
+als root anmelden
+mkdir /usr/local/src
+das Verzeichnis /usr/local/src anlegen,
+wenn es noch nicht vorhanden ist
+chmod 777 /usr/local/src
+Verzeichnis-Rechte setzen
+ln -s /usr/include/gdbm-ndbm.h /usr/include/ndbm.h
+Link zu ndbm.h
+exit
+root abmelden
+cp Quelldateien /usr/local/src
+Quelldateien kopieren
+73
+
+9. Apache
+9.2.3. OpenSSL
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfz openssl-0.9.7d.tar.gz
+Quelldateien entpacken
+cd openssl-0.9.7d
+in das Quelldatei-Verzeichnis wechseln
+./config --help
+Hilfe zu den möglichen Optionen
+./config --prefix=/usr/local/openssl/0.9.7d
+Codebaum konfigurieren und
+Installations-Verzeichnis angeben
+make
+Programm herstellen
+make test
+Programm testen
+su
+als root anmelden
+make install
+Programm installieren
+ln -s /usr/local/openssl/0.9.7d /usr/local/openssl/current
+Link zu OpenSSL
+exit
+root abmelden
+9.2.4. Apache 1.3 und SSL
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfz apache_1.3.31.tar.gz
+Quelldateien entpacken
+tar xvfz mod_ssl-2.8.19-1.3.31.tar.gz
+Quelldateien entpacken
+cd apache_1.3.31
+in das Quelldatei-Verzeichnis wechseln
+./configure --help
+Hilfe zu den möglichen Optionen
+cd ../mod_ssl-2.8.19-1.3.31
+./configure --help
+Hilfe zu den möglichen Optionen
+./configure --with-apache=../apache_1.3.31
+--with-ssl=../openssl-0.9.7d
+--prefix=/usr/local/apache/1.3.31
+--datadir=/srv/www
+--enable-module=most
+--enable-shared=max
+--enable-module=ssl
+cd ../apache_1.3.31
+in das Quelldatei-Verzeichnis wechseln
+make
+Programm herstellen
+make certificate TYPE=custom
+Zertifikat erzeugen
+Angaben zu der Certificate Authority
+Signature Algorithm ((R)SA or (D)SA) [R]:R
+1. Country Name
+(2 letter code) [XY]:DE
+2. State or Province Name
+(full name)
+[Snake Desert]:Niedersachsen
+3. Locality Name
+(eg, city)
+[Snake Town]:Salzgitter
+4. Organization Name
+(eg, company)
+[Snake Oil, Ltd]:Komtek
+5. Organizational Unit Name (eg, section)
+[Certificate Authority]:CA
+74
+
+9.2. Kompilieren und Installieren
+6. Common Name
+(eg, CA name)
+[Snake Oil CA]:Komtek CA
+7. Email Address
+(eg, name@FQDN) [ca@snakeoil.dom]:ca@komtek.de
+8. Certificate Validity
+(days)
+[365]:365
+Certificate Version (1 or 3) [3]:3
+Angaben zum Serverzertifikat
+1. Country Name
+(2 letter code) [XY]:DE
+2. State or Province Name
+(full name)
+[Snake Desert]:Niedersachsen
+3. Locality Name
+(eg, city)
+[Snake Town]:Salzgitter
+4. Organization Name
+(eg, company)
+[Snake Oil, Ltd]:Komtek
+5. Organizational Unit Name (eg, section)
+[Webserver Team]:Webmaster
+6. Common Name
+(eg, FQDN)
+[www.snakeoil.dom]:www.komtek.de
+7. Email Address
+(eg, name@fqdn) [www@snakeoil.dom]:www@www.komtek.de
+8. Certificate Validity
+(days)
+[365]:365
+Certificate Version (1 or 3) [3]:3
+Schlüssel verschlüsseln
+Encrypt the private key now? [Y/n]: n
+Encrypt the private key now? [Y/n]: n
+su
+als root anmelden
+make install
+groupadd wwwadmin
+Gruppe wwwadmin anlegen
+chown -R nobody:wwwadmin /srv/www
+Rechte für das www-Verzeichnis setzen
+ln -s /usr/local/apache/1.3.31 /usr/local/apache/current
+Link zu Apache 1.3
+ln -s /usr/local/apache/current/conf /etc/apache
+Link zu den Konfigurationen
+ln -s /usr/local/apache/current/logs /var/log/apache
+Link zu den Logdateien
+ln -s /usr/local/apache/current/bin/apachectl /usr/local/bin
+Link zu apachectl
+ln -s /usr/local/apache/current/bin/apachectl /etc/init.d/apache
+Link zu den Startdateien
+cd /etc/rc5.d
+in den Start-Runlevel wechseln
+ln -s ../init.d/apache S20apache
+Link zum automatischen Starten
+cd ../rc0.d
+in den Stopp-Runlevel wechseln
+ln -s ../init.d/apache K20apache
+Link zum automatischen Beenden
+cd ../rc6.d
+in den Start-Runlevel wechseln
+ln -s ../init.d/apache K20apache
+Link zum automatischen Beenden
+exit
+root abmelden
+75
+
+9. Apache
+9.2.5. Apache2
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfz httpd-2.0.51.tar.gz
+Quelldateien entpacken
+cd httpd-2.0.51
+in das Quelldatei-Verzeichnis wechseln
+./configure --help
+Hilfe zu den möglichen Optionen
+./configure --prefix=/usr/local/apache2/2.0.51
+--with-ssl=../openssl-0.9.7d
+--datadir=/srv/www2
+--enable-module=most
+--enable-shared=max
+--enable-module=ssl
+--with-port=81
+da auf 80 schon der Apache 1.3 läuft
+make
+Programm herstellen
+su
+als root anmelden
+make install
+Programm installieren (als root!)
+groupadd wwwadmin
+Gruppe wwwadmin anlegen
+chown -R nobody:wwwadmin /srv/www2
+Rechte für das www-Verzeichnis setzen
+ln -s /usr/local/apache2/2.0.51 /usr/local/apache2/current
+Link zu Apache 2
+ln -s /usr/local/apache2/current/conf /etc/apache2
+Link zu den Konfigurationen
+ln -s /usr/local/apache2/current/logs /var/log/apache2
+Link zu den Logdateien
+ln -s /usr/local/apache2/current/bin/apachectl /usr/local/bin/apachectl2
+Link zu apachectl
+ln -s /usr/local/apache2/current/bin/apachectl /etc/init.d/apache2
+Link zu den Startdateien
+cd /etc/rc5.d
+in den Start-Runlevel wechseln
+ln -s ../init.d/apache2 S20apache2
+Link zum automatischen Starten
+cd ../rc0.d
+in den Stopp-Runlevel wechseln
+ln -s ../init.d/apache2 K20apache2
+Link zum automatischen Beenden
+cd ../rc6.d
+in den Start-Runlevel wechseln
+ln -s ../init.d/apache2 K20apache2
+Link zum automatischen Beenden
+exit
+root abmelden
+9.2.6. Testen
+/etc/init.d/apache start
+Apache1.3 starten
+/etc/init.d/apache2 start
+Apache2 starten
+Browser http://localhost/
+Apache1.3 testen
+Browser http://localhost:81/
+Apache2 testen
+/etc/init.d/apache stop
+Apache1.3 beenden
+/etc/init.d/apache2 stop
+Apache2 beenden
+76
+
+9.2. Kompilieren und Installieren
+9.2.7. Upgrade
+./config.nice
+aus der letzten Installation entnehmen,
+Apache2
+9.2.8. PureFTPd
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfz pure-ftpd-1.0.20.tar.gz
+Quelldateien entpacken
+cd pure-ftpd-1.0.20
+Verzeichnis wechseln
+./configure --prefix=/usr/local/pure-ftpd/1.0.20 --with-language=german
+Makefile herstellen
+make
+Programm herstellen
+make check
+Programm prüfen
+su
+als root anmelden
+make install
+Programm installieren
+ln -s /usr/local/pure-ftpd/1.0.20 /usr/local/pure-ftpd/current
+Link zu pure-ftpd
+mkdir /usr/local/pure-ftpd/current/etc Verzeichnis etc anlegen
+cp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/current/etc
+Konfiguration kopieren
+cp pureftpd-*.conf /usr/local/pure-ftpd/current/etc
+Konfigurationen kopieren
+ln -s /usr/local/pure-ftpd/current/etc /etc/pure-ftpd
+Link zu den Konfigurationen
+vi /etc/init.d/pure-ftpd
+Startdatei für pure-ftpd anlegen
+#!/bin/bash
+case "$1" in
+start)
+echo "pureftpd wird gestartet ..."
+cd /usr/local/pure-ftpd/current
+./sbin/pure-ftpd &
+;;
+stop)
+echo "pureftpd wird heruntergefahren ..."
+kill -TERM ‘cat /var/run/pure-ftpd.pid‘
+;;
+*)
+echo "Usage: $0 {start|stop}"
+exit 1
+;;
+esac
+exit 0
+77
+
+9. Apache
+chmod 755 /etc/init.d/pure-ftpd
+Rechte setzen
+cd /etc/rc5.d
+Verzechnis wechseln
+ln -s ../init.d/pure-ftpd S20pure-ftpd Link zum automatischen Starten
+cd /etc/rc0.d
+Verzechnis wechseln
+ln -s ../init.d/pure-ftpd K20pure-ftpd Link zum automatischen Beenden
+cd /etc/rc6.d
+Verzechnis wechseln
+ln -s ../init.d/pure-ftpd K20pure-ftpd Link zum automatischen Beenden
+useradd -g wwwadmin -d /srv -s /bin/false wwwadmin
+Benutzer wwwadmin anlegen
+passwd wwwadmin
+Passwort setzen
+NoAnonymous
+yes
+UnixAuthentication
+yes
+MinUID
+1000
+MinUID
+1000
+TrustedGID
+1002
+exit
+root abmelden
+9.3. Apache starten
+9.3.1. Apache starten
+Unter UNIX/Linux wird das httpd-Progamm als Daemon ausgeführt.
+apachectl start
+Apache starten
+rcapache start
+Apache starten(SuSE-Linux)
+9.3.2. Wie der Apache startet
+• apachectl ist die empfohlene Methode, das httpd-Programm zu starten
+• apachectl setzt verschiedene Umgebungsvariablen und startet das httpd-Programm
+• apachectl reicht alle Kommandozeilenargumente durch
+• als erstes liest der httpd die Konfigurationsdatei httpd.conf ein, die beim Kom-
+pilieren festgelegt wurde
+• zur Laufzeit kann der Ablageort geändert werden, z.B. apachectl -f /etc/apache2/httpd.conf
+• beim erfolgreicehn Start, trennt sich der Server vom Terminal ab
+• bis zum Port 1024 muss der Apache root-Berechtigung besitzen
+• der Haupt-httpd-Prozess läuft unter dem Benutzer root weiter
+78
+
+9.3. Apache starten
+• ist der Server gestartet, öffnet er seine Log-Dateien
+• der Apache startet mehrere Kind-Prozesse
+• die Kind-Prozesse werden unter weniger privilegierten Benutzerkennungen aus-
+geführt(z.B. nobody, wwwrun ...)
+• die Kind-Prozesse lauschen und beantworten Anfragen von Clients
+• die Kind-Prozesse werden von dem ausgewählten Multi-Processing-Modul(Apache-
+MPM prefork UNIX/Linux) gesteuert
+9.3.3. Fehler während des Hochfahrens
+• wird während des Hochfahrens einen schwerer Fehler feststellt, schreibt der Apa-
+che eine Nachricht auf die Konsole oder ins ErrorLog, bevor er sich selbst beendet
+• eine der häufigsten Fehlermeldungen ist Ünable to bind to Port ...", der Server
+läuft schon oder hat keine root-Berechtigung
+9.3.4. Automatisch starten und beenden
+• apachectl zu den Startdateien des Systems hinzufügen (rc.local, rc.x-Verzeichnis)
+z.B. SuSE-Linux:
+cd /etc/rc.d/rc3.d/
+ln -s ../apache S16apache
+Link zum automatischen Starten
+in Runlevel 3 anlegen
+ln -s ../apache K06apache
+Link zum automatischen Beenden
+in Runlevel 3 anlegen
+z.B. Debian:
+cd /etc/rc3.d/
+ln -s ../init.d/apache2 S20apachectl
+Link zum automatischen Starten in Runlevel 5 anlegen
+cd /etc/rc0.d/
+ln -s ../init.d/apache2 K20apachectl
+Link zum automatischen Beenden in Runlevel 0 anlegen
+9.3.5. Weitere Informationen
+http://localhost/manual/programs/httpd.html
+http://localhost/manual/de/programs/httpd.html
+http://localhost/manual/programs/apachectl.html
+http://localhost/manual/de/programs/apachectl.html
+79
+
+9. Apache
+9.4. Beenden und Neustarten
+9.4.1. Einleitung
+• um den Apache zu stoppen oder neu zu starten, muss ein Signal an den laufenden
+httpd-Prozess gesendet werden
+• es gibt zwei Möglichkeiten Signale zu senden, kill und apachectl
• auf dem System laufen mehrere httpd-Programme
• nur an den Elternprozess sollte ein Signal gesendet werden, /var/log/apache2/httpd.pid
• es gibt drei Signale die an den Elternprozess gesendet werden können, TERM -
+beenden, HUP - neustarten, USR1 - unterbrechungsfreier Neustart
+• es wird empfohlen apachectl zu benutzen
• mit tail -f /var/log/apache2/error_log"kann die Signalisierung beobachtet wer-
+den
+9.4.2. Beenden
+Signal: TERM
+apachectl stop
+sendet das TERM(stop) signal an
+den Elternprozess
+rcapache stop
+Apache stoppen
+bei SuSE-Linux
+kill -TERM ‘cat /var/log/apache2/httpd.pid‘
+sendet das TERM(stop) signal an
+den Elternprozess
+• das Senden des TERM(stop)-Signals an den Elternprozess veranlasst alle seine
+Kindprozesse sich zu beenden
+• es dauert etwas bis alle Kindprozesse beendet sind
• danach beendet sich der Elternprozess
• alle gerade bearbeiteten Anfragen werden abgebrochen
• es werden keine weiteren Anfragen mehr bedient
+9.4.3. Unterbrechungsfreier Neustart
+Signal: USR1
+apachectl graceful
+sendet das USR1 signal an
+den Elternprozess
+kill -USR1 ‘cat /var/log/apache2/httpd.pid‘
+sendet das USR1 signal an
+den Elternprozess
+80
+
+9.4. Beenden und Neustarten
+• das Senden des USR1-Signals an den Elternprozess veranlasst alle seine Kind-
+prozesse sich zu beenden
+• die Kindprozesse bearbeiten noch die letzten Anfragen und beenden sich dann
+• der Elternprozess liest, wärend die Kindprozesse noch laufen, seine Konfigurati-
+onsdateien erneut ein und öffnet seine Logdateien neu
+• die Kindprozesse werden wieder gestartet
+• die Serverstatistiken(mod_status) werden nicht auf Null zurückgesetzt
+• ist die Konfigurationsdatei fehlerhaft, wird der Elternprozess nicht neu gestartet
+• die Kindprozesse bearbeiten noch die letzten Anfragen und beenden sich dann
+• wäred noch die letzten Anfragen bearbeitet werden kann der httpd nicht gestartet
+werden
+9.4.4. Neustarten
+Signal: HUP
+apachectl restart
+sendet das HUP signal an
+den Elternprozess
+rcapache restart
+Apache stoppen und dann starten
+bei SuSE-Linux
+kill -HUP ‘cat /var/log/apache2/httpd.pid‘
+sendet das HUP signal an
+den Elternprozess
+• das Senden des HUP(wie TERM)-Signals an den Elternprozess veranlasst alle
+seine Kindprozesse sich zu beenden
+• der Elternprozess liest seine Konfigurationsdateien erneut ein und öffnet seine
+Logdateien neu
+• die Kindprozesse werden wieder gestartet und setzen die Bedienung von Zugriffen
+fort
+• die Serverstatistiken(mod_status) werden auf Null zurückgesetzt
+• ist die Konfigurationsdatei fehlerhaft, wird der Elternprozess nicht neu gestartet
+9.4.5. Anhang: Syntax überprüfen
+apachectl -t
+überprüft den Syntax der Konfigurationsdatei, so kann
+vermieden werden das der Apache nicht neu startet
+81
+
+9. Apache
+9.5. Anhang
+9.5.1. Zu den Dateien
+/etc/apache/
+/etc/apache2/
+/etc/httpd/
+/etc/httpd2/
+access.conf
+Zugriffs-Konfiguration
+httpd.conf
+Apache Konfigurationsdatei
+mime.types
+Zuweisung von Dateiendungen
+srm.conf
+Resource-Konfiguration
+/var/log/apache/
+/var/log/apach2/
+/var/log/httpd/
+/var/log/httpd2/access_log
+Zugriffsmeldungen
+error_log
+Fehlermeldungen
+httpd.pid
+Hauptprozessnummer
+9.6. Benutzerhandbuch
+9.6.1. httpd.conf
+ServerType standalone
+Apache nicht ueber den inetd starten.
+ServerRoot "/www/"
+Diese Einstellung sorgt dafür, dass der Apache
+ausgehend von diesem Verzeichnis die
+Verzeichnisse fuer Dokumente, Logfiles und
+Konfigurationsdateien sucht.
+LockFile /var/lock/subsys/httpd/httpd.accept.lock
+Spezifizert das Lock
+File.
+PidFile /var/run/httpd.pid
+Datei, in der sich die Prozess ID des Httpd-
+Daemons befindet.
+ResourceConfig /etc/httpd/srm.conf
+Diese Datei enthaelt Angaben zur
+Formatierung und dem Aussehen der
+automatisch erzeugten Verzeichnisindizes
+(FancyIndexing) sowie Angaben zu den einzelnen
+Dateitypen.
+AccessConfig /etc/httpd/access.conf
+Datei zur Definition der Funktionen und
+82
+
+9.6. Benutzerhandbuch
+Zugriffsrechte bestimmter Verzeichnisse
+Timeout 300
+Zeitlimit fuer Client-Anfragen in Sekunden.
+KeepAlive On
+Unterstuezung der HTTP/1.1 Persistent
+Connections. Dardurch koennen ueber eine TCP-
+Verbindung mehrere Anfragen an den Server
+geschickt werden.
+MaxKeepAliveRequests 10
+Es werden 10 aufeinanderfolgende Anfragen
+innerhalb einer Keep-Alive-Verbindung erlaubt.
+KeepAliveTimeout 15
+Der Server wartet maximal 15 Sekunden auf
+weitere Anfragen des Clients bei einer Keep-
+Alive-Verbindung.
+MinSpareServers 5
+Es existieren immer mindestens 5 und hoechstens
+MaxSpareServers 10
+10 leerlaufende Prozesse.
+StartServers 5
+Es werden automatisch 5 Kindprozesse des Apache
+gestartet.
+MaxClients 150
+Maximum von gleichzeitig laufenden
+Server-Prozessen.
+MaxRequestsPerChild 30
+Nach 30 Anfragen wird der Kindprozess beendet
+und gegebenfalls ein neuer gestartet.
+Listen 12.34.56.78:80
+Falls mehrere Interfaces bzw. IP Adressen fuer
+den Rechner vorhanden sind, kann mit Listen
+festgelegt werden, welche Ports fuer welche
+Adresse abgehoert werden sollen.
+Port 80
+Standalone Server Port 80
+User wwwrun
+Nach dem Oeffnen des Ports (als root), wechselt
+Group nogroup
+Apache zu der als User und Group angegebenen
+UID bzw. GID. Die Zuweisung kann entweder durch
+angeben des Namens oder durch # gefolgt von der
+ID erfolgen.
+ServerAdmin dv@mynet.loc
+Bei Fehlermeldungen wird diese Adresse dem
+Client zurueckgeliefert.
+ServerName www.mynet.loc
+Wird bei Redirects benoetigt (wenn man
+83
+
+9. Apache
+beispielsweise durch Eingabe von
+http://www.mynet.loc/main auf das Verzeichnis
+main zugreifen will, erzeugt der Apache einen
+Redirect auf http://www.mynet.loc/main/ . Ohne
+ServerName würde der richtige Hostname des
+Rechners zurückgeliefert werden.
+DocumentRoot "/www/htdocs/"
+Hier werden die HTML Seiten abgelegt.
+AllowOverride All
+Konfigurationsanweisungen in der .htaccess
+beachten
+UserDir public_html
+Homepage-Directory der Benutzer
+http://server/~benutzer/
+DirectoryIndex index.html index.htm index.php
+Wird nur ein Directory
+angegeben, wird automatisch die
+angegebene Datei gesucht und angezeigt.
+AccessFileName .htaccess
+Name der .htaccess
+DefaultType text/plain
+Dateien ohne Endung werden wie Text-Files
+behandelt.
+HostnameLookups Off
+Es sollen keine DNS-Lookups ausgefuert werden.
+ErrorLog /var/log/httpd/error_log
+Datei zur Aufnahme von Fehlermeldungen
+und sonstigen Info Meldungen
+(mod_log_config).
+LogLevel warn
+LogLevel :-) debug, info, notice, warn, error,
+crit,alert,emerg.
+LogFormat ...
+Legt das Format der Logdatei(en) fest.
+CustomLog /var/log/httpd/access_log common
+Erzeugt die Datei http.access im
+Common Log Format.
+ServerSignature Off
+ServerSignature kann man auf "Off" stellen,
+damit ein Zugriff auf eine nichtexistente Seite
+nicht Software und Versionsnummer anzeigt,
+jedoch bringt das nicht allzuviel, da im HTTP
+Header diese und wesentlich mehr Informationen
+zu finden sind.
+84
+
+9.6. Benutzerhandbuch
+Alias /icons/ "/www/icons/"
+Alias-Namen fuer bestimmte Verzeichnisse. Diese
+werden anschliessend behandelt, als wenn sie
+sich unter Document-Root befinden wuerden.
+Achtung! Die Einstellungen gelten auch fuer
+virtuelle Hosts.
+IndexOptions FancyIndexing
+Als Optionen sind angebbar:
+Fancyindexing - ausführliche Verzeichnisliste
+(Icons, Name, Größe, Kurzbeschreibung etc.)
+SuppressLastModified - keine Angabe der letzten
+Modifikationszeit
+SuppressSize - keine Angabe der Filegröße
+SuppressDescription - keine Angabe einer
+Kurzbeschreibung
+ScanHTMLTitles - HTML-Titel als Kurzbeschreibung
+(Achtung: Rechnerlast!)
+ReadmeName README
+Die Datei README wird bei der Ausgabe des
+Verzeichnisbaums angezeigt.
+HeaderName HEADER
+Die Datei HEADER wird am Anfangs-Tag in den
+Verzeichnisbaums angezeigt.
+IndexIgnore .??* *~ *#
+RCS CVS *,v *,t
+Diese Dateien werden nicht durch
+FancyIndexing angezeigt.
+TypesConfig /etc/httpd/mime.types
+Enthaelt die Zuweisungen Dateiendung
+zu Mime-Typ
+BrowserMatch "Mozilla/2" nokeepalive
+Hiermit wird der Apache angewiesen, auf
+bestimmte Browser unterschiedlich zu
+reagieren.
+9.6.2. Access Control List File (.htaccess)
+Die Datei .htaccess muß in dem zu schützenden Ordner angelegt werden.
+AuthUserFile /www/.htpasswd
+Pfad zu einer Passwortdatei
+AuthGroupFile /dev/null
+AuthName "Tux ;-)"
+AuthType Basic
+<Limit GET POST PUT>
+require user webmaster
+</Limit>
+85
+
+9. Apache
+AuthUserFile /www/.htpasswd
+Pfad zu einer Passwortdatei
+AuthGroupFile /www/.htgroup
+Pfad zu einer Gruppendatei
+AuthName "Tux ;-)"
+AuthType Basic
+<Limit GET>
+require group logins
+</Limit>
+9.6.3. Gruppendatei (.htgroup)
+cat .htgroup -->
+logins: benutzer1 benutzer2 ...
+9.6.4. Passwort-Datei (.htpasswd)
+htpasswd -c Passwortdatei Benutzername
+erzeugt eine neue Passwortdatei
+und ein Benutzer
+htpasswd Passwortdatei Benutzername
+erzeugt ein Benutzer
+9.6.5. Erstellen eines SSL-Zertifikats
+openssl req -new > firma.csr
+openssl rsa -in privkey.pem -out firma.key
+openssl x509 -in firma.csr -out firma.crt -req -signkey firma.key -days 10000
+cp firma.key /etc/httpd/ssl.key/server.key
+cp firma.crt /etc/httpd/ssl.crt/server.crt
+cp firma.csr /etc/httpd/ssl.csr/server.csr
+chown root privkey.pem
+chmod 400 privkey.pem
+9.6.6. LinkIcon (favicon.ico)
+Was ist ein favicon.ico?
+Immer wenn ein IE5 Benutzer eine Seite seinen Favoriten hinzufügt, sucht der IE5
+nach einem Icon das er anstatt des Standardicons in der Favoritenliste anzeigen kann.
+Er sucht zuerst im aktuellen ’Verzeichnis’ und geht dann Ebene für Ebene weiter bis
+zum Wurzelverzeichnis. Nehmen wir mal an, das aktuelle Dokument befindet sich un-
+ter http://www.bjoernsworld.de/suchmaschinen/ optimieren/aufraeumen.html, dann
+wird der IE 5 so nach dem Icon suchen:
+http://www.bjoernsworld.de/suchmaschinen/optimieren/favicon.ico
+http://www.bjoernsworld.de/suchmaschinen/favicon.ico
+http://www.bjoernsworld.de/favicon.ico
+86
+
+9.6. Benutzerhandbuch
+Er sucht solange, bis er eines gefunden hat oder bei /favicon.ico angekommen ist.
+Das gilt nur für den Internet Explorer Version 5.0 und 5.01; Version 5.5 sucht nur noch
+nach /favicon.ico selbstständig. Hat er eins gefunden, zeigt er es in der Favoritenliste
+an und beim erneuten Besuch der Seite auch links neben der URL in der Adresszeile:
+Welches Format hat das favicon.ico?
+Das favicon.ico ist ein Icon im Microsoft Windows Icon File Format. Windows Be-
+nutzer sehen täglich solche Icons auf ihrem Desktop, in ihrem Startmenü, etc. In der
+Favoritenliste wird dieses Icon in der Größe 16x16 Pixel dargestellt, daher sollte man
+das Icon auch in dieser Größe erstellen. Die Farbzahl beschränkt sich auf 16 bzw. 256
+Farben, wobei eine als transparente Farbe gilt.
+Welchen MIME-Type hat das favicon.ico?
+Der korrekte MIME-Type für das favicon.ico ist image/x-icon. Beim Apache Webserver
+kann man das in einer .htaccess mit der Zeile:
+AddType image/x-icon .ico
+konfigurieren.
+Wie erstelle ich ein favicon.ico?
+Man braucht dafür einen Icon Editor wie man sie zuhauf bei Tucows oder Winfiles. com
+finden kann. Mit z.B. dem Freeware Tool Irfan View ist es ohne Probleme möglich,
+eine Gifdatei in das Icon Format zu konvertieren. Macintosh Benutzer können den
+GraphicConverter von Thorsten Lemke oder den Iconographer von MscapeSoftware
+benutzen um das Icon zu erstellen. Bei favicon.com gibt es einen Online Editor in
+Java, mit dem man online sein eigenes favicon.ico erstellen kann.
+Wohin muss das favicon.ico?
+Wie oben schon gesagt, sucht der IE5, vor Version 5.5, zuerst im aktuellen ’Verzeichnis’
+und geht dann Ebene um Ebene nach oben, bis er unter http://host/favicon.ico ein
+Icon findet oder eben nicht. Man kann entweder in jedes Verzeichnis ein favicon.ico
+plazieren, oder im <HEAD> einer jeden HTML Datei auf ein Icon verweisen:
+<link rel="SHORTCUT ICON" href="/favicon.ico" title="external:/favicon.ico">
+Wenn der Apache Webserver mit mod_rewrite benutzt wird, kann man mit dieser
+Regel:
+RewriteEngine on
+RewriteRule ^(.+)/favicon\.ico$ /favicon.ico [R=permanent] [L]
+87
+
+9. Apache
+(z.B. in der .htaccess) alle Anfragen für favicons in Unterverzeichnissen auf das
+favicon.ico im Root-Verzeichnis der Domain umleiten.
+Wenn mod_rewrite nicht zur Verfügung steht, wohl aber Zugriff auf die Konfigu-
+rationsdateien Apache Web Servers, kann man in z.B. der <VirtualHost> Sektion
+folgenden Befehl einfügen:
+RedirectMatch Permanent ^(.+)/favicon\.ico$ http://server.de/favicon.ico
+Wie kann man diese Funktion abstellen?
+Es gibt meines Wissens nach keine Möglichkeit den IE5 dazu zu bringen, nicht nach
+dem favicon.ico zu suchen.
+Links zum Thema:
+http://www.favicon.de/
+http://www.favicon.com/
+http://wdvl.com/Authoring/Design/Images/Favicon/index.html
+http://msdn.microsoft.com/workshop/essentials/versions/ICPIE5.asp
+http://msdn.microsoft.com/workshop/Author/dhtml/howto/ShortcutIcon.asp
+http://www.winfiles.com/apps/98/icons-edit.html
+http://web.cip.com.br/flaviovs/sec/favicon/privacy.html
+http://web.cip.com.br/flaviovs/sec/favicon/index.html
+http://www.bjoernsworld.de/ie/398da66c.24234236@news.bjoern.hoehrmann.de.txt
+88
+
+10. MySQL
+10.1. Einleitung
+MySQL ist eine Datenbank und phpMyAdmin eine Web-Oberfläche, um MySQL zu
+konfigurieren.
+10.2. Kompilieren und Installieren
+10.2.1. Anforderungen
+• MySQL-Quellcode 4.x.xx, erhältlich bei http://www.mysql.com/
+• Linux 2.x.xx
+• ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab Ver-
+sion 2.95.4, wesentliche Generierungswerkzeuge wie make
+• phpMyAdmin 2.x.x(optional), erhältlich bei http://www.phpmyadmin.net/, Web-
+Server, Apache 1 oder 2 mit PHP 4 oder 5
+10.2.2. Vorbereitungen
+su
+als root anmelden
+mkdir /usr/local/src
+das Verzeichnis /usr/local/src anlegen,
+wenn es noch nicht vorhanden ist
+chmod 777 /usr/local/src
+Verzeichnis-Rechte setzen
+exit
+root abmelden
+cp Quelldateien /usr/local/src
+Quelldateien kopieren
+10.2.3. MySQL
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfz mysql-4.0.21.tar.gz
+Quelldateien entpacken
+cd mysql-4.0.21
+in das Quelldatei-Verzeichnis wechseln
+./configure --help
+Hilfe zu den miöglichen Optionen
+./configure --prefix=/usr/local/mysql/4.0.21 --localstatedir=/var/mysql/data
+prefix: Installations-Verzeichnis
+localstatedir: Daten-Verzeichnis
+make
+Programm herstellen
+89
+
+10. MySQL
+su
+als root anmelden
+make install
+Programm installieren (als root!)
+ln -s /usr/local/mysql/4.0.21 /usr/local/mysql/current
+Link zu MySQL
+cp support-files/mysql.server /etc/init.d/mysql
+Startdatei kopieren
+chmod 755 /etc/init.d/mysql
+Dateirechte einstellen
+ln -s /etc/init.d/mysql /etc/rc5.d/S20mysql
+Link zum Starten in Runlevel5 anlegen
+ln -s /etc/init.d/mysql /etc/rc6.d/K20mysql
+Link zum Beenden in Runlevel6 anlegen
+ln -s /etc/init.d/mysql /etc/rc0.d/K20mysql
+Link zum Beenden in Runlevel0 anlegen
+groupadd mysql
+Gruppe mysql anlegen
+useradd -g mysql -d /usr/local/mysql/current -s /bin/false mysql
+Benutzer mysql anlengen
+mkdir -p /var/mysql/data
+Daten-Verzeichnis anlegen
+./scripts/mysql_install_db --user=mysql initiale Datenbank installieren
+cd /usr/local/mysql/current
+in das mysql Verzeichnis wechseln
+cp share/mysql/my-medium.cnf /var/mysql/data/my.cnf
+Konfiguration anlegen
+chown -R root:mysql .
+Benutzer-Gruppen-Rechte setzen
+chown -R mysql:mysql /var/mysql/data
+Rechte für das Daten-Verzeichnis setzen
+/etc/init.d/mysql start
+mysql starten
+./bin/mysqladmin -u root password ’geheim’
+Datenbank-Passwort setzen
+Achtung ! das Passwort steht danach in
+der ~/.bash_history
+10.2.4. MySQL Testen
+./bin/mysql -D mysql -u root -p
+Client starten und zugriff auf die
+Steuerungs-Datenbank nehmen
+mysql> show tables;
+Tabelle anzeigen
++-----------------+
+| Tables_in_mysql |
++-----------------+
+| columns_priv
+|
+| db
+|
+| func
+|
+| host
+|
+| tables_priv
+|
+| user
+|
+90
+
+10.2. Kompilieren und Installieren
++-----------------+
+6 rows in set (0.00 sec)
+mysql> exit;
+Client beenden
+Bye
+exit
+root abmelden
+10.2.5. phpMyAdmin
+su
+als root anmelden
+cd /srv/www/htdocs
+in das Apache1.3-Verzeichnis wechseln
+cd /srv/www2/htdocs
+in das Apache2-Verzeichnis wechseln
+tar xvfj /usr/local/src/phpMyAdmin-2.5.7-pl1.tar.bz2
+Dateien entpacken
+ln -s phpMyAdmin-2.5.7-pl1 phpMyAdmin
+Link zu phpMyAdmin anlegen
+vi phpMyAdmin/config.inc.php
+phpMyAdmin anpassen
+$cfg[’PmaAbsoluteUri’] = ’http://localhost/phpMyAdmin/’;
+URL zu Apache1.3
+$cfg[’PmaAbsoluteUri’] = ’http://localhost:81/phpMyAdmin/’;
+URL zu Apache2
+$cfg[’Servers’][$i][’user’]
+= ’root’;
+// MySQL user
+$cfg[’Servers’][$i][’password’]
+= ’geheim’; // MySQL password
+vi phpMyAdmin/.htaccess
+htaccess anlegen
+AuthType Basic
+AuthName "PhpMyAdmin"
+AuthUserFile /srv/www/htdocs/phpMyAdmin/.htpasswd
+Apache1.3
+AuthUserFile /srv/www2/htdocs/phpMyAdmin/.htpasswd
+Apache2
+AuthGroupFile /dev/null
+<Limit GET POST>
+require valid-user
+</Limit>
+cd /usr/local/apache/current/bin
+Verzeichnis wechseln, Apache1.3
+cd /usr/local/apache2/current/bin
+Verzeichnis wechseln, Apache2
+./htpasswd --help
+Hilfe zu htpasswd
+./htpasswd -c /srv/www/htdocs/phpMyAdmin/.htpasswd root
+Apache1.3
+./htpasswd -c /srv/www2/htdocs/phpMyAdmin/.htpasswd root
+Apache2
+vi /etc/apache/httpd.conf
+Apache1.3 anpassen
+91
+
+10. MySQL
+vi /etc/apache2/httpd.conf
+Apache2 anpassen
+<Directory "/srv/www/htdocs">
+Options Indexes FollowSymLinks MultiViews
+AllowOverride AuthConfig
+None -> AuthConfig
+Order allow,deny
+Allow from all
+</Directory>
+/etc/init.d/apache graceful
+Einstellungen neu einlesen, Apache1.3
+/etc/init.d/apache2 graceful
+Einstellungen neu einlesen, Apache2
+exit
+root abmelden
+92
+
+11. PHP
+11.1. Einleitung
+Wer hat PHP erfunden ?
+Der Kanada-Däne Rasmus Lerdorf !
+Was heist PHP ?
+Personal Home Page Tools
+Was ist PHP ?
+Eine einfache Skriptsprache. Sie wird direkt
+in HTML-Seiten eingefügt und vom Webserver
+interpretiert.
+Wie funktioniert PHP ?
+Der Browser schickt einen HTTP-Request an den
+Webserver. Der Server reagiert, liest die
+PHP-Seite ein, und führt die Skripte aus und
+schickt erst das fertig zusammengesetzte
+Dokument zurück an den Browser !
+LAMP - Linux-Apache-MySQL-PHP
+WAMP - Windows-Apache-MySQL-PHP
+11.2. Kompilieren und Installieren
+11.2.1. Anforderungen
+• PHP 4 oder 5, erhältlich bei http://www.php.net/
+• Linux ab 2.4.xx(z.B.Debian Sarge 3.1)
+• ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab Ver-
+sion 2.7.2, wesentliche Generierungswerkzeuge wie make
+• Webserver z.B. Apache 1.3 oder 2
+• GD-Library ab 2.x.x, erhältlich bei http://www.boutell.com/gd/, Freetype ab
+2.x.x, erhältlich bei http://www.freetype.org/, Zlib ab 1.x.x, erhältlich bei http://www.gzip.org/zlib/,
+IJG JPEG, erhältlich bei http://www.ijg.org/
+11.2.2. Vorbereitungen
+su
+als root anmelden
+mkdir /usr/local/src
+das Verzeichnis /usr/local/src anlegen,
+wenn es noch nicht vorhanden ist
+93
+
+11. PHP
+chmod 777 /usr/local/src
+Verzeichnis-Rechte setzen
+exit
+root abmelden
+cp Quelldateien /usr/local/src
+Quelldateien kopieren
+11.2.3. Libraries für Zusatzfunktionen
+Freetype
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfj freetype-2.1.9.tar.bz2
+Quelldateien entpacken
+cd freetype-2.1.9
+in das Quelldatei-Verzeichnis wechseln
+./configure
+Codebaum konfigurieren
+make
+Programm herstellen
+su
+als root anmelden
+make install
+Programm installieren
+exit
+root abmelden
+Zlib
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfz zlib-1.2.1.tar.gz
+Quelldateien entpacken
+cd zlib-1.2.1
+in das Quelldatei-Verzeichnis wechseln
+./configure
+Codebaum konfigurieren
+make
+Programm herstellen
+su
+als root anmelden
+make install
+Programm installieren
+exit
+root abmelden
+IJG JPEG
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfz jpegsrc.v6b.tar.gz
+Quelldateien entpacken
+cd jpeg-6b
+in das Quelldatei-Verzeichnis wechseln
+./configure --help
+Hilfe zu den möglichen Optionen
+./configure --enable-shared
+--enable-static
+--prefix=/usr/local
+make
+Programm herstellen
+make test
+Programm testen
+su
+als root anmelden
+make install
+Programm installieren
+exit
+root abmelden
+GD-Library
+cd /usr/local/src
+Verzeichnis wechseln
+94
+
+11.2. Kompilieren und Installieren
+tar xvfz gd-2.0.28.tar.gz
+Quelldateien entpacken
+cd gd-2.0.28
+in das Quelldatei-Verzeichnis wechseln
+./configure
+Codebaum konfigurieren
+make
+Programm herstellen
+su
+als root anmelden
+make install
+Programm installieren
+exit
+root abmelden
+11.2.4. PHP
+cd /usr/local/src
+Verzeichnis wechseln
+tar xvfj php-5.0.1.tar.bz2
+Quelldateien entpacken
+cd php-5.0.1
+in das Quelldatei-Verzeichnis wechseln
+./configure --help
+Hilfe zu den möglichen Optionen
+./configure --with-apxs=/usr/local/apache/current/bin/apxs
+Apache 1.3 oder
+--with-apxs2=/usr/local/apache2/current/bin/apxs
+Apache 2
+--with-mysql=/usr/local/mysql/current
+--with-zlib
+--with-ftp
+--with-gd
+--with-jpeg-dir=/usr/local/lib
+--enable-versioning
+--enable-track-vars=yes
+--enable-url-includes
+--enable-sysvshm=yes
+--enable-sysvsem=yes
+--with-config-file-path=/etc
+make
+Programm herstellen
+su
+als root anmelden
+make install
+Programm installieren
+cp php.ini-dist /etc/php.ini
+PHP-Konfiguration kopieren
+vi /etc/apache/httpd.conf
+Apache1.3 anpassen
+vi /etc/apache2/httpd.conf
+Apache2 anpassen
+LoadModule php5_module
+modules/libphp5.so
+Apache2
+LoadModule php5_module
+libexec/libphp5.so
+Apache1.3
+AddModule mod_php5.c
+Apache1.3
+DirectoryIndex index.html index.htm index.html.var index.php index.phtml
+AddType application/x-httpd-php .php
+AddType application/x-httpd-php-source .phps
+exit
+root abmelden
+95
+
+11. PHP
+11.3. Referenz
+11.3.1. Grundlagen
+<?php , <? oder <%
+Beginn des PHP-Abschnitts
+?> oder %>
+Ende des PHP-Abschnitts
+;
+Zeilenende
+// Kommentartext
+Einzeiliger Kommentartext
+/* Kommentartext
+Einleitung, mehrzeiliger Kommentartext
+Kommentartext */
+Abschluss, mehrzeiliger Kommentartext
+$
+Variablen anfang
+echo "Text" ;
+Text ausgeben
+echo "Text $Variable Text" ;
+Variable ausgeben
+echo "Text".$Variable."Text" ; . Verketten von Zeichenfolgen
+echo "Text\n" ;
+\n Erzeugt eine neue Zeile
+echo "Text\r" ;
+\r Erzeugt einen neuen Absatz (return)
+echo "Text\tText" ;
+\t Erzeugt ein Tabulatorschritt
+echo "\"Text\"" ;
+\" Gänsefüßchen ausgeben
+echo "\’Text\’" ;
+\’ Einfache Anführungszeichen ausgeben
+echo "\$Text\$" ;
+\$ Dollar-Zeichen ausgeben
+echo "\\Text\\" ;
+\\ Backslash ausgeben
+$Array[Indexwert]="Wert" ;
+Wert einer Array-Variable zuweisen (Langform)
+$Array=array("W0","W1") ;
+Werte einer Array-Variable zuweisen (Kurzform)
+echo $Array[Indexwert] ;
+Wert einer Array-Variable ausgeben
+$Array[Index-Ersatz]="Wert" ;
+Wert eines Assoziativen-Arrays zuweisen (Langf.)
+$Array=array("I-E0"=>"W0","I-E1"=>"W1") ;
+Werte eines Assoziativen-Arrays zuweisen(Kurzf.)
+echo $Array[Index-Ersatz] ;
+Wert eines Assoziativen-Arrays ausgeben
+$a=$b+$c ;
+Addition von $b und $c gleich $a
+$a=$b-$c ;
+Subtraktion von $b minus $c gleich $a
+$a=$b*$c ;
+Multiplikation von $b mal $c gleich $a
+$a=$b/$c ;
+Division $b geteilt durch $c gleich $a
+$a++ ;
+$a=$a+1 ;
+$a-- ;
+$a=$a-1 ;
+$a=3.1415 ;
+. Dezimaltrenner
+11.3.2. Funktionen
+phpinfo() ;
+PHP-Informationen ausgeben
+$Wochentag=date("w") ;
+Wochentag ermitteln 0-So bis 6-Sa
+$Monatszahl=date("m") ;
+Monatszahl ermitteln
+$Anzahl=count($Array) ;
+Elemet-Anzahl eines Arrays ermitteln
+$Wert=round($Wert,Nachkommastellen) ;
+Rundet den Wert mit Nachkommastellen
+$Wert=sprintf("%01.2f",$Wert) ; Rundet den Wert auf 2 :Nachkommastellen
+96
+
+12. Squid
+12.1. Proxy
+Squid = Proxy-Cache = Stellvertreter-Zwischenspeicher
+12.2. Einfacher Cache
+*---------------*
+*------------* | *---------* | *------------*
+| lokaler Cache |<--->| WWW-Client |<--->| Intenet |<--->| WWW-Server |
+*---------------*
+*------------* | *---------* | *------------*
+Die einfachste form des Caches
+|
+|
+12.3. Proxy Cache
+*------------*
+| WWW-Client |<-+
+|
+|
+*------------* |
+|
+|
+|
+|
+|
+*------------* | *-------------* | *---------* | *------------*
+| WWW-Client |<-+->| Proxy Cache |<--->| Intenet |<--->| WWW-Server |
+*------------* | *-------------* | *---------* | *------------*
+|
+|
+|
+*------------* |
+|
+|
+| WWW-Client |<-+
+|
+|
+*------------*
+12.4. Aufgaben
+• Zwischenspeichern von Internetseitten -> Beschleunigter Zugriff auf Internetin-
+halte
+• Abkoppelung vom direkten Zugriff auf das Internet -> Erhöte Sicherheit im
+lokalem Netz
+• Filterung von Interrnetseiten
+• Protokollierung des Internetverkehrs
+97
+
+12. Squid
+12.5. Eigenschaften
+• Größe des Cache kann frei definiert werden
+• Aufbau von Cache-Hierarchien
+• Eigener DNS-Cache
+• Authentifizierung über zusätzliche Module möglich
+• Für Win, OS/2, Linux, BSD, Solaris verfügbar
+• Ausfilterung und Anonymisierung der Anfragen
+• Sehr flexible Zugriffskontrolle
+• Filterung über externe Programme (Squid-Guard)
+12.6. Protokolle
+12.6.1. Client-Kommunikation
+• Hyper Text Transfer Protocol (HTTP)
+• File Transfer Protocol (FTP)
+• Gopher
+• Wide Area Information Service (WAIS)
+• Secure Socket Layer (SSL)
+12.6.2. Kommunikation zwischen Proxy-Cache-Servern
+• HyperText Transfer Protocol (HTTP)
+• Internet Cache Protocol (ICP(3130))
+• Cache Digests (Index von anderen Caches abfragen)
+• Simple Network Management Protocol (SNMP)
+• HyperText Caching Protocol (HTCP(4837))
+• Web Cache Coordination Protocol (WCCP)
+98
+
+12.7. Systemvoraussetzungen
+12.7. Systemvoraussetzungen
+• Langsamme CPU
+• Viel RAM
+• Schnelle Festplatte(n)
+• Große Festplatte(n)
+12.8. SuSE Linux
+rcsquid start
+Squid starten
+rcsquid stop
+Squid stoppen
+rcsquid restart
+Squid stoppen und dann starten
+rcsquid status
+Squid info
+12.9. Automatische Starten von Squit
+cd /etc/rc.d/rc5.d/
+ln -s ../squid S22squid
+Link zum automatischen Starten in Runlevel 5
+anlegen.
+ln -s ../squid K02squid
+Link zum automatischen Beenden in Runlevel 5
+anlegen.
+12.10. Squiddateien
+/etc/squid.conf
+Squid Konfigurationsdatei
+/usr/share/squid/errors/
+Fehlermeldungen die der Squid ausgibt
+/var/cache/squid/
+Squid-Cache
+/var/log/squid/access.log
+Log-Datei mit allen Zugriffen
+/var/log/squid/cache.log
+Cache-Aktivitaeten
+12.11. squid.conf
+http_port: Proxy-Portnummer
+# http_port 3128
+http_port 8080
+cache_mem: Hauptspeicherverbrauch (x3)
+# cache_mem 8 MB
+maximum_object_size: maximale groeße einer Datei die der Proxy speichert
+# maximum_object_size 4096 KB
+99
+
+12. Squid
+minimum_object_size: minimale groeße einer Datei die der Proxy speichert
+# minimum_object_size 0 KB
+cache_dir: Verzeichnisname GroeßeMByte Ebene1 Ebene2
+# cache_dir ufs /var/cache/squid 100 16 256
+cache_dir ufs /var/cache/squid 400 16 256
+cache_access_log: Log-Datei mit allen Zugriffen
+# cache_access_log /var/log/squid/access.log
+cache_log: Log-Datei fuer alle Cache-Aktivitaeten
+# cache_log /var/log/squid/cache.log
+debug_options: ALL,1-normal 9-maximal
+# debug_options ALL,1
+log_fqdn: Bei on wird der Name und bei off wird die IP-Nummer
+in der access.log speichert
+# log_fqdn off
+log_fqdn off
+client_netmask: Zum Anonymisieren
+255.255.255.255 volle IP-Nr.,
+255.255.255.0 ersten 3 Stellen
+# client_netmask 255.255.255.255
+ftp_user: Anonymer FTP-Name
+# ftp_user Squid@
+ftp_user Anonymous@
+dns_children: maximale Anzahl der DNS Prozesse
+# dns_children 5
+dns_nameservers: Eintrag fuer DNS-Server
+#dns_nameservers 194.25.2.129 192.168.6.66
+reference_age: maximale Alter der Cachefiles (0.0 week/days/months/hours)
+# reference_age 1 year
+negative_ttl: gibt an wie lange eine negative DNS Aufloesung gueltig ist
+# negative_ttl 5 minutes
+http_access: Zugriffsrechte fuer den Cache
+100
+
+12.11. squid.conf
+# acl - aclname acltype string - definiert eine Zuganskontrolle und Sperrliste
+# src - Client IP-Adresse/Adressbereich
+# dst - Zielserver IP-Adresse/Adressbereich
+# srcdomain - Client (Domain-)Name
+# dstdomain - Zielserver (Domain-)Name
+# srcdom_regex - Cient (Domain-)Name als RegEx
+# dstdom_regex - Zielserver (Domain-)Name als RegEx
+# port - Port oder -bereich für Verbindungen
+# proto - Protokoll (z.B. HTTP, FTP ...) für die Verbindung
+# method - Methode der Verbindung (z.B. GET, POST ...)
+# proxy_auth - Benutzernamen bei Authentifizierung
+# urlpath_regex Teil einer URL als RegEx
+acl all src 0.0.0.0/0.0.0.0
+acl rotten dstdomain www.rotten.com
+http_access deny rotten
+http_access allow all
+cache_mgr: E-Mail bei einen Fehler an: E-Mail oder Alias(/etc/aliases)
+# cache_mgr webmaster
+cache_effective_user: BenutzerName/ID
+# cache_effective_user squid
+cache_effective_group: GruppenName/ID
+# cache_effective_group nogroup
+visible_hostname: ServerName bei Fehlermeldungen
+# none
+visible_hostname proxy.gelbdmz.loc
+logfile_rotate: Zeit der Logdateien in Wochen
+# logfile_rotate 0
+append_domain: Kein Punkt in der URL ? Dann diesen Domainnamen anhaengen
+# none
+append_domain .meak.de
+error_directory: Verzeichnis zu den Fehlermeldungen die der Squid ausgibt
+#error_directory /usr/share/squid/errors
+101
+
+
+Teil IV.
+Programmieren
+103
+
+
+13. Bash
+13.1. Einleitung
+Was heist BASH ?
+Bourne-Again SHell
+Was ist die BASH ?
+Standard-Shell der meisten Linux-Distributionen
+Eine fast komplette Programmiersprache
+BASH-Programme werden auch SScripte"(Protokolle) genannt !
+13.2. Referenz
+#!/bin/bash
+Pfad zur Shell die das Programm ausführen soll
+chmod u+x Script
+Macht das Script ausführbar
+bash Script oder sh Script
+so gehts auch
+#
+Kommentar bis Zeilenende
+:
+Null-Funktion. Ein Befehl, der nichts tut.
+(( oder [
+)) oder ]
+echo Text
+Gibt den Text aus
+echo "Text"
+Gibt den Text aus
+echo Text
+Text
+Gibt den Text mit nur einer Leerstelle aus
+echo "Text
+Text"
+Gibt den Text mit allen Leerstellen aus
+echo Text\ \ \ Text
+Gibt den Text mit allen Leerstellen aus
+Variable=7
+Speichert 7 in der Variable
+Variable=z
+Speichert z in der Variable
+echo $Variable
+Gibt den Inhalt der Variable aus
+echo ${Variable}
+Gibt den Inhalt der Variable aus
+Wert=$[$Wert+1]
+Wert=Wert+1
+Wert=$(($Wert+1))
+Wert=Wert+1
+: $[Wert+=1]
+Wert=Wert+1
+: $((Wert+=1))
+Wert=Wert+1
+105
+
+13. Bash
+13.3. Steuer und Sonderzeichen der Bash
+Zeichen
+Funktion
+-------
+--------
+Leerzeichen (space)
+Trenner zwischen Programm-Parametern
+Tabulator (tab)
+Trenner zwischen Programm-Parametern
+Return (newline)
+Befehlseingabe
+\ (backslash)
+Escape-Zeichen
+| (pipe)
+Verkettung der Ein-/Ausgabe mehrerer Programme
+& (ampersand)
+Programm als Hintergrund-Prozess starten,
+Ein-/Ausgabeumleitung
+; (semikolon)
+Trenner zwischen zwei Programmaufrufen
+( ) (braces)
+Gruppierung, Berechnung
+106
+
+14. git
+14.1. Dokumentation
+git help status
+Manpage von git status anzeigen
+git status --help
+Manpage von git status anzeigen
+man git-status
+Manpage von git status anzeigen
+14.2. Konfiguration
+git config --global ...
+Speichern im Homeverzeichnis .gitconfig
+git config --system ...
+/etc/gitconfig konfigurieren unueblich
+git config ...
+Arbeitsverzeichnis .git/config
+git config user.name "Max Mustermann"
+Name konfigurieren
+git config user.email "max.mustermann@examle.com"
+E-Mail konfigurieren
+git config --unset user.name
+Name löschen
+git config alias.st status
+Alias status -> st herstellen
+[alias]
+nützliche Abkürzungen
+st = status
+ci = commit
+br = branch
+co = checkout
+df = diff
+he = help
+cl = clone
+git config -e
+startet Editor auf der Konfiguration
+git config color.ui auto
+Farben einstellen
+git config core.eol lf,crlf oder native Zeilenende lf-Linux crlf-Windows
+native-System-Default
+git config core.safecrlf
+Verbietet Commit bei vermischung
+git config core.autocrlf input
+sichere Einstellung bei älteren
+Git-Versionen unter Windows
+git config il8n.commitEncoding ISO-8859-1Zeichenkodierung ISO-8859-1
+Standart UTF-8
+git config core.pager ’env LESSCHARSET=iso8859 less’
+Zeichenkodierung für den Pager
+git config core.editor vim
+Vim als Editor einstellen
+107
+
+14. git
+git config core.browser ...
+Browser einstellen
+git config help.autocorrect n
+beim Vertippen ähnliches Subkommando
+ausführen, n Zentelsekunden bis zum
+Ausführen, -1 für sofort aus, 0 zeigt
+nur Möglichkeiten an
+git config --list
+alle Einstellungen anzeigen
+14.3. Konfigurationen über Umgebungsvariablen
+GIT_EDITOR
+Editor den Git verwendet
+sonst greift die Variable EDITOR
+GIT_PAGER
+der wert cat schaltet den Pager aus
+GIT_AUTHOR_EMAIL
+E-Mail für den Autor des Commits
+GIT_COMMITTER_EMAIL
+E-Mail für das Commiter-Feld des Commits
+GIT_AUTHOR_NAME
+Name für den Autor des Commits
+GIT_COMMITTER_NAME
+Name für das Commiter-Feld des Commits
+GIT_DIR
+Verzeichnis, in dem sich das Git-Repository befindet
+macht nur sinn bei einem Git-Repository
+14.4. Der Index
+Der Inhalt von Dateinen liegt für Git auf drei Ebenen, den Working Tree, dem Index
+und dem Repository.
+clone/fetch/pull
++----------+ --------------------------------------------------> +
+|Repository|
+|
+--bare init |(origin) | push
+|
+----------> +----------+ <--------------------------------------- +
+|
+|
+|
+status
+add
+status
+commit/--amend
+|
+|
++------------+ ---------> +--------------+ ---------------------> +----------+
+|Working Tree| diff
+|Index
+| diff --staged/--cached |Repository|
+|
+| <--------> |(Staging Area)| <--------------------> |
+|
++------------+ <--------- +--------------+ <--------------------- +----------+
+| reset HEAD
+reset HEAD --
+|
+|
++ -------------------------------------------------> +
+|
+checkout --
+|
+init
+|
+---------------------------------------------------------------------------> +
+git diff
+zeigt den Unterschied zwischen Working Tree
+und Index an
+git diff --color-words
+Änderugen Fablich anzeigen
+108
+
+14.5. Repository
+grün-hinzugekommen rot-entfernt
+git diff --word-diff --no-color ohne Frabe mit Zeichen
+git diff --staged
+zeigt den Unterschied zwischen
+Index(Staging Area) und Repository an
+git diff --cached
+zeigt den Unterschied zwischen
+Index(Staging Area) und Repository an
+14.5. Repository
+git init Beispiel
+Neues Repository herstellen, legt Verzeichnis Beispiel
+an wenn nicht schon vorhanden
+git status
+zeigt den aktuellen Zustand an
+git log
+die Commit Historie anzeigen
+14.6. Commit
+git add Datei
+Datei zum Index hinzufügen
+git add -u oder --update
+Alle Veränderungen in den Index übertragen
+git reset HEAD Datei
+aus der Staging Area zu entfernen
+git commit -m "Erste Version"
+Index zum Working Tree hinzufügen
+git add forgotten_file
+Datei zum Index hinzufügen
+git commit --amend
+den letzten Commit ändern
+git show
+Commit einsehen
+git log
+Commits anzeigen
+14.7. Dateien entfernen
+git rm Datei
+Datei in deinem Arbeitsverzeichnis behalten,
+aber aus der Staging Area nehmen
+git rm -f Datei
+Datei aus dem Arbeitsverzeichis und Index löschen
+git reset HEAD Datei
+Datei in Deinem Arbeitsverzeichnis behalten,
+aber aus der Staging Area nehmen
+14.8. Dateien verschieben
+git mv Datei_alt Datei_neu
+Datei verschieben
+14.9. Änderung an einer Datei rückgängig machen
+git checkout -- Datei
+Datei zurückversetzen auf den letzten Commit oder Klone
+109
+
+14. git
+14.10. Dateien ignorieren
+Dateien im Projektverzeichnis die nicht versioniert im Repository sein sollen
+kommen in die Datei .gitignore.
+.gitignore#
+Zeile mit # oder leere wird ignoriert
+*.o
+ignoriert alle Dateien die mit .o enden
+!lib.o
+wird nicht ignoriert
+/TODO
+ignoriert den Ordner TODO
+build/
+ignoriert alle Dateien im build Verzeichnis
+doc/*.txt
+ignoriert alle .txt Dateien im doc Verzeichnis
+doc/**/*.txt
+ignoriert alle .txt Dateien unterhalb des doc
+Verzeichnis
+14.11. Mit externen Repositorys arbeiten
+git clone git://git.kernel.org/pub/scm/git/git.git
+git Repository herunterladen, Port 9418
+git clone file:///home/git/project.git
+Repository herunterladen, legt harte
+Links an wenn möglich
+git clone ssh://user@server/project.git ssh Repository herunterladen, Port 22
+git clone http(s)://example.com/gitproject.git
+http(s) Repository herunterladen,
+Port 80(443)
+git remote -v
+zeigt an, welche externen Server für
+das Projekt lokal konfiguriert sind
+git remote add Name URL
+Remote Repository hinzufügen
+git remote add origin ssh://git@sonne:/srv/git/linux.git
+Beispiel
+git fetch Name
+Informationen aus dem Remote Repository
+herunterladen
+git pull Name
+entspricht git fetch git merge
+git checkout -b Branch origin/Branch
+erstellt einen lokalen bearbeitbaren
+Branch
+git push origin master
+Änderungen in ein Remote Repository
+hochladen
+git push Remote Branch
+Brauch auf Remote hochladen
+git push Remote :Branch
+löschen entfernter Branches
+git remote show Name
+zeigt die URL für das Remote
+Repository, die Information welche
+Branches verfolgt werden und welcher
+Branch aus dem Remote Repository mit
+dem eigenen Master zusammengeführt
+wird, wenn Du git pull ausführst
+110
+
+14.12. Tags
+git remote rename Name_alt Name_neu
+Name des Remote Repository lokal ändern
+git remote rm Name
+Remote Repository entfernen
+14.12. Tags
+git tag
+vorhandene Tags anzeigen
+git tag -a v1.4 -m ’my version 1.4’
+einen kommentierten Tag anlegen
+git tag -s v1.5 -m ’my signed 1.5 tag’
+einen kommentierten und signierten Tag anlegen
+git tag -v v1.4.2.1
+einen signierten Tag zu verifizieren
+git tag -a v1.2 -m ’version 1.2’ Checksumme
+im Nachhinein taggen, Checksumme des Commits
+oder einen Teil davon angeben
+git log --pretty=oneline
+Commit Historie mit Checksumme
+git push origin v1.5
+Tag veröffentlichen
+git push origin --tags
+Tags veröffentlichen
+git tag -d v1.5
+Tag löschen
+git push origin :refs/tags/v1.5 veröffentlichen Tag löschen
+14.13. Branch
+Was ist ein Branch? Ein Zeiger, der auf den gleichen Commit zeigt, auf dem Du gerade
+arbeitest.
+git branch testing
+erstellt einen neuen Branch mit dem Namen testing
+git checkout testing
+um zu einem anderen Branch zu wechseln
+git branch -b testing
+erstellt und wechselt zu dem Branch
+git merge testing
+führt testing mit dem Master-Branch zusammen
+git branch -d testing
+entfernt testing
+git merge master
+Deinem Zweig mit dem master kombinieren
+git rebase master
+alle Änderungen auf einem Branch, auf einen anderen
+Branch erneut anwenden (nur mit unveröffendlichen
+Branch machen)
+git mergetool
+grafischen Tool zur Bereinigung von Merge-Konflikten
+git branch
+Liste aller Branches anzeigen
+git branch -v
+für jeden Branch den letzten Commit anzeigen lassen
+git branch --merged
+Liste gemergter Branches
+git branch --no-merged
+Liste nicht gemergter Branches
+14.14. Git Aliase
+git config --global alias.co checkout
+co anstelle von checkout schreiben
+111
+
+14. git
+git config --global alias.br branch
+br anstelle von branch schreiben
+git config --global alias.ci commit
+ci anstelle von commit schreiben
+git config --global alias.st status
+st anstelle von status schreiben
+14.15. Git auf einen Server bekommen
+git clone --bare my_project my_project.git
+Projekt zu Projekt.git klonen
+scp -r my_project.git user@git.example.com:/opt/git
+Projekt per ssh hochladen
+git clone user@git.example.com:/opt/git/my_project.git
+Projekt per ssh zum Arbeiten herunterladen
+ssh user@git.example.com
+auf dem Server anmelden
+cd /opt/git/my_project.git
+Projektverzeichnis betreten
+git init --bare --shared
+Gruppenschreibrechte zu einem Repository
+hinzufügen
+14.16. Git auf dem SSH-Server einrichten
+Einrichtung des SSH-Zugangs auf dem Server mit der Authorized-Keys-Methode zur
+Authentifizierung der Benutzer.
+sudo adduser git
+Benutzer git anlegen
+su git
+Rechte von User git erlagen
+cd
+ins Home ~ Verzeichnis des Users wechseln
+mkdir .ssh
+Verzeichnis .ssh anlegen
+- öffentliche SSH-Schlüssel der Entwickler zu der Authorized-Keys-Datei des Benut-
+zers git hinzuzufügen.
cat /tmp/id_rsa.user1.pub > ~/.ssh/authorized_keys
+authorized_keys erstellen und User1 einfügen
+cat /tmp/id_rsa.user2.pub >> ~/.ssh/authorized_keys
+User2 einfügen
+cat /tmp/id_rsa.user3.pub >> ~/.ssh/authorized_keys
+User3 einfügen
+- Leeren Ordner anlegen und mit der Option –bare ein Repository ohne ein Arbeits-
+verzeichnis erzeugen.
cd /srv
+in den Ordner srv wechseln
+mkdir git
+git Ordner anlegen
+cd git
+in den Ordner git wechseln
+mkdir project.git
+project.git Ordner anlegen
+cd project.git
+in den Ordner project.git wechseln
+git --bare init
+Repository ohne ein Arbeitsverzeichnis erzeugen
+112
+
+14.17. Öffentlicher Webserver-Zugang
+- Die erste Version des Projektes in das Repository hochladen
+cd project
+in das Projekt wechseln
+git init
+Projekt Repository herstellen
+git add .
+alle Dateien um Index hinzufügen
+git commit -m ’initial commit’
+Index zum Working Tree hinzufügen
+git remote add origin git@gitserver:/srv/git/project.git
+Server hinzufügen
+git push origin master
+Commits und Referenzen auf den Server hochladen
+- Repository klonen und Änderungen hochladen
+git clone git@gitserver:/srv/git/project.git
+Repository klonen
+cd project
+ins Projekt wechseln
+vim README
+Projekt bearbeiten
+git commit -am ’fix for the README file’
+Änderung speichern
+git push origin master
+Änderung hochladen
+- Git-Zugang absichen
+/etc/passwd
+git:x:1000:1000::/home/git:/bin/sh
+/bin/sh auf
+git:x:1000:1000::/home/git:/usr/bin/git-shell
+/usr/bin/git-shell ändern
+14.17. Öffentlicher Webserver-Zugang
+Anonymen Lese-Zugriff zu Deinem Projekt ermöglichen, per git clone http://git.gitserver.loc/project.git.
+- Hook aktivieren
+cd project.git
+in das Projekt wechseln
+mv hooks/post-update.sample hooks/post-update
+post-update umbenennen
+chmod a+x hooks/post-update
+post-update ausfürbar machen
+- VirtualHost Eintrag zur Apache-Konfiguration hinzufügen
+<VirtualHost *:80>
+ServerName git.gitserver.loc
+ServerAdmin webmaster@localhost
+DocumentRoot /srv/git
+#
+<Directory /srv/git/>
+#
+Order allow, deny
+#
+allow from all
+#
+</Directory>
+<Directory /srv/git/>
+Options Indexes FollowSymLinks
+AllowOverride None
+113
+
+14. git
+Require all granted
+</Directory>
+ErrorLog ${APACHE_LOG_DIR}/git.gitserver.loc-error.log
+CustomLog ${APACHE_LOG_DIR}/git.gitserver.loc-access.log combined
+</VirtualHost>
+Nach dem nächsten push kann per "git clone http://git.gitserver.loc/project.git"das
+Projekt anonym herunter geladen werden.
+14.18. Grundbegriffe
+Versionkontrollsystem (Version Control System, VCS)
+Eine Versionsverwaltung ist ein System, das zur Erfassung von Änderungen
+an Dokumenten oder Dateien verwendet wird.
+Zum Beispiel:
+Zentrale Systeme - zentraler Server
+RCS-Revision Control System, CVS-Concurrent Versions System,
+SVN-Subversion
+Verteilte Systeme - Kein zentraler Server
+Bazaar, Darcs, Fossil, Git, GNU arch, Mercurial, Monotone
+Repository
+Nutzt Git als Dantenbank in der die verschiedenen Zustände jeder Datei
+eines Projektes über die Zeit hinweg ablegt. Jede Änderrung wird als
+Commit verpackt und abgespeichert.
+Working Tree
+Das Arbeitsverzeichnis von Git, oft auch Working Directory genannt.
+Commit Das speichern der veränderten Dateien im Repository.
+HEAD
+Eine symbolische Referenz auf den neusten Commit im aktuellen Branch.
+SHA-1
+Der Secure Hash Algorithm erstellt eine eindeutige, 160 Bit lange
+Prüfsumme. Alle Commits in Git werden nach ihrer SHA-1-Summe benannt,
+die aus dem Inhalt und den Metadaten des Commits errechnet wird.
+Objektmodell
+Ein Git-Repository lässt sich als Graph von Commits modellieren, der
+durch Git-Kommandos manipuliert wird.
+Index
+Der Index ist eine Zwischenstufe zwischen Working Tree und Repository,
+in der Sie einen Commit vorbereiten. Enthält also die Dateien für den
+nästen Commit.
+Clone
+Wenn Sie sich ein Git-Repository aus dem Internet herrunterladen.
+Enthält die gesamte Versionsgeschichte einschließlich aller Commits.
+114
+
+14.18. Grundbegriffe
+Branch Eine Abzweigung in der Entwicklung. Zum Beispiel für neue Featurs,
+Release vorbereitung oder alte Versionen mit Bugfixes zu versorgen.
+master Beim Initialisieren eines neuen Repositorys wird der Branch master
+erstellt analog trunk in anderen Systemen.
+Tag
+Tags sind symbolische Namen für schwer zu merkende SHA-1-Summen.
+Wichtige Commits, wie zum Beispiel Releases v1.2.3. oder können
+zusätzliche Metadateien wie Autor, Beschreibung und GPG-Signatur
+enthalten.
+115
+
+
+15. C/C++
+15.1. Befehle und Grundelemente
+gcc Datei.c
+Programm übersetzen -> a.out
+g++ Datei.cpp
+Programm übersetzen -> a.out (C++)
+gcc -c Datei.c
+Objektdatei herstellen -> Datei.o
+g++ -c Datei.cpp
+Objektdatei herstellen -> Datei.o (C++)
+gcc -o Programmname Datei1.o Datei2.o
+Datei1.o+Datei2.o -> Programmname
+g++ -o Programmname Datei1.o Datei2.o
+Datei1.o+Datei2.o -> Programmname (C++)
+gcc -o Programmname Datei.c
+Programm übersetzen -> Programmname
+g++ -o Programmname Datei.cpp
+Programm übersetzen -> Programmname(C++)
+Programmname
+Programm starten
+configure
+Makefile konfigurieren
+make
+Programm übersetzen,
+wenn Makefile vorhanden
+make install
+Programm installieren
+/*
+Kommentar einleiten
+*/
+Kommentar abschließen
+//
+Kommentar einleiten bis zum Zeilenende (C++)
+{
+Blockbeginn
+}
+Blockende
+,
+mehrere Variablen vom gleichen Typ deklarieren z.B. int a, b, c;
+;
+Funktions-,Operations- und Zeilen-ende (leere Anweisung)
+#include<Datei> Datei aus /usr/include/ bei UNIX einlesen
+#include"Datei" Datei aus dem aktuellen Verzeichnis einlesen
+char
+Variablentyp character - Zeichen
+int
+Variablentyp integer - ganzzahlig mit Vorzeichen
+main()
+Hauptfunktion
+return()
+Wert aus einer Funktion zurückliefern
+15.2. Steuersequenzen für ANSI-Bildschirme -
+Innerhalb von Texten
+\a
+BEL
+bell
+Alarm/Piepton
+117
+
+15. C/C++
+\b
+BS
+backspace
+Rücksetzen um ein Zeichen
+\f
+FF
+formfeed
+Seitenvorschub
+\n
+NL
+new line
+Zeilenvorschub
+\r
+CR
+carriage return
+Wagenrücklauf
+\t
+HT
+horizontal tabulation
+horizontaler Tabulator
+\v
+VT
+vertical tabulation
+vertikaler Tabulator
+\0
+NULL
+null
+kein Zeichen Textende
+\?
+?
+Fragezeichen (kein Dreierzeichen)
+\’
+’
+Hochkomma
+\"
+"
+Anführungszeichen
+\\
+\
+umgekehrter Schrägstrich
+\ddd
+Zeichencode in oktaler Notation
+\xdd
+Zeichencode in hexadezimaler Notation
+\e[1;1H
+Cursor auf x1 und y1 setzen
+\e[1;1f
+-> \e[1;1H
+\e[5A
+Cursor 5 Zeilen aufwärts bewegen
+\e[5B
+Cursor 5 Zeilen abwärts bewegen
+\e[5C
+Cursor 5 Spalten vorwärts(rechts) bewegen
+\e[5D
+Cursor 5 Spalten rückwärts(links) bewegen
+\e[2J
+Bildschirm löschen
+\e[6n
+Ausgabe der Cursor position z.B. ^[[32;6R
+\e[s
+merkt die aktuelle Cursor Position
+\e[u
+Cursor auf gemerkte Position setzen
+\e[Schrift;Vordergrund;Hintergrundmerkmale
+setzt Bildschirmmerkmale
+Schrift
+Vordergrund Hintergrund
+0 normal
+30 schwarz 40
+1 grell
+31 rot
+41
+4 unterstrichen 32 grün
+42
+5 blinken
+33 gelb
+43 braun
+7 reverse
+34 blau
+44
+35 magenta 45
+36 cyan
+46
+37 weiß
+47 grau
+15.3. stdio.h -> Standard Ein- und Ausgabe
+c=getchar();
+Eingabe eines Zeichens, ohne Wagenrücklauf
+putchar(’a’);
+Ausgabe eines Zeichens, ohne Wagenrücklauf
+puts("Text");
+Zeichenkette ausgeben, mit Wagenrücklauf
+fputs("Text",stdount); Zeichenkette ausgeben, ohne Wagenrücklauf
+fputs("Text",stderr);
+Zeichenkette ausgeben, ohne Wagenrücklauf
+printf("Text %d",Zahl); Zeichenkette formatiert ausgeben, ohne Wagenrücklauf
+% F Z1 . Z2 L U
+| | | | | | + Umwandlungszeichen: %d-dezimal
+%u-unsigned
+118
+
+15.4. ctype.h
+| | | | | |
+%o-oktal
+%s-Text %c-Zeichen
+| | | | | |
+%f-Flieskomma
+%e-Expotential
+| | | | | |
+%x-hexadezimal %p-pointer
+| | | | | +-- Long-Ausgabe: notwendig für long int
+| | | | +----- Nachkommastellen: z.B 3 für drei stellen
+| | | +------- Trenzeichen, falls Z1 und Z2
+| | +---------- Größe des Ausgabefensters: z.B 7 für sieben stellen
+| +------------ Ausrichtung: ohne Angabe rechtsbündig,
+|
+mit Minuszeichen linksbündig
++-------------- Fluchtsymbol
+scanf("%c",&text);
+Zeichen in &text einlesen
+% * Z L U
+| | | | +------ Umwandlungszeichen
+| | | +-------- Long-Ausgabe
+| | +---------- Größe des Eingabefensters
+| +------------ Wegwerfen
++-------------- Fluchtsymbol
+15.4. ctype.h
+if(isascii(zeichen))
+überprüft ob es sich um ein ASCII-Zeichen handelt
+if(isxdigit(zeichen))
+überprüft ob es sich um ein Hex-Zeichen handelt
+15.5. string.h
+char *strcat(char text1, char text2) ; hängt Text2(mit \0) an Text1
+char *strchr(const char *text,
+int zeichen) ;
+sucht das erste vorkommende
+Zeichen im Text, liefert Adresse
+oder NULL
+char *strcpy(char text1, char text2) ; kopiert Text2(mit \0) zum Text1
+sitze_t strlen(const char *text) ;
+liefert die Länge von Text(ohne \0)
+char *strncat(char *text1,
+const char *text2, sitze_t n) ;
+hängt Text2 mit n Zeichen
+an Text1(mit \0)
+char *strtok(char *text,
+const char *kette) ;
+1.Aufruf: sucht im Text das erste
+Zeichen das nicht in Kette vorkommt
+(wird kein Zeichen gefunden gibt strtok
+einen NULL-Zeiger zurück), wird ein
+Zeichen gefunden gibt strtok den Zeiger
+zurück, dann sucht strtok ab Zeiger das
+erste Zeichen das in der Kette vorkommt
+119
+
+15. C/C++
+und überschreibt es mit \0, strtok merkt
+sich den Zeiger auf das nächste Zeichen
+char *strtok(NULL, const char *kette) ; 2.-n.Aufruf: wie 1.Aufruf ab gemerkten
+Zeiger
+15.6. Kontrollstrukturen
+if(Ausdruck)
+wenn der Ausdruck stimmt,
+{
+Anweisung-en1;
+Anweisung-en1
+}
else
+sonst
+{
+Anweisung-en2;
+Anweisung-en2
+}
+switch(Ausdruck)
+gehe zum Ausdruck
+{
+case 1: Anweisung-en1; Ausdruck1:
+Anweisung-en1
+case 2: Anweisung-en2; Ausdruck2:
+Anweisung-en2
+break;
+Anweisungen beenden
+case n: Anweisung-enn; Ausdruckn:
+Anweisung-enn
+break;
+Anweisungen beenden
+default: Anweisung-en;
+Ausdruck nicht vorhanden:
+Aneisung-en
+}
+continue;
+unterbricht die Abarbeitung und geht zur Ausdrucksbedingung
+break;
+verlässt die Schleife oder Verbundsanweisung
+for(Ausdruck1;Ausdruck2;Ausdruck3)
+Ausdruck1 einmal ausführen
+{
+so lange der Ausdruck2 stimmt,
+vorher noch Ausdruck3
+Anweisug-en;
+Anweisung-en
+}
+while(Ausdruck)
+so lange der Ausdruck stimmt,
+{
+Anweisung-en;
+Anweisung-en
+}
+do
+mach
+{
+Anweisung-en;
+Anweisung-en
+}
+120
+
+15.7. ASCII(American Standart Code for Information Interchange)-Tabelle
+while(Ausdruck);
+so lange der Ausdruck stimmt
+15.7. ASCII(American Standart Code for Information
+Interchange)-Tabelle
+654
+000
+001
+010
+011
+100
+101
+110
+111
+Bit
+3210
+NUL
+DLE
+SP
+0
+@
+P
+‘
+p
+0000
+$0 0
+$10 16 $20 32 $30 48 $40 64 $50 80 $60 96 $70 112
+SOH
+DC1
+!
+1
+A
+Q
+a
+q
+0001
+$1 1
+$11 17 $21 33 $31 49 $41 65 $51 81 $61 97 $71 113
+STX
+DC2
+"
+2
+B
+R
+b
+r
+0010
+$2 2
+$12 18 $22 34 $32 50 $42 66 $52 82 $62 98 $72 114
+ETX
+DC3
+#
+3
+C
+S
+c
+s
+0011
+$3 3
+$13 19 $23 35 $33 51 $43 67 $53 83 $63 99 $73 115
+EOT
+DC4
+$
+4
+D
+T
+d
+t
+0100
+$4 4
+$14 20 $24 36 $34 52 $44 68 $54 84 $64 100 $74 116
+ENQ
+NAK
+%
+5
+E
+U
+e
+u
+0101
+$5 5
+$15 21 $25 37 $35 53 $45 69 $55 85 $65 101 $75 117
+ACK
+SYN
+&
+6
+F
+V
+f
+v
+0110
+$6 6
+$16 22 $26 38 $36 54 $46 70 $56 86 $66 102 $76 118
+BEL
+ETB
+’
+7
+G
+W
+g
+w
+0111
+$7 7
+$17 23 $27 39 $37 55 $47 71 $57 87 $67 103 $77 119
+BS
+CAN
+(
+8
+H
+X
+h
+x
+1000
+$8 8
+$18 24 $28 40 $38 56 $48 72 $58 88 $68 104 $78 120
+HT
+EM
+)
+9
+I
+Y
+i
+y
+1001
+$9 9
+$19 25 $29 41 $39 57 $49 73 $59 89 $69 105 $79 121
+LF
+SUB
+*
+:
+J
+Z
+j
+z
+1010
+$A 10
+$1A 26 $2A 42 $3A 58 $4A 74 $5A 90 $6A 106 $7A 122
+VT
+ESC
++
+;
+K
+[Ä
+k
+{ä
+1011
+$B 11
+$1B 27 $2B 43 $3B 59 $4B 75 $5B 91 $6B 107 $7B 123
+121
+
+15. C/C++
+FF
+FS
+,
+<
+L
+\ö
+l
+|ö
+1100
+$C 12
+$1C 28 $2C 44 $3C 60 $4C 76 $5C 92 $6C 108 $7C 124
+CR
+GS
+-
+=
+M
+]Ü
+m
+}ü
+1101
+$D 13
+$1D 29 $2D 45 $3D 61 $4D 77 $5D 93 $7D 109 $7D 125
+SO
+RS
+.
+>
+N
+^
+n
+~ß
+1110
+$E 14
+$1E 30 $2E 46 $3E 62 $4E 78 $5E 94 $7E 110 $7E 126
+SI
+US
+/
+?
+O
+_
+o
+DEL
+1111
+$F 15
+$1F 31 $2F 47 $3F 63 $4F 79 $5F 95 $7F 111 $7F 127
+15.7.1. Unterteilung der Steuerzeichen:
+TC
+transmission control
+Übertragungssteuerzeichen
+FE
+format effects
+Formatsteuerzeichen
+IS
+information separators Informationstrennzeichen
+DC
+device control
+Gerätesteuerzeichen
+15.7.2. Bedeutung der Steuerzeichen:
+NUL
+null
+kein Zeichen
+SOH
+TC
+start of heading
+Anfang des Kopfes
+STX
+TC
+start of text
+Anfang des Textes
+ETX
+TC
+end of text
+Ende des Textes
+EOT
+TC
+end of transmission
+Ende der Übertragung
+ENQ
+TC
+enquiry
+Stationsaufforderung
+ACK
+TC
+acknowledge
+positive Rückmeldung
+BEL
+bell
+Alarm / Piepton
+BS
+FE
+backspace
+Rückwärtsschritt
+HT
+FE
+horizontal tabulation
+horizontaler Tabulator
+LF
+FE
+line feed
+Zeilenvorschub
+VT
+FE
+vertical tabulation
+vertikaler Tabulator
+FF
+FE
+form feed
+Seitenvorschub
+CR
+FE
+carriage return
+Wagenrücklauf
+SO
+shift out
+Dauerumschaltung
+SI
+shift in
+Rückschaltung
+DLE
+TC
+data link escape
+Datenübertragungsumschaltung
+DCn
+DC
+device control
+Gerätesteuerzeichen
+NAK
+TC
+negative acknowledge
+negative Rückmeldung
+SYN
+TC
+synchronous idle
+Synchronisierung
+ETB
+TC
+end of transmission block
+Ende des Übertragungsblocks
+CAN
+cancel
+ungültig
+EM
+end of medium
+Ende der Aufzeichnung
+122
+
+15.8. Operatoren und Ausdrücke
+SUB
+substitute character
+Substitution
+ESC
+escape
+Umschaltung
+FS
+IS
+file separator
+Hauptgruppentrennung
+GS
+IS
+group separator
+Gruppentrennung
+RS
+IS
+record separator
+Untergruppentrennung
+US
+IS
+unit separator
+Teilgruppentrennung
+SP
+space
+Leerzeichen
+DEL
+delete
+löschen
+15.8. Operatoren und Ausdrücke
+15.8.1. Arithmetische Operatoren:
+Operator
+Bedeutung
+Assoziativität Rang
+Beispiel
+--------
+---------
+-------------- ----
+--------
++
+Addition
+>
+5
+a+b
+-
+Subtraktion
+>
+5
+a-b
+*
+Multiplikation
+>
+4
+a*b
+/
+Division
+>
+4
+a/b
+%
+Modulo
+>
+4
+a%b
+15.8.2. Vergleichsoperatoren:
+Operator
+Bedeutung
+Assoziativität Rang
+Beispiel
+--------
+---------
+-------------- ----
+--------
+<
+kleiner als
+>
+7
+a<b
+<=
+kleiner oder gleich
+>
+7
+a<=b
+>
+größer
+>
+7
+a>b
+>=
+größer oder gleich
+>
+7
+a>=b
+==
+gleich
+>
+8
+a==b
+!=
+ungleich
+>
+8
+a!=b
+15.8.3. Logische Operatoren:
+Operator
+Bedeutung
+Assoziativität Rang
+Beispiel
+--------
+---------
+-------------- ----
+--------
+&
+bitweises AND
+>
+9
+a&b
+|
+bitweises OR
+>
+11
+a|b
+^
+bitweises XOR
+>
+10
+a^b
+<<
+bitweises Linksschieben
+>
+6
+a<<n
+>>
+bitweises Rechtsschieben
+>
+6
+a>>n
+~
+Einerkomplement
+<
+2
+~a
+&&
+logisches AND
+>
+12
+a&&b
+||
+logisches OR
+>
+13
+a||b
+!
+logische Negation
+<
+2
+!a
+123
+
+15. C/C++
+15.8.4. Zuweisungsoperatoren:
+Operator
+Bedeutung
+Assoziativität Rang
+Beispiel
+--------
+---------
+-------------- ----
+--------
+=
+Zuweisung
+<
+15
+a=b
++=
+Zuweisung nach Addition
+<
+15
+a+=b
+-=
+Zuweisung nach Subtraktion
+<
+15
+a-=b
+*=
+Zuweisung nach Multiplikation
+<
+15
+a*=b
+/=
+Zuweisung nach Division
+<
+15
+a/=b
+%=
+Zuweisung nach Modulo
+<
+15
+a%=b
+<<=
+Zuweisung nach bitweisem
+<
+15
+a<<=b
+Linksschieben
+>>=
+Zuweisung nach bitweisem
+<
+15
+a>>=b
+Rechtsschieben
+&=
+Zuweisung nach bitweisem AND
+<
+15
+a&=b
+|=
+Zuweisung nach bitweisem OR
+<
+15
+a|=b
+^=
+Zuweisung nach bitweisem XOR
+<
+15
+a^=b
+15.8.5. Post- und Prefix- Operatoren:
+Operator
+Bedeutung
+Assoziativität Rang
+Beispiel
+--------
+---------
+-------------- ----
+--------
+++
+Inkrement
+> <
+1 2
+a++ ++a
+--
+Dekrement
+> <
+1 2
+a-- --a
+()
+Funktionsaufruf
+>
+1
+sqrt(a)
+[]
+Arrayelement
+>
+1
+feld[a]
+.
+Feld einer structur oder union >
+1
+tag.dat
+->
+Zeiger auf structur
+>
+1
+zeig->ele
+( type )
+expl. Typenumwandlung
+<
+2
+double(a)
+15.8.6. Zeigeroperatoren:
+Operator
+Bedeutung
+Assoziativität Rang
+Beispiel
+--------
+---------
+-------------- ----
+--------
+&
+Adresse von
+<
+2
+&a
+*
+Indirektion
+<
+2
+*a
+.*
+Dereferenzzeiger
+>
+3
+tag.*dat
+->*
+Dereferenzzeiger
+>
+3
+tag->dat
+15.8.7. Diverse Kategorien:
+Operator
+Bedeutung
+Assoziativität Rang
+Beispiel
+--------
+---------
+-------------- ----
+--------
+?:
+Bedinung
+<
+14
+a?b:c
+i = x<y ? 6 : k+1 ;
+x kleiner y dann 6 sonst k+1
+124
+
+15.9. Inkrementieren und Dekrementieren
+,
+Aufzählungsoperator
+>
+16
+a,b, ...
+-
+unäres Minus
+<
+2
+-n
++
+unäres Plus
+<
+2
++n
+sizeof(typ)
+Größe des Types in Byte
+<
+2
+sizeof(a)
+new
+dynam. Objekt erzeugen
+<
+2
+b = new float[a]
+delete
+dynam. Objekt löschen
+<
+2
+delete b
+::
+Zugiffs-/Bereichsoperator
+<
+2
+adr::nam
+15.9. Inkrementieren und Dekrementieren
+i++ ;
+i = i + 1
+++i ;
+i = i + 1
+x = i++ ;
+1. x = i
+2. i = i + 1
+x = ++i ;
+1. i = i + 1
+2. x = i
+i-- ;
+i = i - 1
+--i ;
+i = i - 1
+x = i-- ;
+1. x = i
+2. i = i - 1
+x = --i ;
+2. i = i - 1
+2. x = i
+15.10. Wertebereich und Genauigkeit elementarer
+Datentypen
+Datentyp
+Bit
+Min.Wert
+Max.Wert
+Genauigkeit
+--------
+---
+--------
+--------
+-----------
+char
+8
+-128
+127
+unsigned char
+8
+0
+255
+short int
+16
+-32768
+32767
+unsigned short int 16
+0
+65535
+int
+(16)32(64)
+-2147483648
+2147483647
+unsigned int
+16
+0
+65535
+long int
+32(64)
+-2147483648
+2147483647
+unsigned long int 32
+0
+4294967295
+float
+32
+ca. 3.4E-38
+3.4E38
+>= 6 Ziffern
+double
+64
+ca. 1.7E-308
+1.7E308
+>= 10 Ziffern
+long double
+80
+ca. 1.2E-4932
+1.2E4932
+>= double
+15.11. Variableninitialisierung
+Nichtinitialisierte Variabeln haben nicht automatisch den Wert 0!
+short faktor=10 ;
+short laktor, messwert ;
+125
+
+15. C/C++
+messwert=faktor ;
+15.12. Konstanten
+Konstanten werden mit dem vorangestellten Schlüsselwort const wie Variabeln dekla-
+riert. Der dem Namen über das =-Zeichen zugeordnete Wert kann nicht im Programm
+verändert werden. Für eine fehlende Typenangabe wird int angenommen.
+cont float
+PI =
+3.14159 ;
+// bevorzugen
+#define
+PI
+3.14159 ;
+15.12.1. Ganzzahlkonstanten
+dezimal = 30 ; oktal = 036 ; hexadezimal = 0x1E ; Zusätzlich kann frau eine Ganz-
+zahlkonstante durch das Suffix L oder l als long und durch U oder u als unsigned
+kennzeichnen (z.B. 30U).
+15.12.2. Gleitkommakonstanten
+0.033 +.033 33E-3 +33.0e-03 Zusätzlich kann frau eine Gleitkommakonstante durch
+das Suffix F oder f als float und durch L oder l als long double kennzeichnen (z.B.
+0.033L).
+15.12.3. Zeichen- und Zeichenkettenkonstanten
+’n’
+“zeichenkette’"
+126
+
+16. Tcl/Tk
+wish
+startet den Tcl/Tk-Interpeter
+exit
+beendet den Tcl/Tk-Interpeter
+wish Programm.tcl
+startet das Programm.tcl
+button .name Option/en Knopf definieren Optionen:
+-text "Aufschrift"
+Knopf-Aufschrift
+-text [Befehl]
+Knopf-Aufschrift vom Befehl
+-command {Befehl}
+Knopf-Befehl
+Befehl: z.B. exec ls oder exec xterm -e vi &
+-relief flat
+Knopf flach
+-relief raised
+Knopf erhoben
+-relief sunken
+Knopf eingedrückt
+-relief ridge
+Knopf Band erhoben
+-relief groove
+Knopf Band eingedrückt
+-padx Pixelzahl
+Abstand zum Rand in x-Richtung
+-pady Pixelzahl
+Abstand zum Rand in y-Richtung
+-image [ image create photo -file Bildname ]
+Knopf mit gif, ppm oder pgm
+-foreground Farbe
+Schriftfarbe "#rgb"->"#ff0000" oder red
+-fg Farbe
+Abkürzung für -foreground Farbe
+-background Farbe
+Knopffarbe
+-bg Farbe
+Abkürzung für -background Farbe
+-width Pixelbreite
+Knopfbreite
+-height Pixelhöhe
+Knopfhöhe
+-font Zeichensatz
+Schrift für den Knopf
+pack .name Option/en
+Knopf anzeigen Option:
+-fill x
+Knopf an die Fensterbreite anpassen
+-expand true
+Knopf im großen Fenster aufteilen
+127
+
+
+17. Perl
+perl -v
+überprüfen ob Perl installiert ist
+129
+
+
+18. CGI+Perl
+18.1. Einleitung
+Was ist CGI?
+Common Gateway Interface. Web-Server-Schnittstelle, um mit
+anderen Programmen zusammenzuarbeiten.
+Was ist Perl?
+Practical Extraction and Report Language. Interpreter-Skript-
+Sprache, die häufig zur Programmierung von CGI-Anwendungen
+benutzt wird.
+18.2. Perl
+18.2.1. Texte und Strings
+# Kommentartext
+(Hash) Einzeiliger Kommentartext
+print "Text" ;
+Text ausgeben
+print "Text\n" ;
+\n Neue Zeile
+print "Text\r" ;
+\r Wagenrücklauf
+print "Text\t" ;
+\t Tabulator
+print "Text\v" ;
+\v Vertikalzeichen
+print "Text\f" ;
+\f Papiereinzugszeichen
+print "Text\b" ;
+\b Rücksetzzeichen
+print "Text\a" ;
+\a Piepton
+print "Text\e" ;
+\e Unterbrechungszeichen
+print $Variable ;
+Variable ausgeben
+print "Text\"" ;
+\" Gänsefüßchen ausgeben
+print "Text\’" ;
+\’ Einfache Anführungszeichen ausgeben
+print "Text\$" ;
+\$ Dollar-Zeichen ausgeben
+print "Text\\" ;
+\\ Backslash ausgeben
+print "Text".$Var."Text" ;
+. Verketten von Zeichenfolgen
+print "Text"x10 ;
+Text 10 mal zusgeben
+18.2.2. Rechenoperationen
+$a=$b+$c ;
+Addition von $b und $c gleich $a
+$a=$b-$c ;
+Subtraktion von $b minus $c gleich $a
+$a=$b*$c ;
+Multiplikation von $b mal $c gleich $a
+$a=$b/$c ;
+Division $b geteilt durch $c gleich $a
+131
+
+18. CGI+Perl
+$a=$b**$c ;
+Potenz $b hoch $c gleich $a
+$a=$b%$c ;
+Modulo $b geteilt durch $c Rest gleich $a
+$a++ ;
+$a=$a+1 ;
+$a-- ;
+$a=$a-1 ;
+$a=3.1415 ;
+. Dezimaltrenner
+18.2.3. Arrays (Listen)
+@Array=("W0","W1") ;
+Werte einer Array-Variable zuweisen (Kurzform)
+$Array[Indexwert]="Wert" ;
+Wert einer Array-Variable zuweisen (Langform)
+@Array=$Liste[2,4,8] ;
+Werte eines Arrays eines Arrays zuweisen
+print @Array ;
+Gesamtes Array ausgeben
+print $Array[Indexwert] ;
+Wert einer Array-Variable ausgeben
+print $#Array ;
+Nummer des letzten Listenelements ausgeben
+18.2.4. String- und Zahlenvergleichsoperratoren
+Vergleich
+Zahlenvergleich Stringvergleich
+Gleich
+==
+eq
+Ungleich
+!=
+ne
+Kleiner als
+<
+lt
+Größer als
+>
+gt
+Kleiner oder gleich
+<=
+le
+Größer oder gleich
+>=
+ge
+18.2.5. if-Bedingung
+if (Bedingung)
+Wenn die Bedingung Wahr,
+{
+Befehle ;
+Befehle ausführen
+}
+18.2.6. if-else-Bedingung
+if (Bedingung)
+Wenn die Bedingung Wahr,
+{
+Befehle ;
+Befehle ausführen
+}
else
+sonst
+{
+Befehle ;
+Befehle ausführen
+}
+132
+
+18.3. Funktionen
+18.2.7. if-elseif-Bedingung
+if (Bedingung)
+Wenn die Bedingung Wahr,
+{
+Befehle ;
+Befehle ausführen
+}
elseif (Bedingung)
+sonst Wenn die Bedingung Wahr,
+{
+Befehle ;
+Befehle ausführen
+}
+18.3. Funktionen
+18.3.1. String Funktionen
+$Var=chop($String) ;
+Löscht das letzte Zeichen von String und
+gibt es an Var
+18.3.2. Rechen Funktionen
+$a=sqrt($b) ;
+Quadratwurzel von $b nach $a
+$a=log($b) ;
+Logarithmus
+$a=exp($b) ;
+Exponenten
+$a=abs($b) ;
+Absoluterwert
+$a=int($b) ;
+Ganzzahlwert
+18.3.3. Array Funktionen
+push(@Liste,@Elemente) ;
+Setzt ein oder mehrere Elemente an
+das Ende der Liste
+unshift(@Liste,"Wert") ;
+Setzt ein oder mehrere Elemente an
+den Anfang der Liste
+$a=shift(@Liste) ;
+Entfernt das erste Element aus der Liste
+und gibt es an $a
+$a=pop(@Liste) ;
+Entfernt das letzte Element aus der Liste
+und gibt es an $a
+splice(@Liste,Start,Anzahl,Element) ;
+Entfernt die Anzahl vom Start der Liste
+und fügt Element ein
+133
+
+
+19. Java
+19.1. Funktion von Java
++---------------+ +--------------------------+ +---------------------+
+| Programm Code |->| Java Compiler (java.exe) |->| Bytecode (01010011) |
++---------------+ +--------------------------+ +---------------------+
+|
+|
+V
+V
++--------------+
++--------------+
+| Ineterpreter |
+| Browser/
+|
+| (java.exe)
+|
+| Appletviewer |
++--------------+
++--------------+
+javac.exe progammcode.java -> programmcode.class
+Programm compilieren
+java.exe programmcode
+Programm ausführen
+appletviewer.exe
+Applets ausführen
+19.2. Sprache und Syntax von Java
+19.2.1. Kommentrare
+/*
+Kommentar-Anfang
+*/
+Kommentar-Ende
+//
+Einzeiliger Kommentar ohne Ende
+;
+Anweisung abschließen
+19.2.2. Datentypen
+Typ
+Inhalt
+Standdartwert
+Größe
+Wertebereich
+boolean True oder False
+False
+1 Bit -
+char
+Unicode Zeichen
+0000
+16 Bit
+0000 bis FFFF (Hex.)
+byte
+Ganzzahl mit Vorzeichen 0
+8 Bit
+-256 bis 255
+short
+Ganzzahl mit Vorzeichen 0
+16 Bit -32768 bis 32767
+int
+Ganzzahl mit Vorzeichen 0
+32 Bit
+-2^31 bis 2^31-1
+long
+Ganzzahl mit Vorzeichen 0
+64 Bit
+-2^63 bis 2^63-1
+float
+Kommazahl
+0.0
+32 Bit -
+double Kommazahl
+0.0
+64 Bit -
+135
+
+19. Java
+19.2.3. Variablen
+Variable deklarieren
+boolean myBool;
+int x = 32;
+double y = 3.2;
+char buchstabe;
+Variabeln ansprechen
+this.buchstabe;
+bezieht sich auf die aktuelle Klasse
+19.3. Pakete und Verzeichnisstrukturen
+19.3.1. Sichtbarkeit und Zugriffsrechte von Klassen und
+Methoden
+public
+Klasse, Methode oder Variable die überall sichtbar ist
+protected
+Methode oder Variable die nur im eigenen Paket und
+abgeleiteten Klassen sichtbar ist
+default
+Klasse, Methode oder Variable die Sichtbarkei beschrängt
+sich auf das eigen Paket
+private protected
+Methode oder Variable die nur in abgeleiteten Klassen
+sichtbar ist
+private
+Methode oder Variable die nur in der eigenen Klasse
+sichtbar ist
+Zugriff
+public protected default private protected private
+-------
+------ --------- ------- ----------------- -------
+Zugriff ...
+... im selben Paket
+Ja
+Ja
+Ja
+Nein
+Nein
+... von anderen Paketen
+Ja
+Nein
+Nein
+Nein
+Nein
+Vererbt ...
+... Klassen im selben Paket
+Ja
+Ja
+Ja
+Ja
+Nein
+... Klassen an andere Pakete Ja
+Ja
+Nein
+Ja
+Nein
+19.3.2. Klassen
+class Klasse
+Klassendeklaration
+{
+...
+}
+public class Klasse
+öffendliche Klassendeklaration
+136
+
+19.3. Pakete und Verzeichnisstrukturen
+{
+-ohne public ist die Klasse automatisch "privat"
+...
+}
+package Paketklasse;
+Klassen zusammenfassen d.h. Paketklasse.Klasse
+public class Klasse
+{
+...
+}
+package Paket.Paketklasse
+Oberklassen zusammenfassen d.h.
+Paket.Paketklasse.Klasse
+19.3.3. Konstruktoren und Destruktoren
+class Klasse
+Konstruktor
+{
+-----------
+public Klasse()
+Methode die beim Erschaffen eines neuen Objektes
+{
+automatisch aufgerufen wird
+...
+}
+Destruktor
+----------
+protected void finalize()
+Methode die beim Löschen eines alten
+{
+Objektes automatisch aufgerufen wird
+...
+}
+}
+19.3.4. Methoden überladen
+class Klasse
+{
+Methode()
+Dieselbe Metode mehrmals mit unterschielichen
+{
+Parametern schaffen
+...
+}
Methode(int var)
+Dieselbe Metode mehrmals mit unterschielichen
+{
+Parametern schaffen
+...
+}
+}
+19.3.5. Objekte
+objekt Neuobjekt = new objekt();
+Neues Objekt Neuobjekt von der Klasse
+137
+
+19. Java
+objekt erstellen
+19.3.6. Vererbung
+public class NeuKlasse extends Klasse {}
+neue Klasse NeuKlasse herstellen
+alle sichtbaren Eigenschaften
+und Methoden werden übernommen
+19.3.7. Schnittstellen
+public interface Klasse {
+Schnittstelle erschaffen
+Methodenkopf();
+Variablen;
+}
+class NeuKlasse extends Klasse implements IntKlasse
+neue Klasse NeuKlasse
+herstellen
+alle sichtbaren Eigenschaften
+und Methoden werden übernommen
+und die Schnittstelle IntKlasse
+hinzufügen
+19.4. Elementare Syntax von Java
+19.4.1. Operratoren
+x = 10;
+Das Gleichheitszeichen weist immer den rechten Wert dem auf
+der linken Seite zu
+19.4.2. Verknüpfungsoperatoren
+Operator
+Bedeutung
+Beispiel
+--------
+---------
+--------
++
+Addition
+7 = 3 + 4;
+-
+Subtraktion
+1 = 7 - 6;
+*
+Multiplikation 6 = 2 * 3;
+/
+Division
+3 = 9 / 3;
+%
+Modulo(Rest)
+1 = 9 % 4;
+19.4.3. Inkrement-Operator
+x++;
+x = x + 1;
+138
+
+19.4. Elementare Syntax von Java
+19.4.4. Dekrement-Operator
+x--;
+x = x - 1;
+19.4.5. Arithmetische Zuweisungsoperatoren
+Operator
+Beispiel
+Bedeutung
+--------
+--------
+---------
++=
+x += 3;
+x = x + 3;
+-=
+x -= 3;
+x = x - 3;
+*=
+x *= 3;
+x = x * 3;
+/=
+x /= 3;
+x = x / 3;
+%=
+x %= 3;
+x = x % 3;
+19.4.6. Bedingungen und Entscheidungen
+if(Bedingung) {
+wenn Bedingung wahr dann Anweisungen
+Anweisungen;
+if ( x != y ) { z++; }
+}
+Operator
+Beschreibung
+--------
+------------
+==
+Gleichheit
+!=
+Ungleichheit
+<
+kleiner als
+>
+größer als
+<=
+kleiner gleich
+>=
+größer gleich
+19.4.7. if - else - Bedingungen
+if(Bedingung) {
+wenn Bedingung wahr dann Anweisungen1 sonst Anweisungen2
+Anweisungen1;
+if ( x != y ) { z++; } else { z--; }
+} else {Anweisungen2;
+}
+19.4.8. Verschachtelte Bedingungen
+if(Bedingung1) {
+wenn Bedingung1 und Bedingung2 dann Anweisungen1
+if(Bedingung2){
+sonst Anweisungen2
+Anweisungen1;
+if( x != y ) { if( a < b ){z++;} } else { z--; }
+}
+} else {Anweisungen2
+}
+139
+
+19. Java
+19.4.9. Fallunterscheidung mit switch - case
+switch(Ausdruck) {
+switch(2) {
+Route 2 also
+case Wert1: Anweisungen1;
+case 1: x++;
+x = x - 1;
+break;
+break;
+case Wert2: Anweisungen2;
+case 2: x--;
+break;
+break;
+case Wert3: Anweisungen3;
+}
+break;
+}
+19.5. Schleifen
+19.5.1. Die while - Schleife
+while(Bedingung) {
+int x=0;
+solange Bedingung wahr
+Anweisungen;
+while(x<10) {
+Anweisungen
+}
+x++;
+}
+19.5.2. Die do - while - Schleife
+do {
+int x=0;
+Anweisungen dann solange
+Anweisungen;
+do {
+Bedingung wahr
+} while(Bedingung);
+x++;
+Anweisungen
+} while(x<10);
+19.5.3. Die for - Schleife
+for(Initialisierung; Bedingung; Schleifenschritt) {
+solange Bedingung wahr
+Anweisungen;
+Anweisungen
+}
+for(x=0;x<10;x++) {
+y++;
+}
+19.5.4. Schleifen mit break verlassen
+for(x=0;x<10;x++) {
+Die Schleife wird vor dem y++ verlassen
+break;
+y++;
+}
+19.5.5. Schleife mit continue wiederholen
+for(x=0;x<10;x++) {
+Die Schleife wird vor dem y++ wiederholt
+140
+
+19.6. Komplexe Datentypen
+continue;
+y++;
+}
+19.6. Komplexe Datentypen
+19.6.1. Arrays
+int liste[] = new int[10];
+schafft ein Array dass zehn verschiedene int-
+Werte speichern kann
+int Array[][] = new int[3][3]; schafft ein zweidimensionales Array
+int liste[] = {3, 5, 7};
+schaft ein Array mit 3 Werten
+liste[0] = Wert;
+Wert des 1. Elements zuweisen
+liste[0][0] = Wert;
+Wert des 1. Elements zuweisen
+Wert = liste[0];
+Wert des 1. Elements abrufen
+Wert = liste[0][0];
+Wert des 1. Elements abrufen
+liste.length
+enthält die Länge des Arrays liste
+19.7. Die Anweisung import
+import haus.wand.stein;
+import erlaubt es Klassen im Sourcecode
+getAnzahl();
+über einen gekürzten Namen anzuspechen
+haus.wand.stein.getAnzahl() -> getAnzahl()
+import java.lang.*;
+importiert alle Bestandteile ins Programm
+19.8. Java eigene Klassen
+19.8.1. Die Klasse Math
+Math.*
+bietet mathematische Funktionen
+Math.E
+Eulersche Zahl
+Math.PI
+PI
+Math.random()
+Zufallszahl zwischen 0 und 1
+Math.round()
+rundet zu Ganzzahlen
+19.9. Die Klasse Object
+19.9.1. Die Klasse Object
+getClass()
+liefert die Klasse eines Objektes zurück
+equals()
+vergleicht zwei Objekte gibt true oder false
+141
+
+19. Java
+19.10. Die Klasse Runtime
+Um diese Klasse zu nutzen,muss mit getRuntime() erst ein Objekt erstellt werden!
+Runtime mySystem = Runtime.getRuntime();
+Objekt Runtime erstellen
+freeMemory()
+freier Speicher
+totalMemory()
+gesamter Speicher
+exit(0)
+Programm sofort mit Wert verlassen
+exec()
+Systemprogramme starten (s. Exceptions)
+19.11. Die Klasse String
+String s = "Hallo" + " Du !";
+Strings zusammenfassen
+charAt()
+gibt einen Buchstaben aus dem String zurück
+indexOf()
+Position von Buchstaben/ketten feststellen
+substring()
+String auseinanderschneiden
+lenght()
+Länge eines Strings bestimmen
+19.12. Die Klasse Stringbuffer
+19.12.1. Die Klasse Stringbuffer
+Um diese Klasse zu nutzen, muss erst ein Objekt erstellt werden!
+Stringbuffer buffer = newStringbuffer("");
+Objekt Stringbuffer erstellen
+setCharAt()
+änderrung eines bestimmten Buchstaben im String
+delete()
+löscht Teile aus dem String
+replace()
+ersetzt Teile im String
+insert()
+setzt Teile im String ein
+19.13. Die Klasse System
+Standardeingabe - in, Standardausgabe - out, Fehlerausgabe - err
+System.out.println("Text")
+Text ausgeben
+byte[] b = new byte[80];
+System.in.read(b);
+Einlesen von Daten
+19.14. Das Paket java.util
+import java.util.*;
+Paket einbinden
+142
+
+19.15. Ausnahmen (Exceptions)
+19.14.1. Die Klasse Date
+Date myDate = new Date();
+Objekt Date erstellen
+toString()
+Datum in einen String umwandeln
+getTime()
+UNIX-Timestamp, der die Sekunden seit dem
+1.1.1970 ausgibt
+before()
+vergleicht das Datumsobjekt od es davor ist
+after()
+vergleicht das Datumsobjekt od es danach ist
+Erweiterte Funktionen rund um das Datum gibt es in der Klasse Calendar bzw.
+DateFormat in der Java-API
+19.14.2. Die Klasse Random
+Random zz = new Random();
+Objekt Random erstellen
+Methode
+Bereich
+Typ
+-------
+-------
+---
+nextInt()
+-2^31 bis 2^31-1
+int
+nextLong()
+-2^63 bis 2^63-1
+long
+nextFloat()
+0.0 bis 1.0
+float
+nextDouble()
+0.0 bis 1.0
+double
+nextGaussian()
+gibt eine Zufallszahl zurück, die nach dem Gauß-
+Verfahren ermittelt wurde
+19.14.3. Die Klasse Stack
+Stack myStack = new Stack();
+Objekt Stack erstellen
+push()
+legt ein Objekt auf dem Stack ab
+pop()
+holt das oberste Objekt vom Stack und löscht es
+peek()
+holt das oberste Objekt vom Stack
+19.15. Ausnahmen (Exceptions)
+import java.io.*;
+public class trycatchfinally {
+public static void main(String args[]) {
+Runtime mySystem = Runtime.getRuntime();
+//Objekt Runtime erstellen
+try{
+//unsichere Anweisungen
+mySystem.exec("xaos");
+} catch(IOException e) {
+//Fehlerbehandlung
+System.err.println("Es ist ein Fehler aufgetreten: " + e);
+143
+
+19. Java
+} finally {
+//Anweisungen werden immer ausgeführt
+System.out.println("Kritischer Bereich wurde ausgeführt!");
+}
+}
+}
+19.15.1. Eigene Ausnahme erzeugen (throw)
+Methode(int zahl) {
+if(zahl<0) {
+throw(new Exception("Fehler!"));
+} elese {zahl++;
+}
+}
+19.16. Multitasking mit Threads
+19.16.1. Arbeiten mit Threads
+java.lang
+die Klasse Thread ist ein Bestandteil des Paketes
+public class Klasse implements Runnable {}
+neue Klasse über die
+Schnittstelle Runnable erstellen
+run()
+Methode run() (Code des Threads)
+muss überschrieben werden
+Klasse test = new Klasse();
+In main(): Objekt der eigenen Klasse
+test.start();
+erstellen und Startmethode
+aufrufen
+public void start() {
+Thread myThread = new Thread(this);
+Objekt aus der Klasse Thrad
+erstellen und deren Konstruktor
+das aktuelle Objekt als
+parameter übergeben
+myThread.start();
+Thread starten
+...;
+myThread.stop();
+Thread beenden
+}
+myThread.sleep(x);
+Thread x Milisekunden pausieren
+muss mit Ausnahme abgefangen
+144
+
+19.17. Applets
+werden InterruptedException
+myThread.suspend();
+Thraed anhalten
+myThread.resume();
+Thread wieder starten
+myThread.destroy();
+Thread zerstören/anhalten
+19.17. Applets
+19.17.1. Applets in eine Webseite einbinden
+<html>
+<head>
+<title>Mein erstes Applet</title>
+</head>
+<body>
+<applet code="myApplet.class" width=150 height=150>
+<parm name="var1" value="Hallo">
+<parm name="var2" value="Java!">
+</applet>
+</body>
+</html>
+19.17.2. Das erste Java Applet
+import java.applet.*;
+import java.awt.*;
+public class MyApplet extends Applet {
+public void paint(Graphics g) {
+g.drawString("Mein erstes Applet !", 20, 40);
+}
+}
+19.17.3. Die Methoden eines Applets
+init()
+wird automatisch bei der Initialisierung des Applets aufgerufen
+start()
+wird automatisch aufgerufen, wenn das Applet im sichtbaren
+Browser-Bereich erscheint
+stop()
+wird automatisch aufgerufen, wenn das Applet den sichtbaren
+Bereich verläßt
+destroy()
+wird automatisch beim verlassen der Seite oder schließen des
+Browsers aufgerufen
+19.17.4. Ein Applet im Überblick
+import java.applet.*;
+import java.awt.*;
+145
+
+19. Java
+public class newApplet extends Applet {
+public void init() {
+//initialisierung aller nötigen Werte für das Programm
+}
public void start() {
+//Start des Applets
+}
public void paint(Graphics g) {
+//Grafikausgabe über das Objekt g !
+}
public void stop() {
+//Stop des Applets
+}
public void destroy() {
+//Ende des Applets
+//Speicher wird freigegeben
+}
+}
+19.17.5. Pakete
+java.awt
+dient zur Bearbeitung und Ausgabe von Grafiken und
+Fensterelementen in Applikationen und Applets
+(advanced window toolkit)
+java.applet
+eine Grundvoraussetzung für ein Applet
+19.17.6. Die Klasse Graphics
+public void paint(Graphics g) {
+um in das Applet zu zeichnen
+drawString("Text",x,y);
+Text im Applet ausgeben
+}
+drawLine()
+Linie zeichnen
+drawRect()
+Rechteck zeichnen
+fillRect()
+gefülltes Rechteck zeichen
+drawRoundRect()
+Rechteck mit abgerundeten Ecken zeichnen
+fillRoundRect()
+gefülltes Rundeck zeichnen
+drawOval()
+Kreis/Elipse zeichnen
+fillOval()
+gefüllte/r Kreis/Elipse zeichnen
+copyArea()
+kopieren eines sichtbaren Bereiches
+19.17.7. Die Klasse Color
+Color farbe = new Color(r,g,b);
+Farben erzeugen r=0-255 g=0-255 r=0-255
+Color dfarbe = farbe.darker();
+nächst dunklere Farbe
+146
+
+19.17. Applets
+Color hfarbe = farbe.brighter();
+nächst hellere Farbe
+Konstante
+Frabe
+---------
+-----
+Clolor.white
+weiss
+Clolor.yellow
+gelb
+Clolor.orange
+orange
+Clolor.grey
+grau
+Clolor.pink
+pink
+Clolor.red
+rot
+Clolor.magenta
+magenta
+Clolor.green
+grün
+Clolor.blue
+blau
+Clolor.darkGray
+dunkelgrau
+Clolor.lightGray
+hellgrau
+Clolor.black
+schwarz
+19.17.8. Die Klasse Font
+Windows
+Java
+-------
+----
+Arial
+Helvetica
+Courier New
+Corier
+MS Sans Serif
+Dialog
+Times New Roman TimesRoman
+WingDings
+ZapfDingbats
+Arial
+default
+Font f = new Font("art", stil, größe);
+neue Schrift erstellen
+stil: plain(normal),
+italic(kursiv), blod(fett)
+19.17.9. Die Klasse Image
+Image myImage = getImage(getCodeBase(), "Bild.jpg");
+Bildobjekt erschaffen
+drawImage()
+Bild anzeigen
+19.17.10. Die Klasse Button
+Button myButton = new Button("Klick");
+Buttonobjekt erschaffen
+setLabel()
+Beschriftung des Buttons ändern
+getLabel()
+Beschriftung des Buttons auslesen
+147
+
+19. Java
+19.18. Eventhandling
+java.awt.event.*;
+Paket zur Ereignisbehandlung einbinden
+19.18.1. Mouse Events
+public class myApplet extends Applet implements MouseListener {}
+Schnittstelle MouseListener implementieren
+Methode
+Aufgabe
+-------
+-------
+mousePressed() Maustaste wird gedrückt
+mouseReleased() Maustaste wird losgelassen
+mouseClicked() Mausklick
+mouseEntered() Maus bewegt sich in das Applet
+mouseExited()
+Maus verlässt das Applet
+addMouseListener(this);
+Listener soll auf das gesamte Applet achten
+public void mousePressed(mouseEvent e) {
+int x = e.getX();
+Maustaste an X gedrückt
+int y = e.getY();
+Maustaste an Y gedrückt
+}
+addMouseMotionListener(this);
+MotionListener soll auf das Applet achten
+mouseMoved()
+bewegte Mausereignisse
+mouseDragged()
+19.18.2. Action Events
+public class myApplet extends Applet implements ActionListener {}
+Schnittstelle ActionListener implementieren
+Button myButton = new Button("Knopf"); Button erstellen
+this.add(myButton);
+Button setzen
+myButton.addActionListener(this);
+Button mit ActionListener versehen
+public void actionPerformed(ActionEvent e) {
+Aufruf beim Anklicken des Button
+String Klick = e.getActionCommand();
+gibt die Aufschift des Button
+}
+19.18.3. Parameter an ein Applet
+<applet code="myApplet.class" width=150 height=150>
+148
+
+19.18. Eventhandling
+<parm name="var1" value="Hallo">
+Parameter1
+<parm name="var2" value="Java!">
+Parameter2
+</applet>
+String var1 = getParameter("var1");
+Parameter1 an den String var1
+String var2 = getParameter("var2");
+und var2 übergeben
+19.18.4. Weitere wichtige Pakete
+java.net
+Klassen und Schnittstellen für Netzwerkentwicklung
+java.beans
+wieder verwentbare Komponenten
+java.security
+erhöte Sicherheit innerhalb von Applikationen/Applets
+java.rmi
+Verteilung eines Programms auf mehrere Rechner
+java.sql
+Anbindung an SQL-Datenbanken
+java.servlet
+Applikationen die serverseitig laufen
+149
+
+
+20. JavaScript
+20.1. Einbindung von JavaScript
+20.1.1. Einbindung in den Head
+<html>
+<head>
+<title></title>
+<script language="JavaScript">
+Leitet den JavaScript-Quelltext ein
+<!--
+Kommentar anfang für alte Browser die
+Definition von Fnktionen und
+kein JavaScript unterstüzen
+Variablen
+JavaScript-Quelltext
+//-->
+Kommentar ende
+</script>
+Beendet den JavaScript-Quelltext
+</head>
+<body>
+</body>
+</html>
+20.1.2. Einbindung in den Body
+<html>
+<head>
+<title></title>
+</head>
+<body>
+<script>
+Leitet den JavaScript-Quelltext ein
+</script>
+Beendet den JavaScript-Quelltext
+</body>
+</html>
+20.1.3. Ausführen bei bestimmten Aktionen
+<html>
+<head>
+<title></title>
+</head>
+<body onLoad="JavaScript-Quelltext"> Beim Laden wird der JavaScript-Quelltext
+151
+
+20. JavaScript
+ausgeführt
+</body>
+</html>
+20.2. Variablen
+var GlobaleVariable
+Globale Variable deklarieren
+function() {
+var LokaleVariable
+Lokale Variable deklarieren
+}
+var variable
+Variable deklarieren
+variable = "Wert"
+Wert zuweisen
+var zahl=9
+Variable deklarieren und Wert zuweisen
++
+Verketten
+20.3. Objekte
+20.3.1. Standardobjekte
+document.write("Hallo")
+Hallo auf der Seite ausgeben
+document.writeln("Hallo")
+Hallo auf der Seite mit Zeilenumruch
+ausgeben
+document.close()
+Schreiben schließen
+document.bgColor=("ffffff")
+Hintergrunffarbe
+document.fgColor=("000000")
+Fordergrundfarbe
+document.linkColor=("00ff00")
+Neuer Link
+document.vlinkColor=("ffff00")
+Besuchter Link
+document.alinkColor=("ff0000")
+Aktiver Link
+document.referrer
+URL von der aufgerufen wurde
+document.location
+URL der Datei selber
+document.title
+Titel der Seite
+document.Name.src="bild2.gif"
+<img src="bild.gif" name="Name"> um auf
+das Bild zuzugreifen
+document.forms[0].Name.value
+Formular 1(0); aktueller Text im
+Eingabefeld auslesen oder überschreiben
+document.forms[0].Name.defaultValue
+Defaultwert auslesen oder überschreiben
+document.forms[0].Name.select()
+Text im Eingabefeld makieren
+document.forms[0].Name.focus()
+Cursor in das Eingabefeld setzen
+152
+
+20.3. Objekte
+document.forms[0].Name[0].checked
+Radio-Checkbuttons liest oder schreibt,
+ob ein Button ausgewählt ist
+document.forms[0].Name[0].defaultCheckedVoreinstellung eines Button lesen oder
+schreiben
+nicht markiert
+markiert
+0
+1
+false
+true
+document.forms[0].Name.options[0].selectedIndex
+Auswahlliste auslesen oder schreiben
+document.forms[0].Name.options[0].value Wert auslesen oder schreiben
+parent.frames[0].location.href=
+Frameinhalt ändern 0 -> Frame 1
+"frame.htm"
+parent.
+verzweigt in den nächsthöheren Frame
+top.
+verzweigt in den höchsten Frame im
+Browser
+frames[n]
+verzweigt auf die nächstniedrigere Stufe
+in den Frame mit dem Index n
+window.status=("Hallo")
+Hallo in der Statusleiste ausgeben
+myWindow=window.open("Dateiname","Fenstername","Eigenschaften")
+Öffnet ein neues Fenster
+Eigenschaften: width=(Pixel)
+gibt die Breite an
+height=(Pixel)
+gibt die Höhe an
+resizable=yes/no
+größe des Fensters veränderbar ?
+menubar=yes/no
+Menüleiste vorhanden ?
+toolbar=yes/no
+Buttonleiste vorhanden ?
+location=yes/no
+Adresszeile vorhanden ?
+status=yes/no
+Statuszeile vorhanden ?
+scrollbars=yes/no
+Bildlaufleiste vorhanden ?
+dependent=yes/no
+Vom aktuellen Fenster abhängig ?
+myWindow.close()
+Schließt das neue Fenster
+myWindow.closed
+Zugriff auf den Fensterzustand
+20.3.2. String-Objekt
+String.length
+Anzahl der Zeichen des Strings
+String.substring(Anfang,Ende)
+Gibt den Anfang bis Ende des Strings zurück
+String.toLowerCase
+Wandelt alle Buchstaben in Kleinbuchstaben
+String.toUpperCase
+Wandelt alle Buchstaben in Großbuchstaben
+153
+
+20. JavaScript
+20.3.3. Eigene Objekte
+function person(name, alter) {
+Funktion
+this.name = name
+zum
+this.alter = alter
+Objekt
+}
+anlegen
+var meier = new person("Geier Meier", 18)
+Objekt erzeugen
+meier.name = "Mr. Geier Meier"
+Wert ändern
+meier.alter = 20
+Wert ändern
+meier = new Object
+Objekt erzeugen
+meier.vorname = "Geier"
+Wert zuweisen
+meier.nachname = "Meier"
+Wert zuweisen
+20.3.4. Arrays
+Variable = new Array
+Array erzeugen
+Variable[0] = "hallo"
+Wert zuweisen
+20.4. Mathematische Operationen
+c = a + b
+Addition
+a++ ; a = a + 1
+c = a - b
+Subtraktion
+a-- ; a = a - 1
+c = a * b
+Multiplikation
+c = a / b
+Division
+a = Math.round(b)
+Ganzzahlige Rundung
+20.5. Bedingte Ausführung
+if(Ausdruck)
+wenn der Ausdruck stimmt,
+{
+Anweisung-en1
+Anweisung-en1
+}
+20.6. Schleifen
+for(Ausdruck1;Ausdruck2;Ausdruck3)
+Ausdruck1 einmal ausführen
+{
+so lange der Ausdruck2 stimmt,
+vorher noch Ausdruck3
+Anweisug-en
+Anweisung-en
+154
+
+20.7. Event-Handler
+}
+while(Ausdruck)
+so lange der Ausdruck stimmt,
+{
+Anweisung-en
+Anweisung-en
+}
+20.7. Event-Handler
+onLoad="Aktion"
+Beim Laden Aktion ausführen
+onUnload="Aktion"
+Beim Schließen Aktion ausführen
+onMouseOver="Aktion"
+Beim Überfahren Aktion ausführen
+onMouseOut="Aktion"
+Beim Verlassen Aktion ausführen
+onFocus="Aktion"
+Beim Setzen des Cursors auf das Element
+(Einsatz in Formularen)
+onBlur="Aktion"
+Beim Verlassen des Elementes
+onChange="Aktion"
+Beim Verlassen des Elementes wenn verändert
+onClick="Aktion"
+Beim Anklicken eines Formularelements
+<a href="javascript:function(’Link’)">Verweistext</a>
+onSubmit="Aktion"
+Beim Senden eines Formulares Aktion ausführen
+20.8. Funktionen
+function Name(var1,var2)
+Definiert eine Funktion mit dem Name
+{ alert(var2)
+Hier kommt der Funktionsinhalt rein
+}
+return("Hallo")
+Hallo zurück geben
+alert("Text")
+Öffnet ein Fenster und gibt den Text aus
+uhrzeit=new Date()
+Datum und Uhrzeit in das Objekt uhrzeit
+schreiben
+st=uhrzeit.getHours()
+Stunden aus dem Objekt uhrzeit der Variable
+st zuweisen
+min=uhrzeit.getMinutes()
+Minuten aus dem Objekt uhrzeit der Variable
+min zuweisen
+setTimeout("Funktion",Millisekunden)
+Funktion nach Millisekunden aufrufen
+Math.random()
+155
+
+20. JavaScript
+20.9. Reservierte Wörter
+abstract
+boolean
+break
+byte
+case
+catch
+char
+class
+const
+continue
+debugger
+default
+delete
+else
+enum
+export
+extends
+false
+final
+finally
+float
+for
+function
+goto
+if
+implements
+import
+in
+instanceof
+int
+interface
+long
+native
+new
+null
+package
+private
+protected
+public
+return
+short
+static
+super
+156
+
+20.9. Reservierte Wörter
+switch
+synchronized
+this
+throw
+throws
+transient
+true
+try
+typeof
+var
+void
+volatile
+while
+with
+157
+
+
+Teil V.
+Anhang
+159
+
+
+21. Glossar
+Abhängigkeiten Ein von rpm verwendetes System, um die Verwaltung installierter
+Software zu vereinfachen. Jedes Paket enthält ein Skript, das dem lokalen rpm
+mitteilt, welche anderen Pakete es zur Ausführung benötigt. Sind die erforderli-
+chen Pakete nicht installiert, wird die Installation abgebrochen. Gleiches gilt für
+die Deinstallation.
+Andere, others In UNIX die Gruppe der Benutzer, die weder Eigetümer einer Datei
+sind, noch zur Besitzergruppe gehören. Es ist generell eine gute Idee, die Rechte
+dieser Gruppe so restriktiv wie möglich zu handhaben. Siehe auch Besitzergrup-
+pe.
+alias Ein Shell-Mechanismus, um eine Zeichenkette durch einen anderen zu ersetzen,
+bevor ein Kommando ausgeführt wird. Einen Überblick über alle definierten
+Aliasse erhalten Sie mit dem Kommando alias.
+Anzeigehilfe Programm zum Anzeigen einer (Text-) Datei. Es bietet die Möglichkeit
+einfach vorwärts und rückwärts durch das Dokument zu navigieren sowie Zei-
+chenketten zu suchen. Wir empfehlen Ihnen das Programm less zu verwenden
+(u.a. da es die selben Tastaturkürzel wie vim verwendet).
+APM Advanced Power Management (”Fortgeschrittenes Energiemanagement”). Wird
+von einigen BIOSsen dazu benutzt, die Maschine nach einer Periode von Inakti-
+vität in einen energiesparenden Ruhezustand zu bringen. Auf Laptops ist APM
+auch dafür zuständig, Informationen über den Batteriestatus bzw. die verblei-
+bende Arbeitszeit bereit zu stellen.
+Arbeitsfläche Wenn Sie das X-Windows-System verwenden, ist die Arbeitsfläche der
+teil des Bildschirmes, auf dem Sie arbeiten und auf dem Ihre Symbole und Fenster
+dargestellt werden. Manschmal wird auch lachs vom ”Hitergrund” gesprochen.
+Siehe auch: virtuelle Arbeitsfläche.
+ARP Address Resolution Protocol. (”Protokoll zur Adress-Auflösungs”). Das Protokoll
+um IP-Adressen dynamisch in physikalische (Hardware-)Adressen umzuwandeln.
+Nur möglich auf direkt verbundenen Netzwerken im Hardware- Broadcasting.
+ASCII Abkürzung für American Standart Code for Information Interchange. Es han-
+delt sich um den meistvervwendeten 7-Bit-Kode zur Darstellung von Ziffern,
+Buchstaben und Sonderzeichen. Der ASCII-Code ist mittlerweile per ”normati-
+ver Kraft des Faktischen” durch den ISO Standart 8859-1 abgelöst (Siehe ISO
+8859).
+161
+
+21. Glossar
+Assembler Maschinensprache. Vorstufe des Objekt-Kodes. Programme werden meist
+in sogenannten Hochsprachen (wie C) geschrieben, die dann per Kompilation in
+Assembler umgewandelt werden.
+ATAPI eine Familie von CD-ROM-Laufwerken, die an den IDE-Controller angeschlos-
+sen werden. Es gibt auch SCSI-Laufwerke, die am SCSI-Controler betrieben wer-
+den, sowie proprietäre Laufwerke, die ihren eigenen Controller benutzen oder an
+die Soundkarte angeschlossen werden.
+atomar Eine Gruppe von Operationen, die nicht weiter aufgeteilt werden kann.
+ausführlicher Modus Befehle produzieren im ausführlichen Modus Zusatzinformatio-
+nen, die auf die Standardausgabe oder Standart-Fehlerausgabe ausgegeben wer-
+den. Einige Programme bieten die Möglichkeit einzustellen wie ”redselig” sie sein
+sollen.
+HTTP HyperText Transfer Protokoll(Hypertext-Übertragungsprotokoll). Ist ein Pro-
+tokoll zur Übertragung von Daten über ein Netzwerk. Es wird hauptsächlich ein-
+gesetzt, um Webseiten aus dem World Wide Web (WWW) in einen Webbrowser
+zu laden.
+URL Uniform Resource Locator (Einheitlicher Quellenanzeiger). Bezeichnet man ei-
+ne Unterart von Uniform Resource Identifiern (URIs). URLs identifizieren und
+lokalisieren eine Ressource über die zu verwendende Zugriffsmethode (z. B. das
+verwendete Netzwerkprotokoll wie HTTP oder FTP) und den Ort (engl. locati-
+on) der Ressource in Computernetzwerken. Im allgemeinen Sprachgebrauch wer-
+den sie auch als Internetadresse bezeichnet, wobei damit (der umgangssprachlich
+häufigen Gleichsetzung von Internet und WWW folgend) meist speziell URLs
+von Webseiten gemeint sind.
+USV Unterbrechungsfreie Stromversorgung. Sehr großer Akku (aufladbare Baterie)
+der bei einem Stromausfall den Rechner mit Strom versorgt.
+WWW World Wide Web(Weltweites Netz). Ist ein über das Internet abrufbares Hypertext-
+System, bestehend aus elektronischen Dokumenten, die durch Hyperlinks mit-
+einander verknüpft sind.
+162
+
+Stichwortverzeichnis
+&, 30
+Eigentümer, 28
+htop, 30
+emerge, 33
+affs, 49
+env-update, 31
+ifconfig, 34
+alias, 22
+equery, 33
+info, 20
+apt, 32
+etc-update, 33
+init, 19, 20
+apt-get, 32
+euse, 33
+initctl, 20
+insmod, 17
+bash, 55
+expand, 25
+ip, 34
+bg, 30
+export, 31, 38, 55
+iso9660, 49
+Bildschirmschoner, 19,
+ext2, 49
+39
+ext3, 49
+jobs, 30
+blockorientiert, 28
+fakeroot, 17
+bzip2, 17
+Kernel, 17
+fdformat, 27
+kill, 30
+cat, 23
+fdisk, 27
+ksh, 55
+cd, 23
+fg, 30
+cfdsik, 27
+fgrep, 24
+last, 20
+chgrp, 28
+file, 22
+ldd, 34
+chmod, 28
+find, 24
+less, 23
+chown, 28
+finger, 20
+ln, 23
+chroot, 31
+free, 20
+locate, 55
+clock, 21
+fsck, 27
+login, 19
+cmp, 25
+fstab, 48
+logout, 19
+comm, 25
+ftp, 34
+losetup, 28
+compress, 25
+lpq, 25
+cp, 23
+gpg, 17, 36
+lpr, 25
+csh, 55
+grep, 24
+lprm, 25
+group, 49
+ls, 22
+date, 20, 21
+grub, 31
+lsmod, 17
+Datum, 21
+Gruppe, 28
+dd, 27
+gzip, 17
+mail, 37
+df, 20
+make, 17, 34
+diff, 25
+halt, 19
+make-kpkg, 17
+dmesg, 17
+Hardlink, 23
+man, 20
+dpkg, 17, 32
+head, 23
+mfomat, 27
+host, 34
+minix, 49
+echo, 20
+hosts, 50
+mkdir, 23
+egrep, 24
+hpfs, 49
+mkdosfs, 27
+163
+
+STICHWORTVERZEICHNIS
+mke2fs, 27
+rpm, 32
+umount, 27
+mkfs, 27
+umsdos, 49
+modprobe, 28
+sax, 38
+uname, 17
+more, 23
+scp, 34, 35
+uncompress, 25
+mount, 27
+setenv, 55
+uniq, 25
+msdos, 49
+settherm, 19
+unpack, 25
+mv, 23
+sh, 55
+unset, 55
+shutdown, 19
+unsetenv, 55
+ncpfs, 49
+smbfs, 49
+Upstart, 20
+netcat, 34
+Softlink, 23
+useradd, 28
+netdate, 21
+source, 31
+userdel, 28
+nfs, 49
+ssh, 34, 35
+usermod, 28
+nl, 23
+ssh-keygen, 35
+UTC, 21
+nmap, 34
+startx, 38
+nslookup, 34
+stderr, 19
+vfat, 49
+ntfs, 49
+stdin, 19, 56
+vi, 24, 61
+vipw, 28
+od, 23
+stdout, 19
+strace, 34
+w, 20
+passwd, 28, 53
+strings, 23
+wc, 22
+ping, 34
+su, 28
+wget, 17
+pr, 25
+sux, 28
+whatis, 20
+proc, 49
+systemctl, 19
+which, 20
+ps, 30
+sysv, 49
+who, 20
+pstree, 30
+whoami, 20
+pwd, 20
+tail, 23
+tar, 27
+xf86config, 38
+rcsshd, 36
+tcsh, 55
+XF86Setup, 38
+reboot, 19
+telnet, 34
+xset, 39
+recode, 23
+timedatectl, 21
+xsetroot, 39
+reiserfs, 49
+top, 30
+revdep-rebuild, 33
+tr, 25
+yast, 20
+rlogin, 34
+tune2fs, 27
+rm, 23
+zcat, 17
+rmdir, 23
+ufs, 49
+zeichenorientiert, 28
+rmmod, 17
+Uhrzeit, 21
+Zeit, 21
+164
+
+

Document Outline

+ +
+ + diff --git a/netzwerk/apache/access_control_list_file.tex b/netzwerk/apache/access_control_list_file.tex new file mode 100644 index 0000000..956b8f5 --- /dev/null +++ b/netzwerk/apache/access_control_list_file.tex @@ -0,0 +1,27 @@ +% master: access_control_list_file.tex +% Access Control List File (.htaccess) v0.1 +% 2011-06-01 (Rx) + +\subsection{Access Control List File (.htaccess)} +%------------------------------------------------ + +Die Datei .htaccess muß in dem zu schützenden Ordner angelegt werden. + +\begin{verbatim} +AuthUserFile /www/.htpasswd Pfad zu einer Passwortdatei +AuthGroupFile /dev/null +AuthName "Tux ;-)" +AuthType Basic + + require user webmaster + + +AuthUserFile /www/.htpasswd Pfad zu einer Passwortdatei +AuthGroupFile /www/.htgroup Pfad zu einer Gruppendatei +AuthName "Tux ;-)" +AuthType Basic + + require group logins + +\end{verbatim} + diff --git a/netzwerk/apache/anforderungen.tex b/netzwerk/apache/anforderungen.tex new file mode 100644 index 0000000..f89077f --- /dev/null +++ b/netzwerk/apache/anforderungen.tex @@ -0,0 +1,28 @@ +% master: anforderungen.tex +% Anforderungen v0.1 +% 2011-06-01 (Rx) + +\subsection{Anforderungen} +%------------------------- + +\begin{itemize} + \item Apache-Quellcode 1.3, erhältlich bei http://www.apache.org/ + + \item mod\_ssl 1.3, erhältlich bei http://www.modssl.org/ + + \item Apache-Quellcode 2.0, erhältlich bei http://www.apache.org/ + + \item OpenSSL-Quellcode 0.9.x, erhältlich bei http://www.openssl.org/ + + \item Linux ab 2.4.xx(z.B.Debian Sarge 3.1), libgdbm2-devel(ndbm.h -> gdbm-ndbm.h) + + \item ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab + Version 2.7.2, wesentliche Generierungswerkzeuge wie make + + \item Zeitgenauigkeit bewahren, ntpdate oder xntpd(NTP) + + \item Perl 5(optional), Version ab 5.003 http://www.perl.com/ + + \item PureFTPd(optional), Version ab 5.003 http://www.perl.com/ +\end{itemize} + diff --git a/netzwerk/apache/anhang_syntax_ueberpruefen.tex b/netzwerk/apache/anhang_syntax_ueberpruefen.tex new file mode 100644 index 0000000..e20017d --- /dev/null +++ b/netzwerk/apache/anhang_syntax_ueberpruefen.tex @@ -0,0 +1,12 @@ +% master: anhang_syntax_ueberpruefen.tex +% Anhang: Syntax überprüfen v0.1 +% 2011-06-01 (Rx) + +\subsection{Anhang: Syntax überprüfen} +%------------------------------------- + +\begin{verbatim} +apachectl -t überprüft den Syntax der Konfigurationsdatei, so kann + vermieden werden das der Apache nicht neu startet +\end{verbatim} + diff --git a/netzwerk/apache/apache.tex b/netzwerk/apache/apache.tex new file mode 100644 index 0000000..4f05109 --- /dev/null +++ b/netzwerk/apache/apache.tex @@ -0,0 +1,50 @@ +% master: apache.tex +% Apache v0.2 +% 2011-05-31 (Rx) + + +\chapter{Apache} +%--------------- +\input{netzwerk/apache/einleitung} + +\section{Kompilieren und Installieren} +%------------------------------------- +\input{netzwerk/apache/anforderungen} +\input{netzwerk/apache/vorbereitungen} +\input{netzwerk/apache/openssl} +\input{netzwerk/apache/apache1.3} +\input{netzwerk/apache/apache2} +\input{netzwerk/apache/testen} +\input{netzwerk/apache/upgrade} +\input{netzwerk/apache/pureftpd} + +\section{Apache starten} +%----------------------- +\input{netzwerk/apache/apache_starten} +\input{netzwerk/apache/wie_der_apache_startet} +\input{netzwerk/apache/fehler_waehrend_des_hochfahrens} +\input{netzwerk/apache/automatisch_starten_und_beenden} +\input{netzwerk/apache/weitere_informationen} + +\section{Beenden und Neustarten} +%------------------------------- +\input{netzwerk/apache/beenden_und_neustarten_einleitung} +\input{netzwerk/apache/beenden} +\input{netzwerk/apache/unterbrechungsfreier_neustart} +\input{netzwerk/apache/neustarten} +\input{netzwerk/apache/anhang_syntax_ueberpruefen} + +\section{Anhang} +%--------------- +\input{netzwerk/apache/zu_den_dateien} + + +\section{Benutzerhandbuch} +%------------------------- +\input{netzwerk/apache/httpd_conf} +\input{netzwerk/apache/access_control_list_file} +\input{netzwerk/apache/gruppendatei} +\input{netzwerk/apache/passwort-datei} +\input{netzwerk/apache/erstellen_eines_ssl-zertifikats} +\input{netzwerk/apache/favicon} + diff --git a/netzwerk/apache/apache1.3.tex b/netzwerk/apache/apache1.3.tex new file mode 100644 index 0000000..61db30b --- /dev/null +++ b/netzwerk/apache/apache1.3.tex @@ -0,0 +1,84 @@ +% master: apache1.3.tex +% Apache 1.3 und SSL v0.1 +% 2011-06-01 (Rx) + +\subsection{Apache 1.3 und SSL} +%------------------------------ +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfz apache_1.3.31.tar.gz Quelldateien entpacken +tar xvfz mod_ssl-2.8.19-1.3.31.tar.gz Quelldateien entpacken +cd apache_1.3.31 in das Quelldatei-Verzeichnis wechseln +./configure --help Hilfe zu den möglichen Optionen +cd ../mod_ssl-2.8.19-1.3.31 +./configure --help Hilfe zu den möglichen Optionen +./configure --with-apache=../apache_1.3.31 + --with-ssl=../openssl-0.9.7d + --prefix=/usr/local/apache/1.3.31 + --datadir=/srv/www + --enable-module=most + --enable-shared=max + --enable-module=ssl +cd ../apache_1.3.31 in das Quelldatei-Verzeichnis wechseln +make Programm herstellen +make certificate TYPE=custom Zertifikat erzeugen +\end{verbatim} + +\subsubsection{Angaben zu der Certificate Authority} +%--------------------------------------------------- +\begin{verbatim} +Signature Algorithm ((R)SA or (D)SA) [R]:R +1. Country Name (2 letter code) [XY]:DE +2. State or Province Name (full name) [Snake Desert]:Niedersachsen +3. Locality Name (eg, city) [Snake Town]:Salzgitter +4. Organization Name (eg, company) [Snake Oil, Ltd]:Komtek +5. Organizational Unit Name (eg, section) [Certificate Authority]:CA +6. Common Name (eg, CA name) [Snake Oil CA]:Komtek CA +7. Email Address (eg, name@FQDN) [ca@snakeoil.dom]:ca@komtek.de +8. Certificate Validity (days) [365]:365 +Certificate Version (1 or 3) [3]:3 +\end{verbatim} + +\subsubsection{Angaben zum Serverzertifikat} +%------------------------------------------- +\begin{verbatim} +1. Country Name (2 letter code) [XY]:DE +2. State or Province Name (full name) [Snake Desert]:Niedersachsen +3. Locality Name (eg, city) [Snake Town]:Salzgitter +4. Organization Name (eg, company) [Snake Oil, Ltd]:Komtek +5. Organizational Unit Name (eg, section) [Webserver Team]:Webmaster +6. Common Name (eg, FQDN) [www.snakeoil.dom]:www.komtek.de +7. Email Address (eg, name@fqdn) [www@snakeoil.dom]:www@www.komtek.de +8. Certificate Validity (days) [365]:365 +Certificate Version (1 or 3) [3]:3 +\end{verbatim} + +\subsubsection{Schlüssel verschlüsseln} +%-------------------------------------- +\begin{verbatim} +Encrypt the private key now? [Y/n]: n +Encrypt the private key now? [Y/n]: n + +su als root anmelden +make install +groupadd wwwadmin Gruppe wwwadmin anlegen +chown -R nobody:wwwadmin /srv/www Rechte für das www-Verzeichnis setzen +ln -s /usr/local/apache/1.3.31 /usr/local/apache/current + Link zu Apache 1.3 +ln -s /usr/local/apache/current/conf /etc/apache + Link zu den Konfigurationen +ln -s /usr/local/apache/current/logs /var/log/apache + Link zu den Logdateien +ln -s /usr/local/apache/current/bin/apachectl /usr/local/bin + Link zu apachectl +ln -s /usr/local/apache/current/bin/apachectl /etc/init.d/apache + Link zu den Startdateien +cd /etc/rc5.d in den Start-Runlevel wechseln +ln -s ../init.d/apache S20apache Link zum automatischen Starten +cd ../rc0.d in den Stopp-Runlevel wechseln +ln -s ../init.d/apache K20apache Link zum automatischen Beenden +cd ../rc6.d in den Start-Runlevel wechseln +ln -s ../init.d/apache K20apache Link zum automatischen Beenden +exit root abmelden +\end{verbatim} + diff --git a/netzwerk/apache/apache2.tex b/netzwerk/apache/apache2.tex new file mode 100644 index 0000000..fde0097 --- /dev/null +++ b/netzwerk/apache/apache2.tex @@ -0,0 +1,43 @@ +% master: apache2.tex +% Apache2 v0.1 +% 2011-06-01 (Rx) + +\subsection{Apache2} +%------------------- + +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfz httpd-2.0.51.tar.gz Quelldateien entpacken +cd httpd-2.0.51 in das Quelldatei-Verzeichnis wechseln +./configure --help Hilfe zu den möglichen Optionen +./configure --prefix=/usr/local/apache2/2.0.51 + --with-ssl=../openssl-0.9.7d + --datadir=/srv/www2 + --enable-module=most + --enable-shared=max + --enable-module=ssl + --with-port=81 da auf 80 schon der Apache 1.3 läuft +make Programm herstellen +su als root anmelden +make install Programm installieren (als root!) +groupadd wwwadmin Gruppe wwwadmin anlegen +chown -R nobody:wwwadmin /srv/www2 Rechte für das www-Verzeichnis setzen +ln -s /usr/local/apache2/2.0.51 /usr/local/apache2/current + Link zu Apache 2 +ln -s /usr/local/apache2/current/conf /etc/apache2 + Link zu den Konfigurationen +ln -s /usr/local/apache2/current/logs /var/log/apache2 + Link zu den Logdateien +ln -s /usr/local/apache2/current/bin/apachectl /usr/local/bin/apachectl2 + Link zu apachectl +ln -s /usr/local/apache2/current/bin/apachectl /etc/init.d/apache2 + Link zu den Startdateien +cd /etc/rc5.d in den Start-Runlevel wechseln +ln -s ../init.d/apache2 S20apache2 Link zum automatischen Starten +cd ../rc0.d in den Stopp-Runlevel wechseln +ln -s ../init.d/apache2 K20apache2 Link zum automatischen Beenden +cd ../rc6.d in den Start-Runlevel wechseln +ln -s ../init.d/apache2 K20apache2 Link zum automatischen Beenden +exit root abmelden +\end{verbatim} + diff --git a/netzwerk/apache/apache_starten.tex b/netzwerk/apache/apache_starten.tex new file mode 100644 index 0000000..de981b8 --- /dev/null +++ b/netzwerk/apache/apache_starten.tex @@ -0,0 +1,13 @@ +% master: apache_starten.tex +% Apache starten v0.1 +% 2011-06-01 (Rx) + +\subsection{Apache starten} +%-------------------------- +Unter UNIX/Linux wird das httpd-Progamm als Daemon ausgeführt. + +\begin{verbatim} +apachectl start Apache starten +rcapache start Apache starten(SuSE-Linux) +\end{verbatim} + diff --git a/netzwerk/apache/automatisch_starten_und_beenden.tex b/netzwerk/apache/automatisch_starten_und_beenden.tex new file mode 100644 index 0000000..7fe055e --- /dev/null +++ b/netzwerk/apache/automatisch_starten_und_beenden.tex @@ -0,0 +1,28 @@ +% master: automatisch_starten_und_beenden.tex +% Automatisch starten und beenden v0.1 +% 2011-06-01 (Rx) + +\subsection{Automatisch starten und beenden} +%------------------------------------------- + +\begin{itemize} + \item apachectl zu den Startdateien des Systems hinzufügen (rc.local, + rc.x-Verzeichnis) +\end{itemize} + +\begin{verbatim} + z.B. SuSE-Linux: + cd /etc/rc.d/rc3.d/ + ln -s ../apache S16apache Link zum automatischen Starten + in Runlevel 3 anlegen + ln -s ../apache K06apache Link zum automatischen Beenden + in Runlevel 3 anlegen + z.B. Debian: + cd /etc/rc3.d/ + ln -s ../init.d/apache2 S20apachectl + Link zum automatischen Starten in Runlevel 5 anlegen + cd /etc/rc0.d/ + ln -s ../init.d/apache2 K20apachectl + Link zum automatischen Beenden in Runlevel 0 anlegen +\end{verbatim} + diff --git a/netzwerk/apache/beenden.tex b/netzwerk/apache/beenden.tex new file mode 100644 index 0000000..eb91b05 --- /dev/null +++ b/netzwerk/apache/beenden.tex @@ -0,0 +1,27 @@ +% master: beenden.tex +% Beenden v0.1 +% 2011-06-01 (Rx) + +\subsection{Beenden} +%------------------- + +\begin{verbatim} +Signal: TERM + +apachectl stop sendet das TERM(stop) signal an + den Elternprozess +rcapache stop Apache stoppen + bei SuSE-Linux +kill -TERM `cat /var/log/apache2/httpd.pid` sendet das TERM(stop) signal an + den Elternprozess +\end{verbatim} + +\begin{itemize} + \item das Senden des TERM(stop)-Signals an den Elternprozess veranlasst alle seine + Kindprozesse sich zu beenden + \item es dauert etwas bis alle Kindprozesse beendet sind + \item danach beendet sich der Elternprozess + \item alle gerade bearbeiteten Anfragen werden abgebrochen + \item es werden keine weiteren Anfragen mehr bedient +\end{itemize} + diff --git a/netzwerk/apache/beenden_und_neustarten_einleitung.tex b/netzwerk/apache/beenden_und_neustarten_einleitung.tex new file mode 100644 index 0000000..d2fb536 --- /dev/null +++ b/netzwerk/apache/beenden_und_neustarten_einleitung.tex @@ -0,0 +1,21 @@ +% master: beenden_und_neustarten_einleitung.tex +% Einleitung v0.1 +% 2011-06-01 (Rx) + +\subsection{Einleitung} +%---------------------- + +\begin{itemize} + \item um den Apache zu stoppen oder neu zu starten, muss ein Signal an den laufenden + httpd-Prozess gesendet werden + \item es gibt zwei Möglichkeiten Signale zu senden, kill und apachectl + \item auf dem System laufen mehrere httpd-Programme + \item nur an den Elternprozess sollte ein Signal gesendet werden, + /var/log/apache2/httpd.pid + \item es gibt drei Signale die an den Elternprozess gesendet werden können, + TERM - beenden, HUP - neustarten, USR1 - unterbrechungsfreier Neustart + \item es wird empfohlen apachectl zu benutzen + \item mit "tail -f /var/log/apache2/error\_log" kann die Signalisierung beobachtet + werden +\end{itemize} + diff --git a/netzwerk/apache/einleitung.tex b/netzwerk/apache/einleitung.tex new file mode 100644 index 0000000..3d4f5b7 --- /dev/null +++ b/netzwerk/apache/einleitung.tex @@ -0,0 +1,13 @@ +% master: einleitung.tex +% Einleitung v0.1 +% 2011-06-01 (Rx) + +\section{Einleitung} +%------------------- + +Der Apache Webserver ist ein Programm das im Netzwerk(WWW), bei +Anfragen mit einem Webbrowser, Websites(HTTP-Protokoll) ausgeben kann. + +Die Anfragen werden als URL angegeben. +Beispiel: Schema://Hostname:Port/Server-Pfad -> http://www.apache.org:80/manual/ + diff --git a/netzwerk/apache/erstellen_eines_ssl-zertifikats.tex b/netzwerk/apache/erstellen_eines_ssl-zertifikats.tex new file mode 100644 index 0000000..eb4cda5 --- /dev/null +++ b/netzwerk/apache/erstellen_eines_ssl-zertifikats.tex @@ -0,0 +1,18 @@ +% master: erstellen_eines_ssl-zertifikats.tex +% Erstellen eines SSL-Zertifikats v0.1 +% 2011-06-01 (Rx) + +\subsection{Erstellen eines SSL-Zertifikats} +%------------------------------------------- + +\begin{verbatim} +openssl req -new > firma.csr +openssl rsa -in privkey.pem -out firma.key +openssl x509 -in firma.csr -out firma.crt -req -signkey firma.key -days 10000 +cp firma.key /etc/httpd/ssl.key/server.key +cp firma.crt /etc/httpd/ssl.crt/server.crt +cp firma.csr /etc/httpd/ssl.csr/server.csr +chown root privkey.pem +chmod 400 privkey.pem +\end{verbatim} + diff --git a/netzwerk/apache/favicon.tex b/netzwerk/apache/favicon.tex new file mode 100644 index 0000000..d8b139c --- /dev/null +++ b/netzwerk/apache/favicon.tex @@ -0,0 +1,107 @@ +% master: favicon.tex +% LinkIcon (favicon.ico) v0.1 +% 2011-06-01 (Rx) + +\subsection{LinkIcon (favicon.ico)} +%---------------------------------- + +\subsubsection{Was ist ein favicon.ico?} +%--------------------------------------- +Immer wenn ein IE5 Benutzer eine Seite seinen Favoriten hinzufügt, sucht der +IE5 nach einem Icon das er anstatt des Standardicons in der Favoritenliste +anzeigen kann. Er sucht zuerst im aktuellen 'Verzeichnis' und geht dann Ebene +für Ebene weiter bis zum Wurzelverzeichnis. Nehmen wir mal an, das aktuelle +Dokument befindet sich unter http://www.bjoernsworld.de/suchmaschinen/ +optimieren/aufraeumen.html, dann wird der IE 5 so nach dem Icon suchen: + +\begin{verbatim} +http://www.bjoernsworld.de/suchmaschinen/optimieren/favicon.ico +http://www.bjoernsworld.de/suchmaschinen/favicon.ico +http://www.bjoernsworld.de/favicon.ico +\end{verbatim} + +Er sucht solange, bis er eines gefunden hat oder bei /favicon.ico angekommen +ist. Das gilt nur für den Internet Explorer Version 5.0 und 5.01; Version 5.5 +sucht nur noch nach /favicon.ico selbstständig. Hat er eins gefunden, zeigt er +es in der Favoritenliste an und beim erneuten Besuch der Seite auch links neben +der URL in der Adresszeile: + +\subsubsection{Welches Format hat das favicon.ico?} +%-------------------------------------------------- +Das favicon.ico ist ein Icon im Microsoft Windows Icon File Format. Windows +Benutzer sehen täglich solche Icons auf ihrem Desktop, in ihrem Startmenü, etc. +In der Favoritenliste wird dieses Icon in der Größe 16x16 Pixel dargestellt, +daher sollte man das Icon auch in dieser Größe erstellen. Die Farbzahl +beschränkt sich auf 16 bzw. 256 Farben, wobei eine als transparente Farbe gilt. + +\subsubsection{Welchen MIME-Type hat das favicon.ico?} +%----------------------------------------------------- +Der korrekte MIME-Type für das favicon.ico ist image/x-icon. Beim Apache +Webserver kann man das in einer .htaccess mit der Zeile: + +\begin{verbatim} +AddType image/x-icon .ico +\end{verbatim} + +konfigurieren. + +\subsubsection{Wie erstelle ich ein favicon.ico?} +%------------------------------------------------ +Man braucht dafür einen Icon Editor wie man sie zuhauf bei Tucows oder Winfiles. +com finden kann. Mit z.B. dem Freeware Tool Irfan View ist es ohne Probleme +möglich, eine Gifdatei in das Icon Format zu konvertieren. Macintosh Benutzer +können den GraphicConverter von Thorsten Lemke oder den Iconographer von +MscapeSoftware benutzen um das Icon zu erstellen. Bei favicon.com gibt es einen +Online Editor in Java, mit dem man online sein eigenes favicon.ico erstellen +kann. + +\subsubsection{Wohin muss das favicon.ico?} +%------------------------------------------ +Wie oben schon gesagt, sucht der IE5, vor Version 5.5, zuerst im aktuellen +'Verzeichnis' und geht dann Ebene um Ebene nach oben, bis er unter +http://host/favicon.ico ein Icon findet oder eben nicht. Man kann entweder in +jedes Verzeichnis ein favicon.ico plazieren, oder im einer jeden HTML +Datei auf ein Icon verweisen: + +\begin{verbatim} + +\end{verbatim} + +Wenn der Apache Webserver mit mod\_rewrite benutzt wird, kann man mit dieser +Regel: + +\begin{verbatim} +RewriteEngine on +RewriteRule ^(.+)/favicon\.ico$ /favicon.ico [R=permanent] [L] +\end{verbatim} + +(z.B. in der .htaccess) alle Anfragen für favicons in Unterverzeichnissen auf +das favicon.ico im Root-Verzeichnis der Domain umleiten. + +Wenn mod\_rewrite nicht zur Verfügung steht, wohl aber Zugriff auf die +Konfigurationsdateien Apache Web Servers, kann man in z.B. der +Sektion folgenden Befehl einfügen: + +\begin{verbatim} +RedirectMatch Permanent ^(.+)/favicon\.ico$ http://server.de/favicon.ico +\end{verbatim} + +\subsubsection{Wie kann man diese Funktion abstellen?} +%----------------------------------------------------- +Es gibt meines Wissens nach keine Möglichkeit den IE5 dazu zu bringen, nicht +nach dem favicon.ico zu suchen. + +\subsubsection{Links zum Thema:} + +\begin{verbatim} +http://www.favicon.de/ +http://www.favicon.com/ +http://wdvl.com/Authoring/Design/Images/Favicon/index.html +http://msdn.microsoft.com/workshop/essentials/versions/ICPIE5.asp +http://msdn.microsoft.com/workshop/Author/dhtml/howto/ShortcutIcon.asp +http://www.winfiles.com/apps/98/icons-edit.html +http://web.cip.com.br/flaviovs/sec/favicon/privacy.html +http://web.cip.com.br/flaviovs/sec/favicon/index.html +http://www.bjoernsworld.de/ie/398da66c.24234236@news.bjoern.hoehrmann.de.txt +\end{verbatim} + diff --git a/netzwerk/apache/fehler_waehrend_des_hochfahrens.tex b/netzwerk/apache/fehler_waehrend_des_hochfahrens.tex new file mode 100644 index 0000000..b93854f --- /dev/null +++ b/netzwerk/apache/fehler_waehrend_des_hochfahrens.tex @@ -0,0 +1,16 @@ +% master: fehler_waehrend_des_hochfahrens.tex +% Fehler während des Hochfahrens v0.1 +% 2011-06-01 (Rx) + +\subsection{Fehler während des Hochfahrens} +%------------------------------------------ + +\begin{itemize} + \item wird während des Hochfahrens einen schwerer Fehler feststellt, schreibt der + Apache eine Nachricht auf die Konsole oder ins ErrorLog, bevor er sich selbst + beendet + + \item eine der häufigsten Fehlermeldungen ist "Unable to bind to Port ...", + der Server läuft schon oder hat keine root-Berechtigung +\end{itemize} + diff --git a/netzwerk/apache/gruppendatei.tex b/netzwerk/apache/gruppendatei.tex new file mode 100644 index 0000000..94b8dd5 --- /dev/null +++ b/netzwerk/apache/gruppendatei.tex @@ -0,0 +1,12 @@ +% master: gruppendatei.tex +% Gruppendatei (.htgroup) v0.1 +% 2011-06-01 (Rx) + +\subsection{Gruppendatei (.htgroup)} +%----------------------------------- + +\begin{verbatim} +cat .htgroup --> + logins: benutzer1 benutzer2 ... +\end{verbatim} + diff --git a/netzwerk/apache/httpd_conf.tex b/netzwerk/apache/httpd_conf.tex new file mode 100644 index 0000000..b9b5363 --- /dev/null +++ b/netzwerk/apache/httpd_conf.tex @@ -0,0 +1,152 @@ +% master: httpd_conf.tex +% httpd.conf v0.1 +% 2011-06-01 (Rx) + +\subsection{httpd.conf} +%---------------------- + +\begin{verbatim} +ServerType standalone Apache nicht ueber den inetd starten. + +ServerRoot "/www/" Diese Einstellung sorgt dafür, dass der Apache + ausgehend von diesem Verzeichnis die + Verzeichnisse fuer Dokumente, Logfiles und + Konfigurationsdateien sucht. + +LockFile /var/lock/subsys/httpd/httpd.accept.lock Spezifizert das Lock + File. + +PidFile /var/run/httpd.pid Datei, in der sich die Prozess ID des Httpd- + Daemons befindet. + +ResourceConfig /etc/httpd/srm.conf Diese Datei enthaelt Angaben zur + Formatierung und dem Aussehen der + automatisch erzeugten Verzeichnisindizes + (FancyIndexing) sowie Angaben zu den einzelnen + Dateitypen. + +AccessConfig /etc/httpd/access.conf Datei zur Definition der Funktionen und + Zugriffsrechte bestimmter Verzeichnisse + +Timeout 300 Zeitlimit fuer Client-Anfragen in Sekunden. + +KeepAlive On Unterstuezung der HTTP/1.1 Persistent + Connections. Dardurch koennen ueber eine TCP- + Verbindung mehrere Anfragen an den Server + geschickt werden. + +MaxKeepAliveRequests 10 Es werden 10 aufeinanderfolgende Anfragen + innerhalb einer Keep-Alive-Verbindung erlaubt. + +KeepAliveTimeout 15 Der Server wartet maximal 15 Sekunden auf + weitere Anfragen des Clients bei einer Keep- + Alive-Verbindung. + +MinSpareServers 5 Es existieren immer mindestens 5 und hoechstens +MaxSpareServers 10 10 leerlaufende Prozesse. + +StartServers 5 Es werden automatisch 5 Kindprozesse des Apache + gestartet. + +MaxClients 150 Maximum von gleichzeitig laufenden + Server-Prozessen. + +MaxRequestsPerChild 30 Nach 30 Anfragen wird der Kindprozess beendet + und gegebenfalls ein neuer gestartet. + +Listen 12.34.56.78:80 Falls mehrere Interfaces bzw. IP Adressen fuer + den Rechner vorhanden sind, kann mit Listen + festgelegt werden, welche Ports fuer welche + Adresse abgehoert werden sollen. + +Port 80 Standalone Server Port 80 + +User wwwrun Nach dem Oeffnen des Ports (als root), wechselt +Group nogroup Apache zu der als User und Group angegebenen + UID bzw. GID. Die Zuweisung kann entweder durch + angeben des Namens oder durch # gefolgt von der + ID erfolgen. + +ServerAdmin dv@mynet.loc Bei Fehlermeldungen wird diese Adresse dem + Client zurueckgeliefert. + +ServerName www.mynet.loc Wird bei Redirects benoetigt (wenn man + beispielsweise durch Eingabe von + http://www.mynet.loc/main auf das Verzeichnis + main zugreifen will, erzeugt der Apache einen + Redirect auf http://www.mynet.loc/main/ . Ohne + ServerName würde der richtige Hostname des + Rechners zurückgeliefert werden. + +DocumentRoot "/www/htdocs/" Hier werden die HTML Seiten abgelegt. + +AllowOverride All Konfigurationsanweisungen in der .htaccess + beachten + +UserDir public_html Homepage-Directory der Benutzer + http://server/~benutzer/ + +DirectoryIndex index.html index.htm index.php Wird nur ein Directory + angegeben, wird automatisch die + angegebene Datei gesucht und angezeigt. + +AccessFileName .htaccess Name der .htaccess + +DefaultType text/plain Dateien ohne Endung werden wie Text-Files + behandelt. + +HostnameLookups Off Es sollen keine DNS-Lookups ausgefuert werden. + +ErrorLog /var/log/httpd/error_log Datei zur Aufnahme von Fehlermeldungen + und sonstigen Info Meldungen + (mod_log_config). + +LogLevel warn LogLevel :-) debug, info, notice, warn, error, + crit,alert,emerg. + +LogFormat ... Legt das Format der Logdatei(en) fest. + +CustomLog /var/log/httpd/access_log common Erzeugt die Datei http.access im + Common Log Format. + +ServerSignature Off ServerSignature kann man auf "Off" stellen, + damit ein Zugriff auf eine nichtexistente Seite + nicht Software und Versionsnummer anzeigt, + jedoch bringt das nicht allzuviel, da im HTTP + Header diese und wesentlich mehr Informationen + zu finden sind. + +Alias /icons/ "/www/icons/" Alias-Namen fuer bestimmte Verzeichnisse. Diese + werden anschliessend behandelt, als wenn sie + sich unter Document-Root befinden wuerden. + Achtung! Die Einstellungen gelten auch fuer + virtuelle Hosts. + +IndexOptions FancyIndexing Als Optionen sind angebbar: + Fancyindexing - ausführliche Verzeichnisliste + (Icons, Name, Größe, Kurzbeschreibung etc.) + SuppressLastModified - keine Angabe der letzten + Modifikationszeit + SuppressSize - keine Angabe der Filegröße + SuppressDescription - keine Angabe einer + Kurzbeschreibung + ScanHTMLTitles - HTML-Titel als Kurzbeschreibung + (Achtung: Rechnerlast!) + +ReadmeName README Die Datei README wird bei der Ausgabe des + Verzeichnisbaums angezeigt. + +HeaderName HEADER Die Datei HEADER wird am Anfangs-Tag in den + Verzeichnisbaums angezeigt. + +IndexIgnore .??* *~ *# RCS CVS *,v *,t Diese Dateien werden nicht durch + FancyIndexing angezeigt. + +TypesConfig /etc/httpd/mime.types Enthaelt die Zuweisungen Dateiendung + zu Mime-Typ + +BrowserMatch "Mozilla/2" nokeepalive Hiermit wird der Apache angewiesen, auf + bestimmte Browser unterschiedlich zu + reagieren. +\end{verbatim} + diff --git a/netzwerk/apache/neustarten.tex b/netzwerk/apache/neustarten.tex new file mode 100644 index 0000000..9d1ecd2 --- /dev/null +++ b/netzwerk/apache/neustarten.tex @@ -0,0 +1,31 @@ +% master: neustarten.tex +% Neustarten v0.1 +% 2011-06-01 (Rx) + +\subsection{Neustarten} +%---------------------- + +\begin{verbatim} +Signal: HUP + +apachectl restart sendet das HUP signal an + den Elternprozess +rcapache restart Apache stoppen und dann starten + bei SuSE-Linux +kill -HUP `cat /var/log/apache2/httpd.pid` sendet das HUP signal an + den Elternprozess +\end{verbatim} + +\begin{itemize} + \item das Senden des HUP(wie TERM)-Signals an den Elternprozess veranlasst alle + seine Kindprozesse sich zu beenden + \item der Elternprozess liest seine Konfigurationsdateien erneut ein und öffnet + seine Logdateien neu + \item die Kindprozesse werden wieder gestartet und setzen die Bedienung von + Zugriffen fort + \item die Serverstatistiken(mod\_status) werden auf Null zurückgesetzt + + \item ist die Konfigurationsdatei fehlerhaft, wird der Elternprozess nicht neu + gestartet +\end{itemize} + diff --git a/netzwerk/apache/openssl.tex b/netzwerk/apache/openssl.tex new file mode 100644 index 0000000..cfe577e --- /dev/null +++ b/netzwerk/apache/openssl.tex @@ -0,0 +1,25 @@ +% master: openssl.tex +% OpenSSL v0.1 +% 2011-06-01 (Rx) + + +\subsection{OpenSSL} +%------------------- + +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfz openssl-0.9.7d.tar.gz Quelldateien entpacken +cd openssl-0.9.7d in das Quelldatei-Verzeichnis wechseln +./config --help Hilfe zu den möglichen Optionen +./config --prefix=/usr/local/openssl/0.9.7d + Codebaum konfigurieren und + Installations-Verzeichnis angeben +make Programm herstellen +make test Programm testen +su als root anmelden +make install Programm installieren +ln -s /usr/local/openssl/0.9.7d /usr/local/openssl/current + Link zu OpenSSL +exit root abmelden +\end{verbatim} + diff --git a/netzwerk/apache/passwort-datei.tex b/netzwerk/apache/passwort-datei.tex new file mode 100644 index 0000000..9de27ab --- /dev/null +++ b/netzwerk/apache/passwort-datei.tex @@ -0,0 +1,13 @@ +% master: passwort-datei.tex +% Passwort-Datei (.htpasswd) v0.1 +% 2011-06-01 (Rx) + +\subsection{Passwort-Datei (.htpasswd)} +%-------------------------------------- + +\begin{verbatim} +htpasswd -c Passwortdatei Benutzername erzeugt eine neue Passwortdatei + und ein Benutzer +htpasswd Passwortdatei Benutzername erzeugt ein Benutzer +\end{verbatim} + diff --git a/netzwerk/apache/pureftpd.tex b/netzwerk/apache/pureftpd.tex new file mode 100644 index 0000000..eec1f6a --- /dev/null +++ b/netzwerk/apache/pureftpd.tex @@ -0,0 +1,67 @@ +% master: pureftpd.tex +% PureFTPd v0.1 +% 2011-06-01 (Rx) + +\subsection{PureFTPd} +%-------------------- + +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfz pure-ftpd-1.0.20.tar.gz Quelldateien entpacken +cd pure-ftpd-1.0.20 Verzeichnis wechseln +./configure --prefix=/usr/local/pure-ftpd/1.0.20 --with-language=german + Makefile herstellen +make Programm herstellen +make check Programm prüfen +su als root anmelden +make install Programm installieren +ln -s /usr/local/pure-ftpd/1.0.20 /usr/local/pure-ftpd/current + Link zu pure-ftpd +mkdir /usr/local/pure-ftpd/current/etc Verzeichnis etc anlegen +cp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/current/etc + Konfiguration kopieren +cp pureftpd-*.conf /usr/local/pure-ftpd/current/etc + Konfigurationen kopieren +ln -s /usr/local/pure-ftpd/current/etc /etc/pure-ftpd + Link zu den Konfigurationen + +vi /etc/init.d/pure-ftpd Startdatei für pure-ftpd anlegen + #!/bin/bash + case "$1" in + start) + echo "pureftpd wird gestartet ..." + cd /usr/local/pure-ftpd/current + ./sbin/pure-ftpd & + ;; + stop) + echo "pureftpd wird heruntergefahren ..." + kill -TERM `cat /var/run/pure-ftpd.pid` + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; + esac + exit 0 + +chmod 755 /etc/init.d/pure-ftpd Rechte setzen +cd /etc/rc5.d Verzechnis wechseln +ln -s ../init.d/pure-ftpd S20pure-ftpd Link zum automatischen Starten +cd /etc/rc0.d Verzechnis wechseln +ln -s ../init.d/pure-ftpd K20pure-ftpd Link zum automatischen Beenden +cd /etc/rc6.d Verzechnis wechseln +ln -s ../init.d/pure-ftpd K20pure-ftpd Link zum automatischen Beenden +useradd -g wwwadmin -d /srv -s /bin/false wwwadmin + Benutzer wwwadmin anlegen +passwd wwwadmin Passwort setzen + +NoAnonymous yes +UnixAuthentication yes +MinUID 1000 +MinUID 1000 +TrustedGID 1002 + + +exit root abmelden +\end{verbatim} + diff --git a/netzwerk/apache/testen.tex b/netzwerk/apache/testen.tex new file mode 100644 index 0000000..68163cf --- /dev/null +++ b/netzwerk/apache/testen.tex @@ -0,0 +1,16 @@ +% master: testen.tex +% Testen v0.1 +% 2011-06-01 (Rx) + +\subsection{Testen} +%-------------------------- + +\begin{verbatim} +/etc/init.d/apache start Apache1.3 starten +/etc/init.d/apache2 start Apache2 starten +Browser http://localhost/ Apache1.3 testen +Browser http://localhost:81/ Apache2 testen +/etc/init.d/apache stop Apache1.3 beenden +/etc/init.d/apache2 stop Apache2 beenden +\end{verbatim} + diff --git a/netzwerk/apache/unterbrechungsfreier_neustart.tex b/netzwerk/apache/unterbrechungsfreier_neustart.tex new file mode 100644 index 0000000..cdb5802 --- /dev/null +++ b/netzwerk/apache/unterbrechungsfreier_neustart.tex @@ -0,0 +1,32 @@ +% master: unterbrechungsfreier_neustart.tex +% Unterbrechungsfreier Neustart v0.1 +% 2011-06-01 (Rx) + +\subsection{Unterbrechungsfreier Neustart} +%----------------------------------------- + +\begin{verbatim} +Signal: USR1 + +apachectl graceful sendet das USR1 signal an + den Elternprozess +kill -USR1 `cat /var/log/apache2/httpd.pid` sendet das USR1 signal an + den Elternprozess +\end{verbatim} + +\begin{itemize} + \item das Senden des USR1-Signals an den Elternprozess veranlasst alle + seine Kindprozesse sich zu beenden + \item die Kindprozesse bearbeiten noch die letzten Anfragen und beenden sich dann + \item der Elternprozess liest, wärend die Kindprozesse noch laufen, seine + Konfigurationsdateien erneut ein und öffnet seine Logdateien neu + \item die Kindprozesse werden wieder gestartet + \item die Serverstatistiken(mod\_status) werden nicht auf Null zurückgesetzt + + \item ist die Konfigurationsdatei fehlerhaft, wird der Elternprozess nicht neu + gestartet + \item die Kindprozesse bearbeiten noch die letzten Anfragen und beenden sich dann + \item wäred noch die letzten Anfragen bearbeitet werden kann der httpd nicht + gestartet werden +\end{itemize} + diff --git a/netzwerk/apache/upgrade.tex b/netzwerk/apache/upgrade.tex new file mode 100644 index 0000000..c97791f --- /dev/null +++ b/netzwerk/apache/upgrade.tex @@ -0,0 +1,12 @@ +% master: upgrade.tex +% Upgrade v0.1 +% 2011-06-01 (Rx) + +\subsection{Upgrade} +%-------------------------- + +\begin{verbatim} +./config.nice aus der letzten Installation entnehmen, + Apache2 +\end{verbatim} + diff --git a/netzwerk/apache/vorbereitungen.tex b/netzwerk/apache/vorbereitungen.tex new file mode 100644 index 0000000..acdbc57 --- /dev/null +++ b/netzwerk/apache/vorbereitungen.tex @@ -0,0 +1,18 @@ +% master: vorbereitungen.tex +% Vorbereitungen v0.1 +% 2011-06-01 (Rx) + +\subsection{Vorbereitungen} +%-------------------------- + +\begin{verbatim} +su als root anmelden +mkdir /usr/local/src das Verzeichnis /usr/local/src anlegen, + wenn es noch nicht vorhanden ist +chmod 777 /usr/local/src Verzeichnis-Rechte setzen +ln -s /usr/include/gdbm-ndbm.h /usr/include/ndbm.h + Link zu ndbm.h +exit root abmelden +cp Quelldateien /usr/local/src Quelldateien kopieren +\end{verbatim} + diff --git a/netzwerk/apache/weitere_informationen.tex b/netzwerk/apache/weitere_informationen.tex new file mode 100644 index 0000000..df81340 --- /dev/null +++ b/netzwerk/apache/weitere_informationen.tex @@ -0,0 +1,14 @@ +% master: weitere_informationen.tex +% Weitere Informationen v0.1 +% 2011-06-01 (Rx) + +\subsection{Weitere Informationen} +%--------------------------------- + +\begin{verbatim} +http://localhost/manual/programs/httpd.html +http://localhost/manual/de/programs/httpd.html +http://localhost/manual/programs/apachectl.html +http://localhost/manual/de/programs/apachectl.html +\end{verbatim} + diff --git a/netzwerk/apache/wie_der_apache_startet.tex b/netzwerk/apache/wie_der_apache_startet.tex new file mode 100644 index 0000000..ce5e53f --- /dev/null +++ b/netzwerk/apache/wie_der_apache_startet.tex @@ -0,0 +1,29 @@ +% master: wie_der_apache_startet.tex +% Wie der Apache startet v0.1 +% 2011-06-01 (Rx) + +\subsection{Wie der Apache startet} +%---------------------------------- + +\begin{itemize} + \item apachectl ist die empfohlene Methode, das httpd-Programm zu starten + \item apachectl setzt verschiedene Umgebungsvariablen und startet das httpd-Programm + \item apachectl reicht alle Kommandozeilenargumente durch + + \item als erstes liest der httpd die Konfigurationsdatei httpd.conf ein, + die beim Kompilieren festgelegt wurde + \item zur Laufzeit kann der Ablageort geändert werden, + z.B. apachectl -f /etc/apache2/httpd.conf + \item beim erfolgreicehn Start, trennt sich der Server vom Terminal ab + + \item bis zum Port 1024 muss der Apache root-Berechtigung besitzen + \item der Haupt-httpd-Prozess läuft unter dem Benutzer root weiter + \item ist der Server gestartet, öffnet er seine Log-Dateien + \item der Apache startet mehrere Kind-Prozesse + \item die Kind-Prozesse werden unter weniger privilegierten Benutzerkennungen + ausgeführt(z.B. nobody, wwwrun ...) + \item die Kind-Prozesse lauschen und beantworten Anfragen von Clients + \item die Kind-Prozesse werden von dem ausgewählten + Multi-Processing-Modul(Apache-MPM prefork UNIX/Linux) gesteuert +\end{itemize} + diff --git a/netzwerk/apache/zu_den_dateien.tex b/netzwerk/apache/zu_den_dateien.tex new file mode 100644 index 0000000..16e28b8 --- /dev/null +++ b/netzwerk/apache/zu_den_dateien.tex @@ -0,0 +1,26 @@ +% master: zu_den_dateien.tex +% Zu den Dateien v0.1 +% 2011-06-01 (Rx) + +\subsection{Zu den Dateien} +%-------------------------- + +\begin{verbatim} +/etc/apache/ +/etc/apache2/ +/etc/httpd/ +/etc/httpd2/ + access.conf Zugriffs-Konfiguration + httpd.conf Apache Konfigurationsdatei + mime.types Zuweisung von Dateiendungen + srm.conf Resource-Konfiguration + +/var/log/apache/ +/var/log/apach2/ +/var/log/httpd/ +/var/log/httpd2/ + access_log Zugriffsmeldungen + error_log Fehlermeldungen + httpd.pid Hauptprozessnummer +\end{verbatim} + diff --git a/netzwerk/mysql/anforderungen.tex b/netzwerk/mysql/anforderungen.tex new file mode 100644 index 0000000..9c39528 --- /dev/null +++ b/netzwerk/mysql/anforderungen.tex @@ -0,0 +1,19 @@ +% master: anforderungen.tex +% Anforderungen v0.4 +% 2011-05-31 (Rx) + +\subsection{Anforderungen} +%------------------------- + +\begin{itemize} + \item MySQL-Quellcode 4.x.xx, erhältlich bei http://www.mysql.com/ + + \item Linux 2.x.xx + + \item ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab + Version 2.95.4, wesentliche Generierungswerkzeuge wie make + + \item phpMyAdmin 2.x.x(optional), erhältlich bei http://www.phpmyadmin.net/, + Web-Server, Apache 1 oder 2 mit PHP 4 oder 5 +\end{itemize} + diff --git a/netzwerk/mysql/einleitung.tex b/netzwerk/mysql/einleitung.tex new file mode 100644 index 0000000..5f21588 --- /dev/null +++ b/netzwerk/mysql/einleitung.tex @@ -0,0 +1,9 @@ +% master: Einleitung.tex +% Vorbereitungen v0.1 +% 2011-05-31 (Rx) + +\section{Einleitung} +%---------------------- +MySQL ist eine Datenbank und phpMyAdmin eine Web-Oberfläche, +um MySQL zu konfigurieren. + diff --git a/netzwerk/mysql/kompilieren_und_installieren.tex b/netzwerk/mysql/kompilieren_und_installieren.tex new file mode 100644 index 0000000..18f8721 --- /dev/null +++ b/netzwerk/mysql/kompilieren_und_installieren.tex @@ -0,0 +1,47 @@ +% master: kompilieren_und_installieren.tex +% Kompilieren und Installieren v0.1 +% 2011-05-31 (Rx) + +\subsection{MySQL} +%----------------- + +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfz mysql-4.0.21.tar.gz Quelldateien entpacken +cd mysql-4.0.21 in das Quelldatei-Verzeichnis wechseln +./configure --help Hilfe zu den miöglichen Optionen +./configure --prefix=/usr/local/mysql/4.0.21 --localstatedir=/var/mysql/data + prefix: Installations-Verzeichnis + localstatedir: Daten-Verzeichnis +make Programm herstellen +su als root anmelden +make install Programm installieren (als root!) +ln -s /usr/local/mysql/4.0.21 /usr/local/mysql/current + Link zu MySQL +cp support-files/mysql.server /etc/init.d/mysql + Startdatei kopieren +chmod 755 /etc/init.d/mysql + Dateirechte einstellen +ln -s /etc/init.d/mysql /etc/rc5.d/S20mysql + Link zum Starten in Runlevel5 anlegen +ln -s /etc/init.d/mysql /etc/rc6.d/K20mysql + Link zum Beenden in Runlevel6 anlegen +ln -s /etc/init.d/mysql /etc/rc0.d/K20mysql + Link zum Beenden in Runlevel0 anlegen +groupadd mysql Gruppe mysql anlegen +useradd -g mysql -d /usr/local/mysql/current -s /bin/false mysql + Benutzer mysql anlengen +mkdir -p /var/mysql/data Daten-Verzeichnis anlegen +./scripts/mysql_install_db --user=mysql initiale Datenbank installieren +cd /usr/local/mysql/current in das mysql Verzeichnis wechseln +cp share/mysql/my-medium.cnf /var/mysql/data/my.cnf + Konfiguration anlegen +chown -R root:mysql . Benutzer-Gruppen-Rechte setzen +chown -R mysql:mysql /var/mysql/data Rechte für das Daten-Verzeichnis setzen +/etc/init.d/mysql start mysql starten +./bin/mysqladmin -u root password 'geheim' + Datenbank-Passwort setzen + Achtung ! das Passwort steht danach in + der ~/.bash_history +\end{verbatim} + diff --git a/netzwerk/mysql/mysql.tex b/netzwerk/mysql/mysql.tex new file mode 100644 index 0000000..4c62252 --- /dev/null +++ b/netzwerk/mysql/mysql.tex @@ -0,0 +1,17 @@ +% master: mysql.tex +% MySQL v0.7 +% 2011-05-31 (Rx) + +\chapter{MySQL} +%------------------- +\input{netzwerk/mysql/einleitung} + +\section{Kompilieren und Installieren} +%---------------------------------------- + +\input{netzwerk/mysql/anforderungen} +\input{netzwerk/mysql/vorbereitungen} +\input{netzwerk/mysql/kompilieren_und_installieren} +\input{netzwerk/mysql/testen} +\input{netzwerk/mysql/phpmyadmin} + diff --git a/netzwerk/mysql/phpmyadmin.tex b/netzwerk/mysql/phpmyadmin.tex new file mode 100644 index 0000000..8feedaf --- /dev/null +++ b/netzwerk/mysql/phpmyadmin.tex @@ -0,0 +1,58 @@ +% master: phpmyadmin.tex +% phpMyAdmin v0.2 +% 2011-05-31 (Rx) + +\subsection{phpMyAdmin} +%---------------------- + +\begin{verbatim} +su als root anmelden +cd /srv/www/htdocs in das Apache1.3-Verzeichnis wechseln +cd /srv/www2/htdocs in das Apache2-Verzeichnis wechseln +tar xvfj /usr/local/src/phpMyAdmin-2.5.7-pl1.tar.bz2 + Dateien entpacken +ln -s phpMyAdmin-2.5.7-pl1 phpMyAdmin Link zu phpMyAdmin anlegen + +vi phpMyAdmin/config.inc.php phpMyAdmin anpassen + $cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/'; + URL zu Apache1.3 + $cfg['PmaAbsoluteUri'] = 'http://localhost:81/phpMyAdmin/'; + URL zu Apache2 + $cfg['Servers'][$i]['user'] = 'root'; // MySQL user + $cfg['Servers'][$i]['password'] = 'geheim'; // MySQL password + +vi phpMyAdmin/.htaccess htaccess anlegen + AuthType Basic + AuthName "PhpMyAdmin" + AuthUserFile /srv/www/htdocs/phpMyAdmin/.htpasswd + Apache1.3 + AuthUserFile /srv/www2/htdocs/phpMyAdmin/.htpasswd + Apache2 + AuthGroupFile /dev/null + + require valid-user + + +cd /usr/local/apache/current/bin Verzeichnis wechseln, Apache1.3 +cd /usr/local/apache2/current/bin Verzeichnis wechseln, Apache2 +./htpasswd --help Hilfe zu htpasswd +./htpasswd -c /srv/www/htdocs/phpMyAdmin/.htpasswd root + Apache1.3 +./htpasswd -c /srv/www2/htdocs/phpMyAdmin/.htpasswd root + Apache2 + +vi /etc/apache/httpd.conf Apache1.3 anpassen +vi /etc/apache2/httpd.conf Apache2 anpassen + + Options Indexes FollowSymLinks MultiViews + AllowOverride AuthConfig None -> AuthConfig + Order allow,deny + Allow from all + + +/etc/init.d/apache graceful Einstellungen neu einlesen, Apache1.3 +/etc/init.d/apache2 graceful Einstellungen neu einlesen, Apache2 + +exit root abmelden +\end{verbatim} + diff --git a/netzwerk/mysql/testen.tex b/netzwerk/mysql/testen.tex new file mode 100644 index 0000000..4141813 --- /dev/null +++ b/netzwerk/mysql/testen.tex @@ -0,0 +1,29 @@ +% master: testen.tex +% Testen v0.2 +% 2011-05-31 (Rx) + +\subsection{MySQL Testen} +%------------------------ + +\begin{verbatim} +./bin/mysql -D mysql -u root -p Client starten und zugriff auf die + Steuerungs-Datenbank nehmen + +mysql> show tables; Tabelle anzeigen ++-----------------+ +| Tables_in_mysql | ++-----------------+ +| columns_priv | +| db | +| func | +| host | +| tables_priv | +| user | ++-----------------+ +6 rows in set (0.00 sec) +mysql> exit; Client beenden +Bye + +exit root abmelden +\end{verbatim} + diff --git a/netzwerk/mysql/vorbereitungen.tex b/netzwerk/mysql/vorbereitungen.tex new file mode 100644 index 0000000..799f643 --- /dev/null +++ b/netzwerk/mysql/vorbereitungen.tex @@ -0,0 +1,16 @@ +% master: vorbereitungen.tex +% Vorbereitungen v0.3 +% 2011-05-31 (Rx) + +\subsection{Vorbereitungen} +%-------------------------- + +\begin{verbatim} +su als root anmelden +mkdir /usr/local/src das Verzeichnis /usr/local/src anlegen, + wenn es noch nicht vorhanden ist +chmod 777 /usr/local/src Verzeichnis-Rechte setzen +exit root abmelden +cp Quelldateien /usr/local/src Quelldateien kopieren +\end{verbatim} + diff --git a/netzwerk/netzwerk.tex b/netzwerk/netzwerk.tex new file mode 100644 index 0000000..376235a --- /dev/null +++ b/netzwerk/netzwerk.tex @@ -0,0 +1,59 @@ +% master: netzwerk.tex +% Linux im Netzwerk v0.6 +% 2011-06-05 (Rx) + +\part{Linux im Netzwerk} +\chapter{Netzwerk} + +\begin{verbatim} +Rechnername Name den der Rechner im Netzwerk hat, + sollte nicht mehr als acht Zeichen haben, + darf im lokalen Netzwerk noch nicht vergeben sein +Domainname Name zur Gliederung von Netzwerken +Top-Level-Domain umfasst höchstens vier Buchstaben + Beispiel: Rechnername.Domainname.Top-Level-Domain -> + voyager.startrek.foe +IP-Adresse Adresse des Rechners im Netzwerk, + jede Netzwerkschnittstelle(z.B. Netzwerk- oder + ISDN-Karte) hat im Netzwerk mindestens eine Adresse + die eindeutig ist, die Adresse besteht derzeit aus + einer Sequenz von vier Bytes die durch Punkte getrennt + sind z.B. 192.168.20.40 , für private Netze sind durch + das Arbeitspapier RFC 1597 drei Adressbereiche + vorgesehen die nicht geroutet werden: + 10.0.0.0 -> 10.255.255.255 (Class A-Netz) + 172.16.0.0 -> 172.31.255.255 (Class B-Netz) + 192.168.0.0 -> 192.168.255.255 (Class C-Netz) +Gatewayadresse IP-Adresse des Gerätes die das Weiterleiten + von Netzwerkpaketen in das fremde Netz übernimmt +Netzwerkmaske sagt aus welcher Teil der IP-Adresse + zum lokale Netzwerk gehört z.B. 255.255.255.0 +#### in arbeit ####################################### +OSI Open System Interconnektion +IEEE +ISO +MAC-Adresse 006097 370cae + ------ ------ + Herstellerabhängig + laufendeNr. +Ethernet-adresse +Node-Addresse +NIC-Adresse +udp +tcp/ip +nfs +ftp +Portnummer/Kanalnummer +16Bit 65535 pro udp pro tcp/ip +/etc/services +0-1023 well known Ports IANA +1024-49151 registrierte Ports +->65535 dynamische, privat +###################################################### +\end{verbatim} + +\input{netzwerk/apache/apache} +\input{netzwerk/mysql/mysql} +\input{netzwerk/php/php} +\input{netzwerk/squid/squid} + diff --git a/netzwerk/php/anforderungen.tex b/netzwerk/php/anforderungen.tex new file mode 100644 index 0000000..4b4b189 --- /dev/null +++ b/netzwerk/php/anforderungen.tex @@ -0,0 +1,23 @@ +% master: anforderungen.tex +% Anforderungen v0.1 +% 2011-06-05 (Rx) + +\subsection{Anforderungen} +%------------------------- + +\begin{itemize} + \item PHP 4 oder 5, erhältlich bei http://www.php.net/ + + \item Linux ab 2.4.xx(z.B.Debian Sarge 3.1) + + \item ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab + Version 2.7.2, wesentliche Generierungswerkzeuge wie make + + \item Webserver z.B. Apache 1.3 oder 2 + + \item GD-Library ab 2.x.x, erhältlich bei http://www.boutell.com/gd/, + Freetype ab 2.x.x, erhältlich bei http://www.freetype.org/, + Zlib ab 1.x.x, erhältlich bei http://www.gzip.org/zlib/, + IJG JPEG, erhältlich bei http://www.ijg.org/ +\end{itemize} + diff --git a/netzwerk/php/einleitung.tex b/netzwerk/php/einleitung.tex new file mode 100644 index 0000000..4d14d49 --- /dev/null +++ b/netzwerk/php/einleitung.tex @@ -0,0 +1,23 @@ +% master: einleitung.tex +% PHP v0.1 +% 2011-06-05 (Rx) + +\section{Einleitung} +%------------------ + +\begin{verbatim} +Wer hat PHP erfunden ? Der Kanada-Däne Rasmus Lerdorf ! +Was heist PHP ? Personal Home Page Tools +Was ist PHP ? Eine einfache Skriptsprache. Sie wird direkt + in HTML-Seiten eingefügt und vom Webserver + interpretiert. +Wie funktioniert PHP ? Der Browser schickt einen HTTP-Request an den + Webserver. Der Server reagiert, liest die + PHP-Seite ein, und führt die Skripte aus und + schickt erst das fertig zusammengesetzte + Dokument zurück an den Browser ! + +LAMP - Linux-Apache-MySQL-PHP +WAMP - Windows-Apache-MySQL-PHP +\end{verbatim} + diff --git a/netzwerk/php/funktionen.tex b/netzwerk/php/funktionen.tex new file mode 100644 index 0000000..c006b93 --- /dev/null +++ b/netzwerk/php/funktionen.tex @@ -0,0 +1,15 @@ +% master: funktionen.tex +% Funktionen v0.1 +% 2011-06-07 (Rx) + +\subsection{Funktionen} +%---------------------- +\begin{verbatim} +phpinfo() ; PHP-Informationen ausgeben +$Wochentag=date("w") ; Wochentag ermitteln 0-So bis 6-Sa +$Monatszahl=date("m") ; Monatszahl ermitteln +$Anzahl=count($Array) ; Elemet-Anzahl eines Arrays ermitteln +$Wert=round($Wert,Nachkommastellen) ; Rundet den Wert mit Nachkommastellen +$Wert=sprintf("%01.2f",$Wert) ; Rundet den Wert auf 2 :Nachkommastellen +\end{verbatim} + diff --git a/netzwerk/php/grundlagen.tex b/netzwerk/php/grundlagen.tex new file mode 100644 index 0000000..ceef454 --- /dev/null +++ b/netzwerk/php/grundlagen.tex @@ -0,0 +1,40 @@ +% master: grundlagen.tex +% Grundlagen v0.1 +% 2011-06-07 (Rx) + +\subsection{Grundlagen} +%---------------------- +\begin{verbatim} + oder %> Ende des PHP-Abschnitts +; Zeilenende +// Kommentartext Einzeiliger Kommentartext +/* Kommentartext Einleitung, mehrzeiliger Kommentartext +Kommentartext */ Abschluss, mehrzeiliger Kommentartext +$ Variablen anfang +echo "Text" ; Text ausgeben +echo "Text $Variable Text" ; Variable ausgeben +echo "Text".$Variable."Text" ; . Verketten von Zeichenfolgen +echo "Text\n" ; \n Erzeugt eine neue Zeile +echo "Text\r" ; \r Erzeugt einen neuen Absatz (return) +echo "Text\tText" ; \t Erzeugt ein Tabulatorschritt +echo "\"Text\"" ; \" Gänsefüßchen ausgeben +echo "\'Text\'" ; \' Einfache Anführungszeichen ausgeben +echo "\$Text\$" ; \$ Dollar-Zeichen ausgeben +echo "\\Text\\" ; \\ Backslash ausgeben +$Array[Indexwert]="Wert" ; Wert einer Array-Variable zuweisen (Langform) +$Array=array("W0","W1") ; Werte einer Array-Variable zuweisen (Kurzform) +echo $Array[Indexwert] ; Wert einer Array-Variable ausgeben +$Array[Index-Ersatz]="Wert" ; Wert eines Assoziativen-Arrays zuweisen (Langf.) +$Array=array("I-E0"=>"W0","I-E1"=>"W1") ; + Werte eines Assoziativen-Arrays zuweisen(Kurzf.) +echo $Array[Index-Ersatz] ; Wert eines Assoziativen-Arrays ausgeben +$a=$b+$c ; Addition von $b und $c gleich $a +$a=$b-$c ; Subtraktion von $b minus $c gleich $a +$a=$b*$c ; Multiplikation von $b mal $c gleich $a +$a=$b/$c ; Division $b geteilt durch $c gleich $a +$a++ ; $a=$a+1 ; +$a-- ; $a=$a-1 ; +$a=3.1415 ; . Dezimaltrenner +\end{verbatim} + diff --git a/netzwerk/php/installieren_php.tex b/netzwerk/php/installieren_php.tex new file mode 100644 index 0000000..bc0129e --- /dev/null +++ b/netzwerk/php/installieren_php.tex @@ -0,0 +1,43 @@ +% master: installieren_php.tex +% PHP v0.1 +% 2011-06-07 (Rx) + +\subsection{PHP} +%--------------- +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfj php-5.0.1.tar.bz2 Quelldateien entpacken +cd php-5.0.1 in das Quelldatei-Verzeichnis wechseln +./configure --help Hilfe zu den möglichen Optionen +./configure --with-apxs=/usr/local/apache/current/bin/apxs Apache 1.3 oder + --with-apxs2=/usr/local/apache2/current/bin/apxs Apache 2 + --with-mysql=/usr/local/mysql/current + --with-zlib + --with-ftp + --with-gd + --with-jpeg-dir=/usr/local/lib + --enable-versioning + --enable-track-vars=yes + --enable-url-includes + --enable-sysvshm=yes + --enable-sysvsem=yes + --with-config-file-path=/etc +make Programm herstellen +su als root anmelden +make install Programm installieren +cp php.ini-dist /etc/php.ini PHP-Konfiguration kopieren + +vi /etc/apache/httpd.conf Apache1.3 anpassen +vi /etc/apache2/httpd.conf Apache2 anpassen + LoadModule php5_module modules/libphp5.so + Apache2 + LoadModule php5_module libexec/libphp5.so + Apache1.3 + AddModule mod_php5.c Apache1.3 + DirectoryIndex index.html index.htm index.html.var index.php index.phtml + AddType application/x-httpd-php .php + AddType application/x-httpd-php-source .phps + +exit root abmelden +\end{verbatim} + diff --git a/netzwerk/php/libraries_fuer_zusatzfunktionen.tex b/netzwerk/php/libraries_fuer_zusatzfunktionen.tex new file mode 100644 index 0000000..d415b80 --- /dev/null +++ b/netzwerk/php/libraries_fuer_zusatzfunktionen.tex @@ -0,0 +1,63 @@ +% master: libraries_fuer_zusatzfunktionen.tex +% Libraries für Zusatzfunktionen v0.1 +% 2011-06-05 (Rx) + +\subsection{Libraries für Zusatzfunktionen} +%------------------------------------------ + +\subsubsection{Freetype} +%----------------------- +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfj freetype-2.1.9.tar.bz2 Quelldateien entpacken +cd freetype-2.1.9 in das Quelldatei-Verzeichnis wechseln +./configure Codebaum konfigurieren +make Programm herstellen +su als root anmelden +make install Programm installieren +exit root abmelden +\end{verbatim} + +\subsubsection{Zlib} +%------------------- +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfz zlib-1.2.1.tar.gz Quelldateien entpacken +cd zlib-1.2.1 in das Quelldatei-Verzeichnis wechseln +./configure Codebaum konfigurieren +make Programm herstellen +su als root anmelden +make install Programm installieren +exit root abmelden +\end{verbatim} + +\subsubsection{IJG JPEG} +%----------------------- +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfz jpegsrc.v6b.tar.gz Quelldateien entpacken +cd jpeg-6b in das Quelldatei-Verzeichnis wechseln +./configure --help Hilfe zu den möglichen Optionen +./configure --enable-shared + --enable-static + --prefix=/usr/local +make Programm herstellen +make test Programm testen +su als root anmelden +make install Programm installieren +exit root abmelden +\end{verbatim} + +\subsubsection{GD-Library} +%------------------------- +\begin{verbatim} +cd /usr/local/src Verzeichnis wechseln +tar xvfz gd-2.0.28.tar.gz Quelldateien entpacken +cd gd-2.0.28 in das Quelldatei-Verzeichnis wechseln +./configure Codebaum konfigurieren +make Programm herstellen +su als root anmelden +make install Programm installieren +exit root abmelden +\end{verbatim} + diff --git a/netzwerk/php/php.tex b/netzwerk/php/php.tex new file mode 100644 index 0000000..61148a8 --- /dev/null +++ b/netzwerk/php/php.tex @@ -0,0 +1,21 @@ +% master: php.tex +% PHP v0.2 +% 2011-06-07 (Rx) + + +\chapter{PHP} +%------------ +\input{netzwerk/php/einleitung} + +\section{Kompilieren und Installieren} +%------------------------------------- +\input{netzwerk/php/anforderungen} +\input{netzwerk/php/vorbereitungen} +\input{netzwerk/php/libraries_fuer_zusatzfunktionen} +\input{netzwerk/php/installieren_php} + +\section{Referenz} +%----------------- +\input{netzwerk/php/grundlagen} +\input{netzwerk/php/funktionen} + diff --git a/netzwerk/php/vorbereitungen.tex b/netzwerk/php/vorbereitungen.tex new file mode 100644 index 0000000..0132bd6 --- /dev/null +++ b/netzwerk/php/vorbereitungen.tex @@ -0,0 +1,16 @@ +% master: vorbereitungen.tex +% Vorbereitungen v0.1 +% 2011-06-05 (Rx) + +\subsection{Vorbereitungen} +%-------------------------- + +\begin{verbatim} +su als root anmelden +mkdir /usr/local/src das Verzeichnis /usr/local/src anlegen, + wenn es noch nicht vorhanden ist +chmod 777 /usr/local/src Verzeichnis-Rechte setzen +exit root abmelden +cp Quelldateien /usr/local/src Quelldateien kopieren +\end{verbatim} + diff --git a/netzwerk/squid/aufgaben.tex b/netzwerk/squid/aufgaben.tex new file mode 100644 index 0000000..b8ae2d9 --- /dev/null +++ b/netzwerk/squid/aufgaben.tex @@ -0,0 +1,14 @@ +% master: aufgaben.tex +% Aufgaben v0.1 +% 2011-06-08 (Rx) + +%\subsection{Aufgaben} +%--------------------- + +\begin{itemize} + \item Zwischenspeichern von Internetseitten -> Beschleunigter Zugriff auf Internetinhalte + \item Abkoppelung vom direkten Zugriff auf das Internet -> Erhöte Sicherheit im lokalem Netz + \item Filterung von Interrnetseiten + \item Protokollierung des Internetverkehrs +\end{itemize} + diff --git a/netzwerk/squid/automatische_starten_von_squit.tex b/netzwerk/squid/automatische_starten_von_squit.tex new file mode 100644 index 0000000..003fb8a --- /dev/null +++ b/netzwerk/squid/automatische_starten_von_squit.tex @@ -0,0 +1,15 @@ +% master: automatische_starten_von_squit.tex +% Automatische Starten von Squit v0.1 +% 2011-06-08 (Rx) + +%\subsection{Automatische Starten von Squit} +%------------------------------------------- + +\begin{verbatim} +cd /etc/rc.d/rc5.d/ +ln -s ../squid S22squid Link zum automatischen Starten in Runlevel 5 + anlegen. +ln -s ../squid K02squid Link zum automatischen Beenden in Runlevel 5 + anlegen. +\end{verbatim} + diff --git a/netzwerk/squid/client_kommunikation.tex b/netzwerk/squid/client_kommunikation.tex new file mode 100644 index 0000000..d0ede9e --- /dev/null +++ b/netzwerk/squid/client_kommunikation.tex @@ -0,0 +1,15 @@ +% master: client_kommunikation.tex +% Client-Kommunikation v0.1 +% 2011-06-08 (Rx) + +\subsection{Client-Kommunikation} +%-------------------------------- + +\begin{itemize} + \item Hyper Text Transfer Protocol (HTTP) + \item File Transfer Protocol (FTP) + \item Gopher + \item Wide Area Information Service (WAIS) + \item Secure Socket Layer (SSL) +\end{itemize} + diff --git a/netzwerk/squid/eigenschaften.tex b/netzwerk/squid/eigenschaften.tex new file mode 100644 index 0000000..ae139a5 --- /dev/null +++ b/netzwerk/squid/eigenschaften.tex @@ -0,0 +1,18 @@ +% master: eigenschaften.tex +% Eigenschaften v0.1 +% 2011-06-08 (Rx) + +%\subsection{Eigenschaften} +%-------------------------- + +\begin{itemize} + \item Größe des Cache kann frei definiert werden + \item Aufbau von Cache-Hierarchien + \item Eigener DNS-Cache + \item Authentifizierung über zusätzliche Module möglich + \item Für Win, OS/2, Linux, BSD, Solaris verfügbar + \item Ausfilterung und Anonymisierung der Anfragen + \item Sehr flexible Zugriffskontrolle + \item Filterung über externe Programme (Squid-Guard) +\end{itemize} + diff --git a/netzwerk/squid/einfacher_cache.tex b/netzwerk/squid/einfacher_cache.tex new file mode 100644 index 0000000..137a5f7 --- /dev/null +++ b/netzwerk/squid/einfacher_cache.tex @@ -0,0 +1,14 @@ +% master: einfacher_cache.tex +% Einfacher Cache v0.1 +% 2011-06-08 (Rx) + +%\subsection{Einfacher Cache} +%---------------------------- + +\begin{verbatim} + *---------------* *------------* | *---------* | *------------* + | lokaler Cache |<--->| WWW-Client |<--->| Intenet |<--->| WWW-Server | + *---------------* *------------* | *---------* | *------------* + Die einfachste form des Caches | | +\end{verbatim} + diff --git a/netzwerk/squid/kommunikation_zwischen_proxy_cache_servern.tex b/netzwerk/squid/kommunikation_zwischen_proxy_cache_servern.tex new file mode 100644 index 0000000..c479e74 --- /dev/null +++ b/netzwerk/squid/kommunikation_zwischen_proxy_cache_servern.tex @@ -0,0 +1,16 @@ +% master: kommunikation_zwischen_proxy_cache_servern.tex +% Kommunikation zwischen Proxy-Cache-Servern v0.1 +% 2011-06-08 (Rx) + +\subsection{Kommunikation zwischen Proxy-Cache-Servern} +%------------------------------------------------------ + +\begin{itemize} + \item HyperText Transfer Protocol (HTTP) + \item Internet Cache Protocol (ICP(3130)) + \item Cache Digests (Index von anderen Caches abfragen) + \item Simple Network Management Protocol (SNMP) + \item HyperText Caching Protocol (HTCP(4837)) + \item Web Cache Coordination Protocol (WCCP) +\end{itemize} + diff --git a/netzwerk/squid/proxy.tex b/netzwerk/squid/proxy.tex new file mode 100644 index 0000000..4370f66 --- /dev/null +++ b/netzwerk/squid/proxy.tex @@ -0,0 +1,9 @@ +% master: proxy.tex +% Proxy v0.1 +% 2011-06-08 (Rx) + +%\subsection{Proxy} +%------------------ + +Squid = Proxy-Cache = Stellvertreter-Zwischenspeicher + diff --git a/netzwerk/squid/proxy_cache.tex b/netzwerk/squid/proxy_cache.tex new file mode 100644 index 0000000..69612dc --- /dev/null +++ b/netzwerk/squid/proxy_cache.tex @@ -0,0 +1,21 @@ +% master: proxy_cache.tex +% Proxy Cache v0.1 +% 2011-06-08 (Rx) + +%\subsection{Proxy Cache} +%------------------------ + +\begin{verbatim} + *------------* + | WWW-Client |<-+ | | + *------------* | | | + | | | + *------------* | *-------------* | *---------* | *------------* + | WWW-Client |<-+->| Proxy Cache |<--->| Intenet |<--->| WWW-Server | + *------------* | *-------------* | *---------* | *------------* + | | | + *------------* | | | + | WWW-Client |<-+ | | + *------------* +\end{verbatim} + diff --git a/netzwerk/squid/squid.tex b/netzwerk/squid/squid.tex new file mode 100644 index 0000000..ff9a466 --- /dev/null +++ b/netzwerk/squid/squid.tex @@ -0,0 +1,51 @@ +% master: squid.tex +% Squid v0.1 +% 2011-06-08 (Rx) + +\chapter{Squid} + +\section{Proxy} +%-------------- +\input{netzwerk/squid/proxy} + +\section{Einfacher Cache} +%------------------------ +\input{netzwerk/squid/einfacher_cache} + +\section{Proxy Cache} +%-------------------- +\input{netzwerk/squid/proxy_cache} + +\section{Aufgaben} +%----------------- +\input{netzwerk/squid/aufgaben} + +\section{Eigenschaften} +%---------------------- +\input{netzwerk/squid/eigenschaften} + +\section{Protokolle} +%------------------- +\input{netzwerk/squid/client_kommunikation} +\input{netzwerk/squid/kommunikation_zwischen_proxy_cache_servern} + +\section{Systemvoraussetzungen} +%------------------------------ +\input{netzwerk/squid/systemvoraussetzungen} + +\section{SuSE Linux} +%------------------- +\input{netzwerk/squid/suse_linux} + +\section{Automatische Starten von Squit} +%--------------------------------------- +\input{netzwerk/squid/automatische_starten_von_squit} + +\section{Squiddateien} +%--------------------- +\input{netzwerk/squid/squiddateien} + +\section{squid.conf} +%------------------- +\input{netzwerk/squid/squid_conf} + diff --git a/netzwerk/squid/squid_conf.tex b/netzwerk/squid/squid_conf.tex new file mode 100644 index 0000000..1ef1865 --- /dev/null +++ b/netzwerk/squid/squid_conf.tex @@ -0,0 +1,103 @@ +% master: squid_conf.tex +% squid.conf v0.1 +% 2011-06-08 (Rx) + +%\subsection{squid.conf} +%----------------------- + +\begin{verbatim} +http_port: Proxy-Portnummer +# http_port 3128 +http_port 8080 + +cache_mem: Hauptspeicherverbrauch (x3) +# cache_mem 8 MB + +maximum_object_size: maximale groeße einer Datei die der Proxy speichert +# maximum_object_size 4096 KB + +minimum_object_size: minimale groeße einer Datei die der Proxy speichert +# minimum_object_size 0 KB + +cache_dir: Verzeichnisname GroeßeMByte Ebene1 Ebene2 +# cache_dir ufs /var/cache/squid 100 16 256 +cache_dir ufs /var/cache/squid 400 16 256 + +cache_access_log: Log-Datei mit allen Zugriffen +# cache_access_log /var/log/squid/access.log + +cache_log: Log-Datei fuer alle Cache-Aktivitaeten +# cache_log /var/log/squid/cache.log + +debug_options: ALL,1-normal 9-maximal +# debug_options ALL,1 + +log_fqdn: Bei on wird der Name und bei off wird die IP-Nummer + in der access.log speichert +# log_fqdn off +log_fqdn off + +client_netmask: Zum Anonymisieren + 255.255.255.255 volle IP-Nr., + 255.255.255.0 ersten 3 Stellen +# client_netmask 255.255.255.255 + +ftp_user: Anonymer FTP-Name +# ftp_user Squid@ +ftp_user Anonymous@ + + +dns_children: maximale Anzahl der DNS Prozesse +# dns_children 5 + +dns_nameservers: Eintrag fuer DNS-Server +#dns_nameservers 194.25.2.129 192.168.6.66 + +reference_age: maximale Alter der Cachefiles (0.0 week/days/months/hours) +# reference_age 1 year + +negative_ttl: gibt an wie lange eine negative DNS Aufloesung gueltig ist +# negative_ttl 5 minutes + +http_access: Zugriffsrechte fuer den Cache +# acl - aclname acltype string - definiert eine Zuganskontrolle und Sperrliste +# src - Client IP-Adresse/Adressbereich +# dst - Zielserver IP-Adresse/Adressbereich +# srcdomain - Client (Domain-)Name +# dstdomain - Zielserver (Domain-)Name +# srcdom_regex - Cient (Domain-)Name als RegEx +# dstdom_regex - Zielserver (Domain-)Name als RegEx +# port - Port oder -bereich für Verbindungen +# proto - Protokoll (z.B. HTTP, FTP ...) für die Verbindung +# method - Methode der Verbindung (z.B. GET, POST ...) +# proxy_auth - Benutzernamen bei Authentifizierung +# urlpath_regex Teil einer URL als RegEx +acl all src 0.0.0.0/0.0.0.0 +acl rotten dstdomain www.rotten.com +http_access deny rotten +http_access allow all + +cache_mgr: E-Mail bei einen Fehler an: E-Mail oder Alias(/etc/aliases) +# cache_mgr webmaster + +cache_effective_user: BenutzerName/ID +# cache_effective_user squid + +cache_effective_group: GruppenName/ID +# cache_effective_group nogroup + +visible_hostname: ServerName bei Fehlermeldungen +# none +visible_hostname proxy.gelbdmz.loc + +logfile_rotate: Zeit der Logdateien in Wochen +# logfile_rotate 0 + +append_domain: Kein Punkt in der URL ? Dann diesen Domainnamen anhaengen +# none +append_domain .meak.de + +error_directory: Verzeichnis zu den Fehlermeldungen die der Squid ausgibt +#error_directory /usr/share/squid/errors +\end{verbatim} + diff --git a/netzwerk/squid/squiddateien.tex b/netzwerk/squid/squiddateien.tex new file mode 100644 index 0000000..570818f --- /dev/null +++ b/netzwerk/squid/squiddateien.tex @@ -0,0 +1,15 @@ +% master: squiddateien.tex +% Squiddateien v0.1 +% 2011-06-08 (Rx) + +%\subsection{Squiddateien} +%------------------------- + +\begin{verbatim} +/etc/squid.conf Squid Konfigurationsdatei +/usr/share/squid/errors/ Fehlermeldungen die der Squid ausgibt +/var/cache/squid/ Squid-Cache +/var/log/squid/access.log Log-Datei mit allen Zugriffen +/var/log/squid/cache.log Cache-Aktivitaeten +\end{verbatim} + diff --git a/netzwerk/squid/suse_linux.tex b/netzwerk/squid/suse_linux.tex new file mode 100644 index 0000000..b2443f3 --- /dev/null +++ b/netzwerk/squid/suse_linux.tex @@ -0,0 +1,14 @@ +% master: suse_linux.tex +% SuSE Linux v0.1 +% 2011-06-08 (Rx) + +%\subsection{SuSE Linux} +%----------------------- + +\begin{verbatim} +rcsquid start Squid starten +rcsquid stop Squid stoppen +rcsquid restart Squid stoppen und dann starten +rcsquid status Squid info +\end{verbatim} + diff --git a/netzwerk/squid/systemvoraussetzungen.tex b/netzwerk/squid/systemvoraussetzungen.tex new file mode 100644 index 0000000..8dad997 --- /dev/null +++ b/netzwerk/squid/systemvoraussetzungen.tex @@ -0,0 +1,14 @@ +% master: systemvoraussetzungen.tex +% Systemvoraussetzungen v0.1 +% 2011-06-08 (Rx) + +%\subsection{Systemvoraussetzungen} +%---------------------------------- + +\begin{itemize} + \item Langsamme CPU + \item Viel RAM + \item Schnelle Festplatte(n) + \item Große Festplatte(n) +\end{itemize} + diff --git a/programme/latex.tex b/programme/latex.tex new file mode 100644 index 0000000..5560d78 --- /dev/null +++ b/programme/latex.tex @@ -0,0 +1,7 @@ +% master: latex.tex +% Befehle v0.2 +% 2011-05-27 (Rx) + +\chapter{LaTeX} +\input{latex/latex} + diff --git a/programme/latex/latex.tex b/programme/latex/latex.tex new file mode 100644 index 0000000..18eba0d --- /dev/null +++ b/programme/latex/latex.tex @@ -0,0 +1,8 @@ +% master: latex.tex +% LaTeX v0.2 +% 2011-05-27 (Rx) + +\chapter{LaTeX} +\section{\LaTeX} +\LaTeX + diff --git a/programme/programme.tex b/programme/programme.tex new file mode 100644 index 0000000..1be21c3 --- /dev/null +++ b/programme/programme.tex @@ -0,0 +1,8 @@ +% master: programme.tex +% Programme v0.3 +% 2011-05-27 (Rx) + +\part{Programme} +\input{programme/vim/vim} +\input{programme/latex/latex} + diff --git a/programme/vim/aufruf.tex b/programme/vim/aufruf.tex new file mode 100644 index 0000000..4c3810d --- /dev/null +++ b/programme/vim/aufruf.tex @@ -0,0 +1,16 @@ +% master: aufruf.tex +% Aufruf v0.3 +% 2022-05-10 (Rx) + +\section{Aufruf} +%--------------- + +\index{vi} +\begin{verbatim} +vi Editor vi aufrufen +vi Datei Editor vi aufrufen und Datei öffnen +vi -r swap-Dateien anzeigen +vi -r Datei Datei nach einem Stromausfall oder Absturz wieder herstellen +vi -R Datei Datei schreibgeschützt öffnen +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/aufheben.tex b/programme/vim/befehlsmodus/aufheben.tex new file mode 100644 index 0000000..8fe9ed9 --- /dev/null +++ b/programme/vim/befehlsmodus/aufheben.tex @@ -0,0 +1,10 @@ +% master: aufheben.tex +% Aufheben v0.2 +% 2011-05-27 (Rx) + +\subsection{Aufheben:} +\begin{verbatim} + u macht die letzte Änderung rückgängig + U macht die letzte Änderung der ganzen Zeile rückgängig +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/befehlsmodus.tex b/programme/vim/befehlsmodus/befehlsmodus.tex new file mode 100644 index 0000000..2f377d7 --- /dev/null +++ b/programme/vim/befehlsmodus/befehlsmodus.tex @@ -0,0 +1,22 @@ +% master: befehlsmodus.tex +% Befehlsmodus (visual mode) v0.12 +% 2011-05-27 (Rx) + +\section{Befehlsmodus (visual mode)} +%----------------------------------- + +\input{programme/vim/befehlsmodus/eingeben} +\input{programme/vim/befehlsmodus/ueberschreiben} +\input{programme/vim/befehlsmodus/bewegen} +\input{programme/vim/befehlsmodus/loeschen_und_eingeben} +\input{programme/vim/befehlsmodus/loeschen} +\input{programme/vim/befehlsmodus/aufheben} +\input{programme/vim/befehlsmodus/verschieben} +\input{programme/vim/befehlsmodus/zusammenfuegen} +\input{programme/vim/befehlsmodus/markieren} +\input{programme/vim/befehlsmodus/kopieren} +\input{programme/vim/befehlsmodus/einfuegen} +\input{programme/vim/befehlsmodus/suchen} +\input{programme/vim/befehlsmodus/wiederholen} +\input{programme/vim/befehlsmodus/sonstige_kommandos} + diff --git a/programme/vim/befehlsmodus/bewegen.tex b/programme/vim/befehlsmodus/bewegen.tex new file mode 100644 index 0000000..53e958a --- /dev/null +++ b/programme/vim/befehlsmodus/bewegen.tex @@ -0,0 +1,61 @@ +% master: bewegen.tex +% Bewegen v0.2 +% 2011-05-27 (Rx) + +\subsection{Bewegen:} +\begin{verbatim} + (n)h Cursor um (n) Zeichen nach links bewegen + (n)+h Cursor um (n) Zeichen nach links bewegen + (n)l Cursor um (n) Zeichen nach rechts bewegen + (n) Cursor um (n) Zeichen nach rechts bewegen + (n)| Cursor zur Spalte (n) bewegen + (n)t Taste Cursor vor das (n) Zeichen Taste nach rechts bewegen + (n)f Taste Cursor auf das (n) Zeichen Taste nach rechts bewegen + (n)T Taste Cursor vor das (n) Zeichen Taste nach links bewegen + (n)F Taste Cursor auf das (n) Zeichen Taste nach links bewegen + (n)j Cursor um (n) Zeilen abwärts bewegen + (n)k Cursor um (n) Zeilen aufwärts bewegen + (n)w Cursor um (n) Wörter nach rechts bewegen + (n)W Cursor um (n) Wörter(Space) nach rechts bewegen + (n)b Cursor um (n) Wörter nach links bewegen + (n)B Cursor um (n) Wörter(Space) nach links bewegen + (n)e Cursor an das (n) Wortende nach rechts bewegen + (n)E Cursor an das (n) Wortende(Space) nach rechts bewegen + ^ Cursor auf das erste Zeilenzeichen stellen + 0 Cursor vor das erste Zeilenzeichen stellen + (n)_ Cursor auf das erste Zeilenzeichen stellen und + (n-1) Zeilen nach unten bewegen + $ Cursor zum Zeilenende bewegen + (n)+ Cursor auf das erste Zeilenzeichen stellen und + (n) Zeilen abwärts bewegen + (n)- Cursor auf das erste Zeilenzeichen stellen und + (n) Zeilen aufwärts bewegen + (n)) Cursor um (n) Sätze abwärts bewegen + (n)( Cursor um (n) Sätze aufwärts bewegen + (n)} Cursor um (n) Absätze abwärts bewegen + (n){ Cursor um (n) Absätze aufwärts bewegen + (n)+u Cursor um 1/2 Bildschirm oder (n Zeilen) + aufwärts bewegen + (n)+d Cursor um 1/2 Bildschirm oder (n Zeilen) + abwärts bewegen + +f Cursor um 1 Bildschirm abwärts bewegen + Cursor um 1 Bildschirm abwärts bewegen + +b Cursor um 1 Bildschirm aufwärts bewegen + Cursor um 1 Bildschirm aufwärts bewegen + (n)+e scrollt den Cursor (n) Zeilen abwärts + (n)+y scrollt den Cursor (n) Zeilen aufwärts + ' Taste Cursor zu der mit Taste markierten Zeile bewegen + ` Taste Cursor zu dem mit Taste markierten Zeichen bewegen + gg Cursor zum Textanfang bewegen + (n)G Cursor zur Zeile (n) bewegen + G Cursor zum Textende bewegen + H Cursor an den Anfang der Bildschirmseite setzen + (n)H Cursor zur Zeile (n) auf den Bildschirm bewegen + M Cursor auf den Anfang der mittleren + Bildschirmzeile bewegen + L Cursor an das Ende der Bildschirmseite setzen + (n)L Cursor vom Ende zur Zeile (n) auf den Bildschirm bewegen + z Taste bewegt die aktuelle Zeile zum Anfang(+), Ende(-) oder + zur Mitte(.) des Bildschirms +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/einfuegen.tex b/programme/vim/befehlsmodus/einfuegen.tex new file mode 100644 index 0000000..7d7c100 --- /dev/null +++ b/programme/vim/befehlsmodus/einfuegen.tex @@ -0,0 +1,10 @@ +% master: einfuegen.tex +% Einfügen v0.2 +% 2011-05-27 (Rx) + +\subsection{Einfügen:} +\begin{verbatim} + p fügt den aktuellen Puffer hinter dem Cursor ein + P fügt den aktuellen Puffer vor dem Cursor ein +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/eingeben.tex b/programme/vim/befehlsmodus/eingeben.tex new file mode 100644 index 0000000..26fe047 --- /dev/null +++ b/programme/vim/befehlsmodus/eingeben.tex @@ -0,0 +1,16 @@ +% master: befehlsmodus.tex +% Befehlsmodus (visual mode) v0.4 +% 2010-08-15 (Rx) + +\subsection{Eingeben:} +\begin{verbatim} + (n)i eingeben fügt den eingeben Text (n mal) vor dem Cursor ein + (n)a eingeben fügt den eingeben Text (n mal) hinter dem Cursor ein + (n)I eingeben fügt den eingeben Text (n mal) am Zeilenanfang ein + (n)A eingeben fügt den eingeben Text (n mal) am Zeilenende ein + (n)o eingeben fügt unter der aktuellen Zeile (n neue Zeilen) + mit den eingeben Text ein + (n)O eingeben fügt über der aktuellen Zeile (n neue Zeilen) + mit den eingeben Text ein +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/kopieren.tex b/programme/vim/befehlsmodus/kopieren.tex new file mode 100644 index 0000000..8db9910 --- /dev/null +++ b/programme/vim/befehlsmodus/kopieren.tex @@ -0,0 +1,13 @@ +% master: kopieren.tex +% Kopieren v0.2 +% 2011-05-27 (Rx) + +\subsection{Kopieren:} +\begin{verbatim} + y Bereich kopiert den mit Bereich angegebenen Text in einen Puffer + (n)Y kopiert die aktuelle und (n) Zeilen in einen Puffer + " Taste legt den nächsten Zwischenpuffer fest + @ Taste interpretiert den Inhalt des Zwischenspeichers als + vi Befehle und führt sie aus +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/loeschen.tex b/programme/vim/befehlsmodus/loeschen.tex new file mode 100644 index 0000000..257d2cf --- /dev/null +++ b/programme/vim/befehlsmodus/loeschen.tex @@ -0,0 +1,15 @@ +% master: loeschen.tex +% Löschen v0.2 +% 2011-05-27 (Rx) + +\subsection{Löschen:} +\begin{verbatim} + d Bereich löscht den markierten Bereich + dd löscht die ganze Zeile + D löscht den Text bis Zeilenende + dw löscht bis zum Ende des Wortes + (n)x löscht (n) Zeichen auf den sich der Cursor befindet + löscht das Zeichen auf den sich der Cursor befindet + (n)X löscht (n) Zeichen links vom Cursor +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/loeschen_und_eingeben.tex b/programme/vim/befehlsmodus/loeschen_und_eingeben.tex new file mode 100644 index 0000000..ce52f32 --- /dev/null +++ b/programme/vim/befehlsmodus/loeschen_und_eingeben.tex @@ -0,0 +1,19 @@ +% master: loeschen_und_eingeben.tex +% Löschen und Eingeben v0.2 +% 2010-08-15 (Rx) + +\subsection{Löschen und Eingeben:} +\begin{verbatim} + (n)s eingeben löscht (n) Zeichen von dem Cursor nach rechts und + fügt den eingeben Text ein + c Bereich eingeben löscht den markierten Bereich und + fügt den eingeben Text ein + cc eingeben löscht den Zeilentext und fügt den eingeben Text ein + cw eingeben löscht bis zum ende des Wortes und + fügt den eingeben Text ein + C eingeben löscht den Text bis Zeilenende und + fügt den eingeben Text ein + (n)S eingeben löscht (n) Zeilen nach unten und + fügt den eingeben Text ein ( wie (n)cc ) +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/markieren.tex b/programme/vim/befehlsmodus/markieren.tex new file mode 100644 index 0000000..80f2f22 --- /dev/null +++ b/programme/vim/befehlsmodus/markieren.tex @@ -0,0 +1,11 @@ +% master: markieren.tex +% Markieren v0.1 +% 2010-08-16 (Rx) + +\subsection{Markieren:} +\begin{verbatim} + m Taste markiert eine Zeile oder Zeichen + v setzt den Anfang einer Markierung + V setzt den Anfang einer Zeilenmarkierung +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/sonstige_kommandos.tex b/programme/vim/befehlsmodus/sonstige_kommandos.tex new file mode 100644 index 0000000..4a949ae --- /dev/null +++ b/programme/vim/befehlsmodus/sonstige_kommandos.tex @@ -0,0 +1,11 @@ +% master: sonstige_kommandos.tex +% Sonstige Kommandos v0.1 +% 2010-08-16 (Rx) + +\subsection{Sonstige Kommandos:} +\begin{verbatim} + G zeigt den Dateistatus und die momentane Zeilennummer + ZZ speichert die Datei und beendet vi + L erneuert den Bildschirm +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/suchen.tex b/programme/vim/befehlsmodus/suchen.tex new file mode 100644 index 0000000..b38a248 --- /dev/null +++ b/programme/vim/befehlsmodus/suchen.tex @@ -0,0 +1,12 @@ +% master: suchen.tex +% Suchen v0.2 +% 2011-05-27 (Rx) + +\subsection{Suchen:} +\begin{verbatim} + (n)% platziert den Cursor auf die zugehörige () {} [], oder + platziert den Cursor auf (n) Prozent der Datei + / Text sucht den Text vorwärts + ? Text sucht den Text rückwärts +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/ueberschreiben.tex b/programme/vim/befehlsmodus/ueberschreiben.tex new file mode 100644 index 0000000..f3a3527 --- /dev/null +++ b/programme/vim/befehlsmodus/ueberschreiben.tex @@ -0,0 +1,14 @@ +% master: ueberschreiben.tex +% Überschreiben v0.2 +% 2011-06-27 (Rx) + +\subsection{Überschreiben:} +%--------------------------- + +\begin{verbatim} + (n)R eingeben überschreibt den Text mit eingeben + wechselt zwischen INSERT und REPLACE + (n)r Taste überschreibt den Text mit (n mal) Taste + von dem Cursor nach rechts +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/verschieben.tex b/programme/vim/befehlsmodus/verschieben.tex new file mode 100644 index 0000000..294f6d8 --- /dev/null +++ b/programme/vim/befehlsmodus/verschieben.tex @@ -0,0 +1,14 @@ +% master: verschieben.tex +% Verschieben v0.1 +% 2010-08-16 (Rx) + +\subsection{Verschieben:} +\begin{verbatim} + > Bereich schiebt die markierten Zeilen nach rechts + >> schiebt die Zeile auf den sich der Cursor befindet + nach rechts + < Bereich schiebt die markierten Zeilen nach links + << schiebt die Zeile auf den sich der Cursor befindet + nach links +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/wiederholen.tex b/programme/vim/befehlsmodus/wiederholen.tex new file mode 100644 index 0000000..b0f4047 --- /dev/null +++ b/programme/vim/befehlsmodus/wiederholen.tex @@ -0,0 +1,16 @@ +% master: wiederholen.tex +% Wiederholen v0.1 +% 2010-08-16 (Rx) + +\subsection{Wiederholen:} +\begin{verbatim} + . wiederholt das letzte EDIT Kommando + n wiederholt das letzte Suchen + N wiederholt das letzte Suchen in umgekehrter Richtung + (n); wiederholt das vorgehende f, F, t, T Kommando + (n), wiederholt das vorgehende f, F, t, T Kommando in + umgekehrter Richtung + (n)& wiederholt den letzten :s// Befehl an der momentanen + Position +\end{verbatim} + diff --git a/programme/vim/befehlsmodus/zusammenfuegen.tex b/programme/vim/befehlsmodus/zusammenfuegen.tex new file mode 100644 index 0000000..fc7a80d --- /dev/null +++ b/programme/vim/befehlsmodus/zusammenfuegen.tex @@ -0,0 +1,9 @@ +% master: zusammenfuegen.tex +% Zusammenfügen v0.2 +% 2011-05-26 (Rx) + +\subsection{Zusammenfügen:} +\begin{verbatim} + (n)J hängt (n) Zeilen nach unten aneinander +\end{verbatim} + diff --git a/programme/vim/eingabemodus.tex b/programme/vim/eingabemodus.tex new file mode 100644 index 0000000..a79a516 --- /dev/null +++ b/programme/vim/eingabemodus.tex @@ -0,0 +1,13 @@ +% master: eingabemodus.tex +% Eingabemodus (input mode) v0.1 +% 2010-08-15 (Rx) + +\section{Eingabemodus (input mode)} +%---------------------------------- + +%\begin{verbatim} +Um in den Eingabemodus zu gelangen muss A, C, I, O, R, S, a, i, o oder s +eingegeben werden. i ist eine gute Wahl. +Mit \textless{Esc}\textgreater{} wird der Eingabemodus verlassen. +%\end{verbatim} + diff --git a/programme/vim/kommandomodus.tex b/programme/vim/kommandomodus.tex new file mode 100644 index 0000000..0e0523c --- /dev/null +++ b/programme/vim/kommandomodus.tex @@ -0,0 +1,32 @@ +% master: kommandomodus.tex +% Kommandomodus (colon mode) v0.2 +% 2010-08-16 (Rx) + +\section{Kommandomodus (colon mode)} +%----------------------------------- + +Um in den Kommandomodus zu gelangen muss : +eingegeben werden. + +\subsection{Texteingabe Kommandos} +%--------------------------------- + +\begin{verbatim} + q(!) Editor verlassen + wq Editor mit speichern verlassen + xit arbeitet wie wq, speichert nur bei einer Änderung + x(!) Editor mit speichern verlassen + w(!) Name Datei mit Namen speichern + h Hilfe anfordern + + args Dateien Liste der Dateien anlegen + args Dateien auflisten + next(!) schaltet zur nächsten Datei + previous(!) schaltet zur vorhergehenden Datei + rewind(!) schaltet zur ersten Datei + + edit(!) Datei dient zum wechseln der Datei + + !Befehl externen Befehl ausführen +\end{verbatim} + diff --git a/programme/vim/vim.tex b/programme/vim/vim.tex new file mode 100644 index 0000000..f3f268d --- /dev/null +++ b/programme/vim/vim.tex @@ -0,0 +1,16 @@ +% master: vim.tex +% Der Texteditor vi/vim v0.2 +% 2011-05-26 (Rx) + +\chapter{Der Texteditor vi/vim} + +Der vi-Editor ist auf UNIX/Linux(neben Emacs) der meistverwendete Texteditor. +Die Bedienung erfolgt über den Befehls- und Kommando-modus. Da es nicht +gerade einfach ist sich diese Optionen zu merken, folgt eine Auflistung der +meist gebrauchten Optionen. + +\input{programme/vim/aufruf} +\input{programme/vim/eingabemodus} +\input{programme/vim/befehlsmodus/befehlsmodus} +\input{programme/vim/kommandomodus} + diff --git a/programmieren/bash/bash.tex b/programmieren/bash/bash.tex new file mode 100644 index 0000000..cae4ebc --- /dev/null +++ b/programmieren/bash/bash.tex @@ -0,0 +1,12 @@ +% master: bash.tex +% Bash v0.1 +% 2011-06-07 (Rx) + +\chapter{Bash} + +% Seiten +%------- +\input{programmieren/bash/einleitung} +\input{programmieren/bash/referenz} +\input{programmieren/bash/steuer_und_sonderzeichen_der_bash} + diff --git a/programmieren/bash/einleitung.tex b/programmieren/bash/einleitung.tex new file mode 100644 index 0000000..0f49ef6 --- /dev/null +++ b/programmieren/bash/einleitung.tex @@ -0,0 +1,16 @@ +% master: einleitung.tex +% Einleitung v0.1 +% 2011-06-07 (Rx) + +\section{Einleitung} +%------------------- + +\begin{verbatim} +Was heist BASH ? Bourne-Again SHell + +Was ist die BASH ? Standard-Shell der meisten Linux-Distributionen + Eine fast komplette Programmiersprache +\end{verbatim} + +BASH-Programme werden auch "Scripte" (Protokolle) genannt ! + diff --git a/programmieren/bash/referenz.tex b/programmieren/bash/referenz.tex new file mode 100644 index 0000000..1d91453 --- /dev/null +++ b/programmieren/bash/referenz.tex @@ -0,0 +1,34 @@ +% master: referenz.tex +% Referenz v0.1 +% 2011-06-07 (Rx) + +\section{Referenz} +%----------------- + +\begin{verbatim} +#!/bin/bash Pfad zur Shell die das Programm ausführen soll +chmod u+x Script Macht das Script ausführbar +bash Script oder sh Script so gehts auch + +# Kommentar bis Zeilenende +: Null-Funktion. Ein Befehl, der nichts tut. +(( oder [ +)) oder ] +echo Text Gibt den Text aus +echo "Text" Gibt den Text aus +echo Text Text Gibt den Text mit nur einer Leerstelle aus +echo "Text Text" Gibt den Text mit allen Leerstellen aus +echo Text\ \ \ Text Gibt den Text mit allen Leerstellen aus + +Variable=7 Speichert 7 in der Variable +Variable=z Speichert z in der Variable + +echo $Variable Gibt den Inhalt der Variable aus +echo ${Variable} Gibt den Inhalt der Variable aus + +Wert=$[$Wert+1] Wert=Wert+1 +Wert=$(($Wert+1)) Wert=Wert+1 +: $[Wert+=1] Wert=Wert+1 +: $((Wert+=1)) Wert=Wert+1 +\end{verbatim} + diff --git a/programmieren/bash/steuer_und_sonderzeichen_der_bash.tex b/programmieren/bash/steuer_und_sonderzeichen_der_bash.tex new file mode 100644 index 0000000..52c58f5 --- /dev/null +++ b/programmieren/bash/steuer_und_sonderzeichen_der_bash.tex @@ -0,0 +1,21 @@ +% master: steuer_und_sonderzeichen_der_bash.tex +% Steuer und Sonderzeichen der Bash v0.1 +% 2011-06-07 (Rx) + +\section{Steuer und Sonderzeichen der Bash} +%------------------------------------------ + +\begin{verbatim} +Zeichen Funktion +------- -------- +Leerzeichen (space) Trenner zwischen Programm-Parametern +Tabulator (tab) Trenner zwischen Programm-Parametern +Return (newline) Befehlseingabe +\ (backslash) Escape-Zeichen +| (pipe) Verkettung der Ein-/Ausgabe mehrerer Programme +& (ampersand) Programm als Hintergrund-Prozess starten, + Ein-/Ausgabeumleitung +; (semikolon) Trenner zwischen zwei Programmaufrufen +( ) (braces) Gruppierung, Berechnung +\end{verbatim} + diff --git a/programmieren/c/ascii.tex b/programmieren/c/ascii.tex new file mode 100644 index 0000000..441ba50 --- /dev/null +++ b/programmieren/c/ascii.tex @@ -0,0 +1,107 @@ +% master: ascii.tex +% ASCII(American Standart Code for Information Interchange)-Tabelle v0.2 +% 2011-05-27 (Rx) + +\section{ASCII(American Standart Code for Information Interchange)-Tabelle} +%-------------------------------------------------------------------------- + +\begin{verbatim} +654 000 001 010 011 100 101 110 111 +Bit +3210 + NUL DLE SP 0 @ P ` p +0000 $0 0 $10 16 $20 32 $30 48 $40 64 $50 80 $60 96 $70 112 + + SOH DC1 ! 1 A Q a q +0001 $1 1 $11 17 $21 33 $31 49 $41 65 $51 81 $61 97 $71 113 + + STX DC2 " 2 B R b r +0010 $2 2 $12 18 $22 34 $32 50 $42 66 $52 82 $62 98 $72 114 + + ETX DC3 # 3 C S c s +0011 $3 3 $13 19 $23 35 $33 51 $43 67 $53 83 $63 99 $73 115 + + EOT DC4 $ 4 D T d t +0100 $4 4 $14 20 $24 36 $34 52 $44 68 $54 84 $64 100 $74 116 + + ENQ NAK % 5 E U e u +0101 $5 5 $15 21 $25 37 $35 53 $45 69 $55 85 $65 101 $75 117 + + ACK SYN & 6 F V f v +0110 $6 6 $16 22 $26 38 $36 54 $46 70 $56 86 $66 102 $76 118 + + BEL ETB ' 7 G W g w +0111 $7 7 $17 23 $27 39 $37 55 $47 71 $57 87 $67 103 $77 119 + + BS CAN ( 8 H X h x +1000 $8 8 $18 24 $28 40 $38 56 $48 72 $58 88 $68 104 $78 120 + + HT EM ) 9 I Y i y +1001 $9 9 $19 25 $29 41 $39 57 $49 73 $59 89 $69 105 $79 121 + + LF SUB * : J Z j z +1010 $A 10 $1A 26 $2A 42 $3A 58 $4A 74 $5A 90 $6A 106 $7A 122 + + VT ESC + ; K [Ä k {ä +1011 $B 11 $1B 27 $2B 43 $3B 59 $4B 75 $5B 91 $6B 107 $7B 123 + + FF FS , < L \ö l |ö +1100 $C 12 $1C 28 $2C 44 $3C 60 $4C 76 $5C 92 $6C 108 $7C 124 + + CR GS - = M ]Ü m }ü +1101 $D 13 $1D 29 $2D 45 $3D 61 $4D 77 $5D 93 $7D 109 $7D 125 + + SO RS . > N ^ n ~ß +1110 $E 14 $1E 30 $2E 46 $3E 62 $4E 78 $5E 94 $7E 110 $7E 126 + + SI US / ? O _ o DEL +1111 $F 15 $1F 31 $2F 47 $3F 63 $4F 79 $5F 95 $7F 111 $7F 127 +\end{verbatim} + +\subsection{Unterteilung der Steuerzeichen:} +%------------------------------------------- + +\begin{verbatim} +TC transmission control Übertragungssteuerzeichen +FE format effects Formatsteuerzeichen +IS information separators Informationstrennzeichen +DC device control Gerätesteuerzeichen +\end{verbatim} + +\subsection{Bedeutung der Steuerzeichen:} +%---------------------------------------- + +\begin{verbatim} +NUL null kein Zeichen +SOH TC start of heading Anfang des Kopfes +STX TC start of text Anfang des Textes +ETX TC end of text Ende des Textes +EOT TC end of transmission Ende der Übertragung +ENQ TC enquiry Stationsaufforderung +ACK TC acknowledge positive Rückmeldung +BEL bell Alarm / Piepton +BS FE backspace Rückwärtsschritt +HT FE horizontal tabulation horizontaler Tabulator +LF FE line feed Zeilenvorschub +VT FE vertical tabulation vertikaler Tabulator +FF FE form feed Seitenvorschub +CR FE carriage return Wagenrücklauf +SO shift out Dauerumschaltung +SI shift in Rückschaltung +DLE TC data link escape Datenübertragungsumschaltung +DCn DC device control Gerätesteuerzeichen +NAK TC negative acknowledge negative Rückmeldung +SYN TC synchronous idle Synchronisierung +ETB TC end of transmission block Ende des Übertragungsblocks +CAN cancel ungültig +EM end of medium Ende der Aufzeichnung +SUB substitute character Substitution +ESC escape Umschaltung +FS IS file separator Hauptgruppentrennung +GS IS group separator Gruppentrennung +RS IS record separator Untergruppentrennung +US IS unit separator Teilgruppentrennung +SP space Leerzeichen +DEL delete löschen +\end{verbatim} + diff --git a/programmieren/c/befehle_und_grundelemente.tex b/programmieren/c/befehle_und_grundelemente.tex new file mode 100644 index 0000000..549d986 --- /dev/null +++ b/programmieren/c/befehle_und_grundelemente.tex @@ -0,0 +1,39 @@ +% master: befehle_und_grundelemente.tex +% Befehle und Grundelemente v0.2 +% 2011-05-27 (Rx) + +\section{Befehle und Grundelemente} +%--------------------------------- + +\begin{verbatim} +gcc Datei.c Programm übersetzen -> a.out +g++ Datei.cpp Programm übersetzen -> a.out (C++) +gcc -c Datei.c Objektdatei herstellen -> Datei.o +g++ -c Datei.cpp Objektdatei herstellen -> Datei.o (C++) +gcc -o Programmname Datei1.o Datei2.o Datei1.o+Datei2.o -> Programmname +g++ -o Programmname Datei1.o Datei2.o Datei1.o+Datei2.o -> Programmname (C++) +gcc -o Programmname Datei.c Programm übersetzen -> Programmname +g++ -o Programmname Datei.cpp Programm übersetzen -> Programmname(C++) +Programmname Programm starten + +configure Makefile konfigurieren +make Programm übersetzen, + wenn Makefile vorhanden +make install Programm installieren + +/* Kommentar einleiten +*/ Kommentar abschließen +// Kommentar einleiten bis zum Zeilenende (C++) +{ Blockbeginn +} Blockende +, mehrere Variablen vom gleichen Typ deklarieren z.B. int a, b, c; +; Funktions-,Operations- und Zeilen-ende (leere Anweisung) + +#include Datei aus /usr/include/ bei UNIX einlesen +#include"Datei" Datei aus dem aktuellen Verzeichnis einlesen +char Variablentyp character - Zeichen +int Variablentyp integer - ganzzahlig mit Vorzeichen +main() Hauptfunktion +return() Wert aus einer Funktion zurückliefern +\end{verbatim} + diff --git a/programmieren/c/c.tex b/programmieren/c/c.tex new file mode 100644 index 0000000..37fcf64 --- /dev/null +++ b/programmieren/c/c.tex @@ -0,0 +1,22 @@ +% master: c.tex +% Programmieren in C/C++ v0.12 +% 2010-08-07 (Rx) + +\chapter{C/C++} + +% Seiten +%------- +%\clearpage +\input{programmieren/c/befehle_und_grundelemente} +\input{programmieren/c/steuersequenzen} +\input{programmieren/c/stdio.h} +\input{programmieren/c/ctype.h} +\input{programmieren/c/string.h} +\input{programmieren/c/kontrollstrukturen} +\input{programmieren/c/ascii.tex} +\input{programmieren/c/operatoren_und_ausdruecke} +\input{programmieren/c/inkrementieren_und_dekrementieren} +\input{programmieren/c/wertebereich_und_genauigkeit_elementarer_datentypen} +\input{programmieren/c/variableninitialisierung} +\input{programmieren/c/konstanten} + diff --git a/programmieren/c/ctype.h.tex b/programmieren/c/ctype.h.tex new file mode 100644 index 0000000..2d9bc84 --- /dev/null +++ b/programmieren/c/ctype.h.tex @@ -0,0 +1,12 @@ +% master: ctype.h.tex +% ctype.h v0.2 +% 2011-05-27 (Rx) + +\section{ctype.h} +%---------------- + +\begin{verbatim} +if(isascii(zeichen)) überprüft ob es sich um ein ASCII-Zeichen handelt +if(isxdigit(zeichen)) überprüft ob es sich um ein Hex-Zeichen handelt +\end{verbatim} + diff --git a/programmieren/c/inkrementieren_und_dekrementieren.tex b/programmieren/c/inkrementieren_und_dekrementieren.tex new file mode 100644 index 0000000..6d25b58 --- /dev/null +++ b/programmieren/c/inkrementieren_und_dekrementieren.tex @@ -0,0 +1,18 @@ +% master: inkrementieren_und_dekrementieren.tex +% Inkrementieren und Dekrementieren v0.1 +% 2010-08-07 (Rx) + +\section{Inkrementieren und Dekrementieren} +%------------------------------------------ + +\begin{verbatim} +i++ ; i = i + 1 +++i ; i = i + 1 +x = i++ ; 1. x = i 2. i = i + 1 +x = ++i ; 1. i = i + 1 2. x = i +i-- ; i = i - 1 +--i ; i = i - 1 +x = i-- ; 1. x = i 2. i = i - 1 +x = --i ; 2. i = i - 1 2. x = i +\end{verbatim} + diff --git a/programmieren/c/konstanten.tex b/programmieren/c/konstanten.tex new file mode 100644 index 0000000..30a2e40 --- /dev/null +++ b/programmieren/c/konstanten.tex @@ -0,0 +1,38 @@ +% master: konstanten.tex +% Konstanten v0.2 +% 2011-05-27 (Rx) + +\section{Konstanten} +%------------------- + +Konstanten werden mit dem vorangestellten Schlüsselwort const wie Variabeln +deklariert. Der dem Namen über das =-Zeichen zugeordnete Wert kann nicht im +Programm verändert werden. Für eine fehlende Typenangabe wird int angenommen. + +\begin{verbatim} +cont float PI = 3.14159 ; // bevorzugen +#define PI 3.14159 ; +\end{verbatim} + +\subsection{Ganzzahlkonstanten} +%------------------------------ +dezimal = 30 ; +oktal = 036 ; +hexadezimal = 0x1E ; +Zusätzlich kann frau eine Ganzzahlkonstante durch das Suffix L oder l als long +und durch U oder u als unsigned kennzeichnen (z.B. 30U). + +\subsection{Gleitkommakonstanten} +%-------------------------------- +0.033 ++.033 +33E-3 ++33.0e-03 +Zusätzlich kann frau eine Gleitkommakonstante durch das Suffix F oder f als +float und durch L oder l als long double kennzeichnen (z.B. 0.033L). + +\subsection{Zeichen- und Zeichenkettenkonstanten} +%------------------------------------------------ +'n' \\ +"'zeichenkette'" + diff --git a/programmieren/c/kontrollstrukturen.tex b/programmieren/c/kontrollstrukturen.tex new file mode 100644 index 0000000..dba03c0 --- /dev/null +++ b/programmieren/c/kontrollstrukturen.tex @@ -0,0 +1,48 @@ +% master: kontrollstrukturen.tex +% Kontrollstrukturen v0.2 +% 2011-05-27 (Rx) + +\section{Kontrollstrukturen} +%--------------------------- + +\begin{verbatim} +if(Ausdruck) wenn der Ausdruck stimmt, +{ + Anweisung-en1; Anweisung-en1 +} +else sonst +{ + Anweisung-en2; Anweisung-en2 +} + +switch(Ausdruck) gehe zum Ausdruck +{ + case 1: Anweisung-en1; Ausdruck1: Anweisung-en1 + case 2: Anweisung-en2; Ausdruck2: Anweisung-en2 + break; Anweisungen beenden + case n: Anweisung-enn; Ausdruckn: Anweisung-enn + break; Anweisungen beenden + default: Anweisung-en; Ausdruck nicht vorhanden: Aneisung-en +} + +continue; unterbricht die Abarbeitung und geht zur Ausdrucksbedingung +break; verlässt die Schleife oder Verbundsanweisung + +for(Ausdruck1;Ausdruck2;Ausdruck3) Ausdruck1 einmal ausführen +{ so lange der Ausdruck2 stimmt, + vorher noch Ausdruck3 + Anweisug-en; Anweisung-en +} + +while(Ausdruck) so lange der Ausdruck stimmt, +{ + Anweisung-en; Anweisung-en +} + +do mach +{ + Anweisung-en; Anweisung-en +} +while(Ausdruck); so lange der Ausdruck stimmt +\end{verbatim} + diff --git a/programmieren/c/operatoren_und_ausdruecke.tex b/programmieren/c/operatoren_und_ausdruecke.tex new file mode 100644 index 0000000..605fe5b --- /dev/null +++ b/programmieren/c/operatoren_und_ausdruecke.tex @@ -0,0 +1,109 @@ +% master: operatoren_und_ausdruecke.tex +% Operatoren und Ausdrücke v0.2 +% 2011-05-27 (Rx) + +\section{Operatoren und Ausdrücke} +%---------------------------------- + +\subsection{Arithmetische Operatoren:} +%------------------------------------- +\begin{verbatim} +Operator Bedeutung Assoziativität Rang Beispiel +-------- --------- -------------- ---- -------- ++ Addition > 5 a+b +- Subtraktion > 5 a-b +* Multiplikation > 4 a*b +/ Division > 4 a/b +% Modulo > 4 a%b +\end{verbatim} + +\subsection{Vergleichsoperatoren:} +%--------------------------------- +\begin{verbatim} +Operator Bedeutung Assoziativität Rang Beispiel +-------- --------- -------------- ---- -------- +< kleiner als > 7 a 7 a<=b +> größer > 7 a>b +>= größer oder gleich > 7 a>=b +== gleich > 8 a==b +!= ungleich > 8 a!=b +\end{verbatim} + +\subsection{Logische Operatoren:} +%-------------------------------- +\begin{verbatim} +Operator Bedeutung Assoziativität Rang Beispiel +-------- --------- -------------- ---- -------- +& bitweises AND > 9 a&b +| bitweises OR > 11 a|b +^ bitweises XOR > 10 a^b +<< bitweises Linksschieben > 6 a<> bitweises Rechtsschieben > 6 a>>n +~ Einerkomplement < 2 ~a +&& logisches AND > 12 a&&b +|| logisches OR > 13 a||b +! logische Negation < 2 !a +\end{verbatim} + +\subsection{Zuweisungsoperatoren:} +%--------------------------------- +\begin{verbatim} +Operator Bedeutung Assoziativität Rang Beispiel +-------- --------- -------------- ---- -------- += Zuweisung < 15 a=b ++= Zuweisung nach Addition < 15 a+=b +-= Zuweisung nach Subtraktion < 15 a-=b +*= Zuweisung nach Multiplikation < 15 a*=b +/= Zuweisung nach Division < 15 a/=b +%= Zuweisung nach Modulo < 15 a%=b +<<= Zuweisung nach bitweisem < 15 a<<=b + Linksschieben +>>= Zuweisung nach bitweisem < 15 a>>=b + Rechtsschieben +&= Zuweisung nach bitweisem AND < 15 a&=b +|= Zuweisung nach bitweisem OR < 15 a|=b +^= Zuweisung nach bitweisem XOR < 15 a^=b +\end{verbatim} + +\subsection{Post- und Prefix- Operatoren:} +%----------------------------------------- +\begin{verbatim} +Operator Bedeutung Assoziativität Rang Beispiel +-------- --------- -------------- ---- -------- +++ Inkrement > < 1 2 a++ ++a +-- Dekrement > < 1 2 a-- --a +() Funktionsaufruf > 1 sqrt(a) +[] Arrayelement > 1 feld[a] +. Feld einer structur oder union > 1 tag.dat +-> Zeiger auf structur > 1 zeig->ele +( type ) expl. Typenumwandlung < 2 double(a) +\end{verbatim} + +\subsection{Zeigeroperatoren:} +%----------------------------- +\begin{verbatim} +Operator Bedeutung Assoziativität Rang Beispiel +-------- --------- -------------- ---- -------- +& Adresse von < 2 &a +* Indirektion < 2 *a +.* Dereferenzzeiger > 3 tag.*dat +->* Dereferenzzeiger > 3 tag->dat +\end{verbatim} + +\subsection{Diverse Kategorien:} +%------------------------------- +\begin{verbatim} +Operator Bedeutung Assoziativität Rang Beispiel +-------- --------- -------------- ---- -------- +?: Bedinung < 14 a?b:c + i = x 16 a,b, ... +- unäres Minus < 2 -n ++ unäres Plus < 2 +n +sizeof(typ) Größe des Types in Byte < 2 sizeof(a) +new dynam. Objekt erzeugen < 2 b = new float[a] +delete dynam. Objekt löschen < 2 delete b +:: Zugiffs-/Bereichsoperator < 2 adr::nam +\end{verbatim} + diff --git a/programmieren/c/stdio.h.tex b/programmieren/c/stdio.h.tex new file mode 100644 index 0000000..944da81 --- /dev/null +++ b/programmieren/c/stdio.h.tex @@ -0,0 +1,35 @@ +% master: stdio.h.tex +% stdio.h -> Standard Ein- und Ausgabe v0.2 +% 2011-05-27 (Rx) + +\section{stdio.h -\textgreater\ Standard Ein- und Ausgabe} +%--------------------------------------------------------- + +\begin{verbatim} +c=getchar(); Eingabe eines Zeichens, ohne Wagenrücklauf +putchar('a'); Ausgabe eines Zeichens, ohne Wagenrücklauf +puts("Text"); Zeichenkette ausgeben, mit Wagenrücklauf +fputs("Text",stdount); Zeichenkette ausgeben, ohne Wagenrücklauf +fputs("Text",stderr); Zeichenkette ausgeben, ohne Wagenrücklauf +printf("Text %d",Zahl); Zeichenkette formatiert ausgeben, ohne Wagenrücklauf + % F Z1 . Z2 L U + | | | | | | + Umwandlungszeichen: %d-dezimal %u-unsigned + | | | | | | %o-oktal %s-Text %c-Zeichen + | | | | | | %f-Flieskomma %e-Expotential + | | | | | | %x-hexadezimal %p-pointer + | | | | | +-- Long-Ausgabe: notwendig für long int + | | | | +----- Nachkommastellen: z.B 3 für drei stellen + | | | +------- Trenzeichen, falls Z1 und Z2 + | | +---------- Größe des Ausgabefensters: z.B 7 für sieben stellen + | +------------ Ausrichtung: ohne Angabe rechtsbündig, + | mit Minuszeichen linksbündig + +-------------- Fluchtsymbol +scanf("%c",&text); Zeichen in &text einlesen + % * Z L U + | | | | +------ Umwandlungszeichen + | | | +-------- Long-Ausgabe + | | +---------- Größe des Eingabefensters + | +------------ Wegwerfen + +-------------- Fluchtsymbol +\end{verbatim} + diff --git a/programmieren/c/steuersequenzen.tex b/programmieren/c/steuersequenzen.tex new file mode 100644 index 0000000..e288917 --- /dev/null +++ b/programmieren/c/steuersequenzen.tex @@ -0,0 +1,44 @@ +% master: steuersequenzen.tex +% Steuersequenzen für ANSI-Bildschirme - Innerhalb von Texten v0.2 +% 2011-05-27 (Rx) + +\section{Steuersequenzen für ANSI-Bildschirme - Innerhalb von Texten} +%--------------------------------------------------------------------- + +\begin{verbatim} +\a BEL bell Alarm/Piepton +\b BS backspace Rücksetzen um ein Zeichen +\f FF formfeed Seitenvorschub +\n NL new line Zeilenvorschub +\r CR carriage return Wagenrücklauf +\t HT horizontal tabulation horizontaler Tabulator +\v VT vertical tabulation vertikaler Tabulator +\0 NULL null kein Zeichen Textende +\? ? Fragezeichen (kein Dreierzeichen) +\' ' Hochkomma +\" " Anführungszeichen +\\ \ umgekehrter Schrägstrich +\ddd Zeichencode in oktaler Notation +\xdd Zeichencode in hexadezimaler Notation +\e[1;1H Cursor auf x1 und y1 setzen +\e[1;1f -> \e[1;1H +\e[5A Cursor 5 Zeilen aufwärts bewegen +\e[5B Cursor 5 Zeilen abwärts bewegen +\e[5C Cursor 5 Spalten vorwärts(rechts) bewegen +\e[5D Cursor 5 Spalten rückwärts(links) bewegen +\e[2J Bildschirm löschen +\e[6n Ausgabe der Cursor position z.B. ^[[32;6R +\e[s merkt die aktuelle Cursor Position +\e[u Cursor auf gemerkte Position setzen +\e[Schrift;Vordergrund;Hintergrundmerkmale setzt Bildschirmmerkmale + Schrift Vordergrund Hintergrund + 0 normal 30 schwarz 40 + 1 grell 31 rot 41 + 4 unterstrichen 32 grün 42 + 5 blinken 33 gelb 43 braun + 7 reverse 34 blau 44 + 35 magenta 45 + 36 cyan 46 + 37 weiß 47 grau +\end{verbatim} + diff --git a/programmieren/c/string.h.tex b/programmieren/c/string.h.tex new file mode 100644 index 0000000..4390642 --- /dev/null +++ b/programmieren/c/string.h.tex @@ -0,0 +1,32 @@ +% master: string.h.tex +% string.h v0.2 +% 2011-05-27 (Rx) + +\section{string.h} +%----------------- + +\begin{verbatim} +char *strcat(char text1, char text2) ; hängt Text2(mit \0) an Text1 +char *strchr(const char *text, +int zeichen) ; sucht das erste vorkommende + Zeichen im Text, liefert Adresse + oder NULL +char *strcpy(char text1, char text2) ; kopiert Text2(mit \0) zum Text1 +sitze_t strlen(const char *text) ; liefert die Länge von Text(ohne \0) +char *strncat(char *text1, +const char *text2, sitze_t n) ; hängt Text2 mit n Zeichen + an Text1(mit \0) +char *strtok(char *text, +const char *kette) ; 1.Aufruf: sucht im Text das erste + Zeichen das nicht in Kette vorkommt + (wird kein Zeichen gefunden gibt strtok + einen NULL-Zeiger zurück), wird ein + Zeichen gefunden gibt strtok den Zeiger + zurück, dann sucht strtok ab Zeiger das + erste Zeichen das in der Kette vorkommt + und überschreibt es mit \0, strtok merkt + sich den Zeiger auf das nächste Zeichen +char *strtok(NULL, const char *kette) ; 2.-n.Aufruf: wie 1.Aufruf ab gemerkten + Zeiger +\end{verbatim} + diff --git a/programmieren/c/variableninitialisierung.tex b/programmieren/c/variableninitialisierung.tex new file mode 100644 index 0000000..c89d8c7 --- /dev/null +++ b/programmieren/c/variableninitialisierung.tex @@ -0,0 +1,17 @@ +% master: variableninitialisierung.tex +% Variableninitialisierung v0.1 +% 2010-08-07 (Rx) + +\section{Variableninitialisierung} +%--------------------------------- + +Nichtinitialisierte Variabeln haben \textbf{nicht} automatisch den Wert 0! + +\begin{verbatim} +short faktor=10 ; + +short laktor, messwert ; + +messwert=faktor ; +\end{verbatim} + diff --git a/programmieren/c/wertebereich_und_genauigkeit_elementarer_datentypen.tex b/programmieren/c/wertebereich_und_genauigkeit_elementarer_datentypen.tex new file mode 100644 index 0000000..57fc5ce --- /dev/null +++ b/programmieren/c/wertebereich_und_genauigkeit_elementarer_datentypen.tex @@ -0,0 +1,23 @@ +% master: wertebereich_und_genauigkeit_elementarer_datentypen.tex +% Wertebereich und Genauigkeit elementarer Datentypen v0.1 +% 2010-08-07 (Rx) + +\section{Wertebereich und Genauigkeit elementarer Datentypen} +%------------------------------------------------------------ + +\begin{verbatim} +Datentyp Bit Min.Wert Max.Wert Genauigkeit +-------- --- -------- -------- ----------- +char 8 -128 127 +unsigned char 8 0 255 +short int 16 -32768 32767 +unsigned short int 16 0 65535 +int (16)32(64) -2147483648 2147483647 +unsigned int 16 0 65535 +long int 32(64) -2147483648 2147483647 +unsigned long int 32 0 4294967295 +float 32 ca. 3.4E-38 3.4E38 >= 6 Ziffern +double 64 ca. 1.7E-308 1.7E308 >= 10 Ziffern +long double 80 ca. 1.2E-4932 1.2E4932 >= double +\end{verbatim} + diff --git a/programmieren/cgi_perl/array_funktionen.tex b/programmieren/cgi_perl/array_funktionen.tex new file mode 100644 index 0000000..943391f --- /dev/null +++ b/programmieren/cgi_perl/array_funktionen.tex @@ -0,0 +1,20 @@ +% master: array_funktionen.tex +% Array Funktionen v0.1 +% 2011-06-08 (Rx) + +\subsection{Array Funktionen} +%---------------------------- + +\begin{verbatim} +push(@Liste,@Elemente) ; Setzt ein oder mehrere Elemente an + das Ende der Liste +unshift(@Liste,"Wert") ; Setzt ein oder mehrere Elemente an + den Anfang der Liste +$a=shift(@Liste) ; Entfernt das erste Element aus der Liste + und gibt es an $a +$a=pop(@Liste) ; Entfernt das letzte Element aus der Liste + und gibt es an $a +splice(@Liste,Start,Anzahl,Element) ; Entfernt die Anzahl vom Start der Liste + und fügt Element ein +\end{verbatim} + diff --git a/programmieren/cgi_perl/arrays.tex b/programmieren/cgi_perl/arrays.tex new file mode 100644 index 0000000..8a3cc88 --- /dev/null +++ b/programmieren/cgi_perl/arrays.tex @@ -0,0 +1,16 @@ +% master: arrays.tex +% Arrays (Listen) v0.1 +% 2011-06-08 (Rx) + +\subsection{Arrays (Listen)} +%--------------------------- + +\begin{verbatim} +@Array=("W0","W1") ; Werte einer Array-Variable zuweisen (Kurzform) +$Array[Indexwert]="Wert" ; Wert einer Array-Variable zuweisen (Langform) +@Array=$Liste[2,4,8] ; Werte eines Arrays eines Arrays zuweisen +print @Array ; Gesamtes Array ausgeben +print $Array[Indexwert] ; Wert einer Array-Variable ausgeben +print $#Array ; Nummer des letzten Listenelements ausgeben +\end{verbatim} + diff --git a/programmieren/cgi_perl/cgi_perl.tex b/programmieren/cgi_perl/cgi_perl.tex new file mode 100644 index 0000000..ef559c4 --- /dev/null +++ b/programmieren/cgi_perl/cgi_perl.tex @@ -0,0 +1,27 @@ +% master: cgi_perl.tex +% CGI+Perl v0.1 +% 2011-06-08 (Rx) + +\chapter{CGI+Perl} + +% Seiten +%------- +%\clearpage +\input{programmieren/cgi_perl/einleitung} + +\section{Perl} +%------------- +\input{programmieren/cgi_perl/texte_und_strings} +\input{programmieren/cgi_perl/rechenoperationen} +\input{programmieren/cgi_perl/arrays} +\input{programmieren/cgi_perl/string_und_zahlenvergleichsoperratoren} +\input{programmieren/cgi_perl/if_bedingung} +\input{programmieren/cgi_perl/if_else_bedingung} +\input{programmieren/cgi_perl/if_elseif_bedingung} + +\section{Funktionen} +%------------------- +\input{programmieren/cgi_perl/string_funktionen} +\input{programmieren/cgi_perl/rechen_funktionen} +\input{programmieren/cgi_perl/array_funktionen} + diff --git a/programmieren/cgi_perl/einleitung.tex b/programmieren/cgi_perl/einleitung.tex new file mode 100644 index 0000000..03ef70a --- /dev/null +++ b/programmieren/cgi_perl/einleitung.tex @@ -0,0 +1,16 @@ +% master: einleitung.tex +% Einleitung v0.1 +% 2011-06-08 (Rx) + +\section{Einleitung} +%------------------- + +\begin{verbatim} +Was ist CGI? Common Gateway Interface. Web-Server-Schnittstelle, um mit + anderen Programmen zusammenzuarbeiten. + +Was ist Perl? Practical Extraction and Report Language. Interpreter-Skript- + Sprache, die häufig zur Programmierung von CGI-Anwendungen + benutzt wird. +\end{verbatim} + diff --git a/programmieren/cgi_perl/if_bedingung.tex b/programmieren/cgi_perl/if_bedingung.tex new file mode 100644 index 0000000..4011e0d --- /dev/null +++ b/programmieren/cgi_perl/if_bedingung.tex @@ -0,0 +1,14 @@ +% master: if_bedingung.tex +% if-Bedingung v0.1 +% 2011-06-08 (Rx) + +\subsection{if-Bedingung} +%------------------------ + +\begin{verbatim} +if (Bedingung) Wenn die Bedingung Wahr, +{ + Befehle ; Befehle ausführen +} +\end{verbatim} + diff --git a/programmieren/cgi_perl/if_else_bedingung.tex b/programmieren/cgi_perl/if_else_bedingung.tex new file mode 100644 index 0000000..f7774b1 --- /dev/null +++ b/programmieren/cgi_perl/if_else_bedingung.tex @@ -0,0 +1,18 @@ +% master: if_else_bedingung.tex +% if-else-Bedingung v0.1 +% 2011-06-08 (Rx) + +\subsection{if-else-Bedingung} +%----------------------------- + +\begin{verbatim} +if (Bedingung) Wenn die Bedingung Wahr, +{ + Befehle ; Befehle ausführen +} +else sonst +{ + Befehle ; Befehle ausführen +} +\end{verbatim} + diff --git a/programmieren/cgi_perl/if_elseif_bedingung.tex b/programmieren/cgi_perl/if_elseif_bedingung.tex new file mode 100644 index 0000000..6354abb --- /dev/null +++ b/programmieren/cgi_perl/if_elseif_bedingung.tex @@ -0,0 +1,18 @@ +% master: if_elseif_bedingung.tex +% if-elseif-Bedingung v0.1 +% 2011-06-08 (Rx) + +\subsection{if-elseif-Bedingung} +%------------------------------- + +\begin{verbatim} +if (Bedingung) Wenn die Bedingung Wahr, +{ + Befehle ; Befehle ausführen +} +elseif (Bedingung) sonst Wenn die Bedingung Wahr, +{ + Befehle ; Befehle ausführen +} +\end{verbatim} + diff --git a/programmieren/cgi_perl/rechen_funktionen.tex b/programmieren/cgi_perl/rechen_funktionen.tex new file mode 100644 index 0000000..35b78df --- /dev/null +++ b/programmieren/cgi_perl/rechen_funktionen.tex @@ -0,0 +1,15 @@ +% master: rechen_funktionen.tex +% Rechen Funktionen v0.1 +% 2011-06-08 (Rx) + +\subsection{Rechen Funktionen} +%----------------------------- + +\begin{verbatim} +$a=sqrt($b) ; Quadratwurzel von $b nach $a +$a=log($b) ; Logarithmus +$a=exp($b) ; Exponenten +$a=abs($b) ; Absoluterwert +$a=int($b) ; Ganzzahlwert +\end{verbatim} + diff --git a/programmieren/cgi_perl/rechenoperationen.tex b/programmieren/cgi_perl/rechenoperationen.tex new file mode 100644 index 0000000..316d96c --- /dev/null +++ b/programmieren/cgi_perl/rechenoperationen.tex @@ -0,0 +1,19 @@ +% master: rechenoperationen.tex +% Rechenoperationen v0.1 +% 2011-06-08 (Rx) + +\subsection{Rechenoperationen} +%----------------------------- + +\begin{verbatim} +$a=$b+$c ; Addition von $b und $c gleich $a +$a=$b-$c ; Subtraktion von $b minus $c gleich $a +$a=$b*$c ; Multiplikation von $b mal $c gleich $a +$a=$b/$c ; Division $b geteilt durch $c gleich $a +$a=$b**$c ; Potenz $b hoch $c gleich $a +$a=$b%$c ; Modulo $b geteilt durch $c Rest gleich $a +$a++ ; $a=$a+1 ; +$a-- ; $a=$a-1 ; +$a=3.1415 ; . Dezimaltrenner +\end{verbatim} + diff --git a/programmieren/cgi_perl/string_funktionen.tex b/programmieren/cgi_perl/string_funktionen.tex new file mode 100644 index 0000000..eee067a --- /dev/null +++ b/programmieren/cgi_perl/string_funktionen.tex @@ -0,0 +1,12 @@ +% master: string_funktionen.tex +% String Funktionen v0.1 +% 2011-06-08 (Rx) + +\subsection{String Funktionen} +%----------------------------- + +\begin{verbatim} +$Var=chop($String) ; Löscht das letzte Zeichen von String und + gibt es an Var +\end{verbatim} + diff --git a/programmieren/cgi_perl/string_und_zahlenvergleichsoperratoren.tex b/programmieren/cgi_perl/string_und_zahlenvergleichsoperratoren.tex new file mode 100644 index 0000000..cbcbab3 --- /dev/null +++ b/programmieren/cgi_perl/string_und_zahlenvergleichsoperratoren.tex @@ -0,0 +1,17 @@ +% master: string_und_zahlenvergleichsoperratoren.tex +% String- und Zahlenvergleichsoperratoren v0.1 +% 2011-06-08 (Rx) + +\subsection{String- und Zahlenvergleichsoperratoren} +%--------------------------------------------------- + +\begin{verbatim} +Vergleich Zahlenvergleich Stringvergleich +Gleich == eq +Ungleich != ne +Kleiner als < lt +Größer als > gt +Kleiner oder gleich <= le +Größer oder gleich >= ge +\end{verbatim} + diff --git a/programmieren/cgi_perl/texte_und_strings.tex b/programmieren/cgi_perl/texte_und_strings.tex new file mode 100644 index 0000000..d728d56 --- /dev/null +++ b/programmieren/cgi_perl/texte_und_strings.tex @@ -0,0 +1,27 @@ +% master: texte_und_strings.tex +% Texte und Strings v0.1 +% 2011-06-08 (Rx) + +\subsection{Texte und Strings} +%----------------------------- + +\begin{verbatim} +# Kommentartext (Hash) Einzeiliger Kommentartext +print "Text" ; Text ausgeben +print "Text\n" ; \n Neue Zeile +print "Text\r" ; \r Wagenrücklauf +print "Text\t" ; \t Tabulator +print "Text\v" ; \v Vertikalzeichen +print "Text\f" ; \f Papiereinzugszeichen +print "Text\b" ; \b Rücksetzzeichen +print "Text\a" ; \a Piepton +print "Text\e" ; \e Unterbrechungszeichen +print $Variable ; Variable ausgeben +print "Text\"" ; \" Gänsefüßchen ausgeben +print "Text\'" ; \' Einfache Anführungszeichen ausgeben +print "Text\$" ; \$ Dollar-Zeichen ausgeben +print "Text\\" ; \\ Backslash ausgeben +print "Text".$Var."Text" ; . Verketten von Zeichenfolgen +print "Text"x10 ; Text 10 mal zusgeben +\end{verbatim} + diff --git a/programmieren/git/aenderung_an_einer_datei_rueckgaengig_machen.tex b/programmieren/git/aenderung_an_einer_datei_rueckgaengig_machen.tex new file mode 100644 index 0000000..6795af7 --- /dev/null +++ b/programmieren/git/aenderung_an_einer_datei_rueckgaengig_machen.tex @@ -0,0 +1,10 @@ +% master: aenderung_an_einer_datei_rueckgaengig_machen.tex +% Änderung an einer Datei rückgängig machen v0.1 +% 2017-01-09 (Rx) + +\section{Änderung an einer Datei rückgängig machen} +%-------------------------------------------------- + +\begin{verbatim} +git checkout -- Datei Datei zurückversetzen auf den letzten Commit oder Klone +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/branch.tex b/programmieren/git/branch.tex new file mode 100644 index 0000000..50eb929 --- /dev/null +++ b/programmieren/git/branch.tex @@ -0,0 +1,26 @@ +% master: branch.tex +% Branch v0.1 +% 2017-01-09 (Rx) + +\section{Branch} +%--------------- + +Was ist ein Branch? Ein Zeiger, der auf den gleichen Commit zeigt, auf dem Du +gerade arbeitest. + +\begin{verbatim} +git branch testing erstellt einen neuen Branch mit dem Namen testing +git checkout testing um zu einem anderen Branch zu wechseln +git branch -b testing erstellt und wechselt zu dem Branch +git merge testing führt testing mit dem Master-Branch zusammen +git branch -d testing entfernt testing +git merge master Deinem Zweig mit dem master kombinieren +git rebase master alle Änderungen auf einem Branch, auf einen anderen + Branch erneut anwenden (nur mit unveröffendlichen + Branch machen) +git mergetool grafischen Tool zur Bereinigung von Merge-Konflikten +git branch Liste aller Branches anzeigen +git branch -v für jeden Branch den letzten Commit anzeigen lassen +git branch --merged Liste gemergter Branches +git branch --no-merged Liste nicht gemergter Branches +\end{verbatim} diff --git a/programmieren/git/commit.tex b/programmieren/git/commit.tex new file mode 100644 index 0000000..9779156 --- /dev/null +++ b/programmieren/git/commit.tex @@ -0,0 +1,17 @@ +% master: commit.tex +% Commit v0.1 +% 2017-01-09 (Rx) + +\section{Commit} +%---------------------- + +\begin{verbatim} +git add Datei Datei zum Index hinzufügen +git add -u oder --update Alle Veränderungen in den Index übertragen +git reset HEAD Datei aus der Staging Area zu entfernen +git commit -m "Erste Version" Index zum Working Tree hinzufügen + git add forgotten_file Datei zum Index hinzufügen + git commit --amend den letzten Commit ändern +git show Commit einsehen +git log Commits anzeigen +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/dateien_entfernen.tex b/programmieren/git/dateien_entfernen.tex new file mode 100644 index 0000000..0f48920 --- /dev/null +++ b/programmieren/git/dateien_entfernen.tex @@ -0,0 +1,14 @@ +% master: dateien_entfernen.tex +% Dateien entfernen v0.1 +% 2017-01-09 (Rx) + +\section{Dateien entfernen} +%---------------------- + +\begin{verbatim} +git rm Datei Datei in deinem Arbeitsverzeichnis behalten, + aber aus der Staging Area nehmen +git rm -f Datei Datei aus dem Arbeitsverzeichis und Index löschen +git reset HEAD Datei Datei in Deinem Arbeitsverzeichnis behalten, + aber aus der Staging Area nehmen +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/dateien_ignorieren.tex b/programmieren/git/dateien_ignorieren.tex new file mode 100644 index 0000000..dbd0038 --- /dev/null +++ b/programmieren/git/dateien_ignorieren.tex @@ -0,0 +1,20 @@ +% master: dateien_ignorieren.tex +% Dateien ignorieren v0.1 +% 2017-01-09 (Rx) + +\section{Dateien ignorieren} +%--------------------------- + +\begin{verbatim} +Dateien im Projektverzeichnis die nicht versioniert im Repository sein sollen +kommen in die Datei .gitignore. +.gitignore + # Zeile mit # oder leere wird ignoriert + *.o ignoriert alle Dateien die mit .o enden + !lib.o wird nicht ignoriert + /TODO ignoriert den Ordner TODO + build/ ignoriert alle Dateien im build Verzeichnis + doc/*.txt ignoriert alle .txt Dateien im doc Verzeichnis + doc/**/*.txt ignoriert alle .txt Dateien unterhalb des doc + Verzeichnis +\end{verbatim} diff --git a/programmieren/git/dateien_verschieben.tex b/programmieren/git/dateien_verschieben.tex new file mode 100644 index 0000000..792d5c5 --- /dev/null +++ b/programmieren/git/dateien_verschieben.tex @@ -0,0 +1,10 @@ +% master: dateien_verschieben.tex +% Dateien verschieben v0.1 +% 2017-01-09 (Rx) + +\section{Dateien verschieben} +%---------------------- + +\begin{verbatim} +git mv Datei_alt Datei_neu Datei verschieben +\end{verbatim} diff --git a/programmieren/git/der_index.tex b/programmieren/git/der_index.tex new file mode 100644 index 0000000..a2e9a46 --- /dev/null +++ b/programmieren/git/der_index.tex @@ -0,0 +1,38 @@ +% master: der_index.tex +% Der Index v0.1 +% 2017-01-09 (Rx) + +\section{Der Index} +%------------------ + +Der Inhalt von Dateinen liegt für Git auf drei Ebenen, den Working Tree, dem +Index und dem Repository. + +\begin{verbatim} + clone/fetch/pull + +----------+ --------------------------------------------------> + + |Repository| | + --bare init |(origin) | push | + ----------> +----------+ <--------------------------------------- + | + | | + status add status commit/--amend | | + +------------+ ---------> +--------------+ ---------------------> +----------+ + |Working Tree| diff |Index | diff --staged/--cached |Repository| + | | <--------> |(Staging Area)| <--------------------> | | + +------------+ <--------- +--------------+ <--------------------- +----------+ + | reset HEAD reset HEAD -- | | + + -------------------------------------------------> + | + checkout -- | + init | + ---------------------------------------------------------------------------> + + +git diff zeigt den Unterschied zwischen Working Tree + und Index an +git diff --color-words Änderugen Fablich anzeigen + grün-hinzugekommen rot-entfernt +git diff --word-diff --no-color ohne Frabe mit Zeichen +git diff --staged zeigt den Unterschied zwischen + Index(Staging Area) und Repository an +git diff --cached zeigt den Unterschied zwischen + Index(Staging Area) und Repository an +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/dokumentation.tex b/programmieren/git/dokumentation.tex new file mode 100644 index 0000000..b30cf03 --- /dev/null +++ b/programmieren/git/dokumentation.tex @@ -0,0 +1,12 @@ +% master: dokumentation.tex +% Dokumentation v0.1 +% 2017-01-09 (Rx) + +\section{Dokumentation} +%---------------------- + +\begin{verbatim} +git help status Manpage von git status anzeigen +git status --help Manpage von git status anzeigen +man git-status Manpage von git status anzeigen +\end{verbatim} diff --git a/programmieren/git/git.tex b/programmieren/git/git.tex new file mode 100644 index 0000000..d4b9eb7 --- /dev/null +++ b/programmieren/git/git.tex @@ -0,0 +1,26 @@ +% master: git.tex +% git v0.1 +% 2017-01-09 (Rx) + +\chapter{git} + +% Seiten +%------- +\input{programmieren/git/dokumentation} +\input{programmieren/git/konfiguration} +\input{programmieren/git/konfigurationen_ueber_umgebungsvariablen} +\input{programmieren/git/der_index} +\input{programmieren/git/repository} +\input{programmieren/git/commit} +\input{programmieren/git/dateien_entfernen} +\input{programmieren/git/dateien_verschieben} +\input{programmieren/git/aenderung_an_einer_datei_rueckgaengig_machen} +\input{programmieren/git/dateien_ignorieren} +\input{programmieren/git/mit_externen_repositorys_arbeiten} +\input{programmieren/git/tags} +\input{programmieren/git/branch} +\input{programmieren/git/git_aliase} +\input{programmieren/git/git_auf_einen_server_bekommen} +\input{programmieren/git/git_auf_dem_ssh-server_einrichten} +\input{programmieren/git/oeffentlicher_webserver-zugang} +\input{programmieren/git/grundbegriffe} diff --git a/programmieren/git/git_aliase.tex b/programmieren/git/git_aliase.tex new file mode 100644 index 0000000..7fdfb57 --- /dev/null +++ b/programmieren/git/git_aliase.tex @@ -0,0 +1,13 @@ +% master: git_aliase.tex +% Git Aliase v0.1 +% 2017-01-09 (Rx) + +\section{Git Aliase} +%------------------- + +\begin{verbatim} +git config --global alias.co checkout co anstelle von checkout schreiben +git config --global alias.br branch br anstelle von branch schreiben +git config --global alias.ci commit ci anstelle von commit schreiben +git config --global alias.st status st anstelle von status schreiben +\end{verbatim} diff --git a/programmieren/git/git_auf_dem_ssh-server_einrichten.tex b/programmieren/git/git_auf_dem_ssh-server_einrichten.tex new file mode 100644 index 0000000..caf20b3 --- /dev/null +++ b/programmieren/git/git_auf_dem_ssh-server_einrichten.tex @@ -0,0 +1,66 @@ +% master: git_auf_dem_ssh-server_einrichten.tex +% Git auf dem SSH-Server einrichten v0.1 +% 2017-01-09 (Rx) + +\section{Git auf dem SSH-Server einrichten} +%------------------------------------------ + +Einrichtung des SSH-Zugangs auf dem Server mit der Authorized-Keys-Methode zur +Authentifizierung der Benutzer. + +\begin{verbatim} +sudo adduser git Benutzer git anlegen +su git Rechte von User git erlagen +cd ins Home ~ Verzeichnis des Users wechseln +mkdir .ssh Verzeichnis .ssh anlegen +\end{verbatim} + +- öffentliche SSH-Schlüssel der Entwickler zu der Authorized-Keys-Datei + des Benutzers git hinzuzufügen. +\begin{verbatim} +cat /tmp/id_rsa.user1.pub > ~/.ssh/authorized_keys + authorized_keys erstellen und User1 einfügen +cat /tmp/id_rsa.user2.pub >> ~/.ssh/authorized_keys + User2 einfügen +cat /tmp/id_rsa.user3.pub >> ~/.ssh/authorized_keys + User3 einfügen +\end{verbatim} + +- Leeren Ordner anlegen und mit der Option --bare ein Repository ohne ein + Arbeitsverzeichnis erzeugen. +\begin{verbatim} +cd /srv in den Ordner srv wechseln +mkdir git git Ordner anlegen +cd git in den Ordner git wechseln +mkdir project.git project.git Ordner anlegen +cd project.git in den Ordner project.git wechseln +git --bare init Repository ohne ein Arbeitsverzeichnis erzeugen +\end{verbatim} + +- Die erste Version des Projektes in das Repository hochladen +\begin{verbatim} +cd project in das Projekt wechseln +git init Projekt Repository herstellen +git add . alle Dateien um Index hinzufügen +git commit -m 'initial commit' Index zum Working Tree hinzufügen +git remote add origin git@gitserver:/srv/git/project.git + Server hinzufügen +git push origin master Commits und Referenzen auf den Server hochladen +\end{verbatim} + +- Repository klonen und Änderungen hochladen +\begin{verbatim} +git clone git@gitserver:/srv/git/project.git Repository klonen +cd project ins Projekt wechseln +vim README Projekt bearbeiten +git commit -am 'fix for the README file' Änderung speichern +git push origin master Änderung hochladen +\end{verbatim} + +- Git-Zugang absichen +\begin{verbatim} +/etc/passwd + git:x:1000:1000::/home/git:/bin/sh /bin/sh auf + git:x:1000:1000::/home/git:/usr/bin/git-shell + /usr/bin/git-shell ändern +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/git_auf_einen_server_bekommen.tex b/programmieren/git/git_auf_einen_server_bekommen.tex new file mode 100644 index 0000000..6939979 --- /dev/null +++ b/programmieren/git/git_auf_einen_server_bekommen.tex @@ -0,0 +1,19 @@ +% master: git_auf_einen_server_bekommen.tex +% Git auf einen Server bekommen v0.1 +% 2017-01-09 (Rx) + +\section{Git auf einen Server bekommen} +%-------------------------------------- + +\begin{verbatim} +git clone --bare my_project my_project.git + Projekt zu Projekt.git klonen +scp -r my_project.git user@git.example.com:/opt/git + Projekt per ssh hochladen +git clone user@git.example.com:/opt/git/my_project.git + Projekt per ssh zum Arbeiten herunterladen +ssh user@git.example.com auf dem Server anmelden +cd /opt/git/my_project.git Projektverzeichnis betreten +git init --bare --shared Gruppenschreibrechte zu einem Repository + hinzufügen +\end{verbatim} diff --git a/programmieren/git/grundbegriffe.tex b/programmieren/git/grundbegriffe.tex new file mode 100644 index 0000000..9607142 --- /dev/null +++ b/programmieren/git/grundbegriffe.tex @@ -0,0 +1,53 @@ +% master: grundbegriffe.tex +% Grundbegriffe v0.1 +% 2017-01-09 (Rx) + +\section{Grundbegriffe} +%---------------------- + +\begin{verbatim} +Versionkontrollsystem (Version Control System, VCS) + Eine Versionsverwaltung ist ein System, das zur Erfassung von Änderungen + an Dokumenten oder Dateien verwendet wird. + Zum Beispiel: + Zentrale Systeme - zentraler Server + RCS-Revision Control System, CVS-Concurrent Versions System, + SVN-Subversion + Verteilte Systeme - Kein zentraler Server + Bazaar, Darcs, Fossil, Git, GNU arch, Mercurial, Monotone +Repository + Nutzt Git als Dantenbank in der die verschiedenen Zustände jeder Datei + eines Projektes über die Zeit hinweg ablegt. Jede Änderrung wird als + Commit verpackt und abgespeichert. +Working Tree + Das Arbeitsverzeichnis von Git, oft auch Working Directory genannt. +Commit + Das speichern der veränderten Dateien im Repository. +HEAD + Eine symbolische Referenz auf den neusten Commit im aktuellen Branch. +SHA-1 + Der Secure Hash Algorithm erstellt eine eindeutige, 160 Bit lange + Prüfsumme. Alle Commits in Git werden nach ihrer SHA-1-Summe benannt, + die aus dem Inhalt und den Metadaten des Commits errechnet wird. +Objektmodell + Ein Git-Repository lässt sich als Graph von Commits modellieren, der + durch Git-Kommandos manipuliert wird. +Index + Der Index ist eine Zwischenstufe zwischen Working Tree und Repository, + in der Sie einen Commit vorbereiten. Enthält also die Dateien für den + nästen Commit. +Clone + Wenn Sie sich ein Git-Repository aus dem Internet herrunterladen. + Enthält die gesamte Versionsgeschichte einschließlich aller Commits. +Branch + Eine Abzweigung in der Entwicklung. Zum Beispiel für neue Featurs, + Release vorbereitung oder alte Versionen mit Bugfixes zu versorgen. +master + Beim Initialisieren eines neuen Repositorys wird der Branch master + erstellt analog trunk in anderen Systemen. +Tag + Tags sind symbolische Namen für schwer zu merkende SHA-1-Summen. + Wichtige Commits, wie zum Beispiel Releases v1.2.3. oder können + zusätzliche Metadateien wie Autor, Beschreibung und GPG-Signatur + enthalten. +\end{verbatim} diff --git a/programmieren/git/konfiguration.tex b/programmieren/git/konfiguration.tex new file mode 100644 index 0000000..1f8fce6 --- /dev/null +++ b/programmieren/git/konfiguration.tex @@ -0,0 +1,44 @@ +% master: konfiguration.tex +% Konfiguration v0.1 +% 2017-01-09 (Rx) + +\section{Konfiguration} +%---------------------- + +\begin{verbatim} +git config --global ... Speichern im Homeverzeichnis .gitconfig +git config --system ... /etc/gitconfig konfigurieren unueblich +git config ... Arbeitsverzeichnis .git/config +git config user.name "Max Mustermann" Name konfigurieren +git config user.email "max.mustermann@examle.com" + E-Mail konfigurieren +git config --unset user.name Name löschen +git config alias.st status Alias status -> st herstellen +[alias] nützliche Abkürzungen + st = status + ci = commit + br = branch + co = checkout + df = diff + he = help + cl = clone +git config -e startet Editor auf der Konfiguration +git config color.ui auto Farben einstellen +git config core.eol lf,crlf oder native Zeilenende lf-Linux crlf-Windows + native-System-Default +git config core.safecrlf Verbietet Commit bei vermischung +git config core.autocrlf input sichere Einstellung bei älteren + Git-Versionen unter Windows +git config il8n.commitEncoding ISO-8859-1 + Zeichenkodierung ISO-8859-1 + Standart UTF-8 +git config core.pager 'env LESSCHARSET=iso8859 less' + Zeichenkodierung für den Pager +git config core.editor vim Vim als Editor einstellen +git config core.browser ... Browser einstellen +git config help.autocorrect n beim Vertippen ähnliches Subkommando + ausführen, n Zentelsekunden bis zum + Ausführen, -1 für sofort aus, 0 zeigt + nur Möglichkeiten an +git config --list alle Einstellungen anzeigen +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/konfigurationen_ueber_umgebungsvariablen.tex b/programmieren/git/konfigurationen_ueber_umgebungsvariablen.tex new file mode 100644 index 0000000..154ad24 --- /dev/null +++ b/programmieren/git/konfigurationen_ueber_umgebungsvariablen.tex @@ -0,0 +1,18 @@ +% master: konfigurationen_über_umgebungsvariablen.tex +% Konfigurationen über Umgebungsvariablen v0.1 +% 2017-01-09 (Rx) + +\section{Konfigurationen über Umgebungsvariablen} +%------------------------------------------------- + +\begin{verbatim} +GIT_EDITOR Editor den Git verwendet + sonst greift die Variable EDITOR +GIT_PAGER der wert cat schaltet den Pager aus +GIT_AUTHOR_EMAIL E-Mail für den Autor des Commits +GIT_COMMITTER_EMAIL E-Mail für das Commiter-Feld des Commits +GIT_AUTHOR_NAME Name für den Autor des Commits +GIT_COMMITTER_NAME Name für das Commiter-Feld des Commits +GIT_DIR Verzeichnis, in dem sich das Git-Repository befindet + macht nur sinn bei einem Git-Repository +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/mit_externen_repositorys_arbeiten.tex b/programmieren/git/mit_externen_repositorys_arbeiten.tex new file mode 100644 index 0000000..9cd462a --- /dev/null +++ b/programmieren/git/mit_externen_repositorys_arbeiten.tex @@ -0,0 +1,39 @@ +% master: mit_externen_repositorys_arbeiten.tex +% Mit externen Repositorys arbeiten v0.1 +% 2017-01-09 (Rx) + +\section{Mit externen Repositorys arbeiten} +%------------------------------------------ + +\begin{verbatim} +git clone git://git.kernel.org/pub/scm/git/git.git + git Repository herunterladen, Port 9418 +git clone file:///home/git/project.git Repository herunterladen, legt harte + Links an wenn möglich +git clone ssh://user@server/project.git ssh Repository herunterladen, Port 22 +git clone http(s)://example.com/gitproject.git + http(s) Repository herunterladen, + Port 80(443) +git remote -v zeigt an, welche externen Server für + das Projekt lokal konfiguriert sind +git remote add Name URL Remote Repository hinzufügen +git remote add origin ssh://git@sonne:/srv/git/linux.git + Beispiel +git fetch Name Informationen aus dem Remote Repository + herunterladen +git pull Name entspricht git fetch git merge +git checkout -b Branch origin/Branch erstellt einen lokalen bearbeitbaren + Branch +git push origin master Änderungen in ein Remote Repository + hochladen +git push Remote Branch Brauch auf Remote hochladen +git push Remote :Branch löschen entfernter Branches +git remote show Name zeigt die URL für das Remote + Repository, die Information welche + Branches verfolgt werden und welcher + Branch aus dem Remote Repository mit + dem eigenen Master zusammengeführt + wird, wenn Du git pull ausführst +git remote rename Name_alt Name_neu Name des Remote Repository lokal ändern +git remote rm Name Remote Repository entfernen +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/oeffentlicher_webserver-zugang.tex b/programmieren/git/oeffentlicher_webserver-zugang.tex new file mode 100644 index 0000000..8cf4685 --- /dev/null +++ b/programmieren/git/oeffentlicher_webserver-zugang.tex @@ -0,0 +1,41 @@ +% master: oeffentlicher_webserver-zugang.tex +% Öffentlicher Webserver-Zugang v0.1 +% 2017-01-09 (Rx) + +\section{Öffentlicher Webserver-Zugang} +%-------------------------------------- + +Anonymen Lese-Zugriff zu Deinem Projekt ermöglichen, per git clone +http://git.gitserver.loc/project.git. + +- Hook aktivieren + +\begin{verbatim} +cd project.git in das Projekt wechseln +mv hooks/post-update.sample hooks/post-update post-update umbenennen +chmod a+x hooks/post-update post-update ausfürbar machen +\end{verbatim} + +- VirtualHost Eintrag zur Apache-Konfiguration hinzufügen + +\begin{verbatim} + + ServerName git.gitserver.loc + ServerAdmin webmaster@localhost + DocumentRoot /srv/git +# +# Order allow, deny +# allow from all +# + + Options Indexes FollowSymLinks + AllowOverride None + Require all granted + + ErrorLog ${APACHE_LOG_DIR}/git.gitserver.loc-error.log + CustomLog ${APACHE_LOG_DIR}/git.gitserver.loc-access.log combined + +\end{verbatim} + +Nach dem nächsten push kann per "git clone http://git.gitserver.loc/project.git" +das Projekt anonym herunter geladen werden. diff --git a/programmieren/git/repository.tex b/programmieren/git/repository.tex new file mode 100644 index 0000000..4c733f1 --- /dev/null +++ b/programmieren/git/repository.tex @@ -0,0 +1,14 @@ +% master: repository.tex +% Repository v0.1 +% 2017-01-09 (Rx) + +\section{Repository} +%------------------- + +\begin{verbatim} +git init Beispiel Neues Repository herstellen, legt Verzeichnis Beispiel + an wenn nicht schon vorhanden + +git status zeigt den aktuellen Zustand an +git log die Commit Historie anzeigen +\end{verbatim} \ No newline at end of file diff --git a/programmieren/git/tags.tex b/programmieren/git/tags.tex new file mode 100644 index 0000000..16f68ac --- /dev/null +++ b/programmieren/git/tags.tex @@ -0,0 +1,23 @@ +% master: tags.tex +% Tags v0.1 +% 2017-01-09 (Rx) + +\section{Tags} +%------------- + +\begin{verbatim} +git tag vorhandene Tags anzeigen +git tag -a v1.4 -m 'my version 1.4' + einen kommentierten Tag anlegen +git tag -s v1.5 -m 'my signed 1.5 tag' + einen kommentierten und signierten Tag anlegen +git tag -v v1.4.2.1 einen signierten Tag zu verifizieren +git tag -a v1.2 -m 'version 1.2' Checksumme + im Nachhinein taggen, Checksumme des Commits + oder einen Teil davon angeben +git log --pretty=oneline Commit Historie mit Checksumme +git push origin v1.5 Tag veröffentlichen +git push origin --tags Tags veröffentlichen +git tag -d v1.5 Tag löschen +git push origin :refs/tags/v1.5 veröffentlichen Tag löschen +\end{verbatim} diff --git a/programmieren/java/action_events.tex b/programmieren/java/action_events.tex new file mode 100644 index 0000000..fc73659 --- /dev/null +++ b/programmieren/java/action_events.tex @@ -0,0 +1,20 @@ +% master: action_events.tex +% Action Events v0.1 +% 2011-06-08 (Rx) + +\subsection{Action Events} +%------------------------- + +\begin{verbatim} +public class myApplet extends Applet implements ActionListener {} + Schnittstelle ActionListener implementieren + +Button myButton = new Button("Knopf"); Button erstellen +this.add(myButton); Button setzen +myButton.addActionListener(this); Button mit ActionListener versehen + +public void actionPerformed(ActionEvent e) { Aufruf beim Anklicken des Button + String Klick = e.getActionCommand(); gibt die Aufschift des Button +} +\end{verbatim} + diff --git a/programmieren/java/applets_in_eine_webseite_einbinden.tex b/programmieren/java/applets_in_eine_webseite_einbinden.tex new file mode 100644 index 0000000..9f30010 --- /dev/null +++ b/programmieren/java/applets_in_eine_webseite_einbinden.tex @@ -0,0 +1,21 @@ +% master: applets_in_eine_webseite_einbinden.tex +% Applets in eine Webseite einbinden v0.1 +% 2011-06-08 (Rx) + +\subsection{Applets in eine Webseite einbinden} +%---------------------------------------------- + +\begin{verbatim} + + + Mein erstes Applet + + + + + + + + +\end{verbatim} + diff --git a/programmieren/java/arbeiten_mit_threads.tex b/programmieren/java/arbeiten_mit_threads.tex new file mode 100644 index 0000000..21a50a2 --- /dev/null +++ b/programmieren/java/arbeiten_mit_threads.tex @@ -0,0 +1,38 @@ +% master: arbeiten_mit_threads.tex +% Arbeiten mit Threads v0.1 +% 2011-06-08 (Rx) + +\subsection{Arbeiten mit Threads} +%-------------------------------- + +\begin{verbatim} +java.lang die Klasse Thread ist ein Bestandteil des Paketes + +public class Klasse implements Runnable {} neue Klasse über die + Schnittstelle Runnable erstellen + +run() Methode run() (Code des Threads) + muss überschrieben werden + +Klasse test = new Klasse(); In main(): Objekt der eigenen Klasse +test.start(); erstellen und Startmethode + aufrufen + +public void start() { + Thread myThread = new Thread(this); Objekt aus der Klasse Thrad + erstellen und deren Konstruktor + das aktuelle Objekt als + parameter übergeben + myThread.start(); Thread starten + ...; + myThread.stop(); Thread beenden +} + +myThread.sleep(x); Thread x Milisekunden pausieren + muss mit Ausnahme abgefangen + werden InterruptedException +myThread.suspend(); Thraed anhalten +myThread.resume(); Thread wieder starten +myThread.destroy(); Thread zerstören/anhalten +\end{verbatim} + diff --git a/programmieren/java/arithmetische_zuweisungsoperatoren.tex b/programmieren/java/arithmetische_zuweisungsoperatoren.tex new file mode 100644 index 0000000..f57888c --- /dev/null +++ b/programmieren/java/arithmetische_zuweisungsoperatoren.tex @@ -0,0 +1,17 @@ +% master: arithmetische_zuweisungsoperatoren.tex +% Arithmetische Zuweisungsoperatoren v0.1 +% 2011-06-08 (Rx) + +\subsection{Arithmetische Zuweisungsoperatoren} +%---------------------------------------------- + +\begin{verbatim} +Operator Beispiel Bedeutung +-------- -------- --------- ++= x += 3; x = x + 3; +-= x -= 3; x = x - 3; +*= x *= 3; x = x * 3; +/= x /= 3; x = x / 3; +%= x %= 3; x = x % 3; +\end{verbatim} + diff --git a/programmieren/java/arrays.tex b/programmieren/java/arrays.tex new file mode 100644 index 0000000..2416418 --- /dev/null +++ b/programmieren/java/arrays.tex @@ -0,0 +1,19 @@ +% master: arrays.tex +% Arrays v0.1 +% 2011-06-08 (Rx) + +\subsection{Arrays} +%------------------ + +\begin{verbatim} +int liste[] = new int[10]; schafft ein Array dass zehn verschiedene int- + Werte speichern kann +int Array[][] = new int[3][3]; schafft ein zweidimensionales Array +int liste[] = {3, 5, 7}; schaft ein Array mit 3 Werten +liste[0] = Wert; Wert des 1. Elements zuweisen +liste[0][0] = Wert; Wert des 1. Elements zuweisen +Wert = liste[0]; Wert des 1. Elements abrufen +Wert = liste[0][0]; Wert des 1. Elements abrufen +liste.length enthält die Länge des Arrays liste +\end{verbatim} + diff --git a/programmieren/java/ausnahmen.tex b/programmieren/java/ausnahmen.tex new file mode 100644 index 0000000..23b4132 --- /dev/null +++ b/programmieren/java/ausnahmen.tex @@ -0,0 +1,23 @@ +% master: ausnahmen.tex +% Ausnahmen (Exceptions) v0.1 +% 2011-06-08 (Rx) + +%\subsection{Ausnahmen (Exceptions)} +%----------------------------------- + +\begin{verbatim} +import java.io.*; +public class trycatchfinally { + public static void main(String args[]) { + Runtime mySystem = Runtime.getRuntime(); //Objekt Runtime erstellen + try{ //unsichere Anweisungen + mySystem.exec("xaos"); + } catch(IOException e) { //Fehlerbehandlung + System.err.println("Es ist ein Fehler aufgetreten: " + e); + } finally { //Anweisungen werden immer ausgeführt + System.out.println("Kritischer Bereich wurde ausgeführt!"); + } + } +} +\end{verbatim} + diff --git a/programmieren/java/bedingungen_und_entscheidungen.tex b/programmieren/java/bedingungen_und_entscheidungen.tex new file mode 100644 index 0000000..da50bff --- /dev/null +++ b/programmieren/java/bedingungen_und_entscheidungen.tex @@ -0,0 +1,22 @@ +% master: bedingungen_und_entscheidungen.tex +% Bedingungen und Entscheidungen v0.1 +% 2011-06-08 (Rx) + +\subsection{Bedingungen und Entscheidungen} +%------------------------------------------ + +\begin{verbatim} +if(Bedingung) { wenn Bedingung wahr dann Anweisungen + Anweisungen; if ( x != y ) { z++; } +} + +Operator Beschreibung +-------- ------------ +== Gleichheit +!= Ungleichheit +< kleiner als +> größer als +<= kleiner gleich +>= größer gleich +\end{verbatim} + diff --git a/programmieren/java/das_erste_java_applet.tex b/programmieren/java/das_erste_java_applet.tex new file mode 100644 index 0000000..e3aec00 --- /dev/null +++ b/programmieren/java/das_erste_java_applet.tex @@ -0,0 +1,17 @@ +% master: das_erste_java_applet.tex +% Das erste Java Applet v0.1 +% 2011-06-08 (Rx) + +\subsection{Das erste Java Applet} +%--------------------------------- + +\begin{verbatim} +import java.applet.*; +import java.awt.*; +public class MyApplet extends Applet { + public void paint(Graphics g) { + g.drawString("Mein erstes Applet !", 20, 40); + } +} +\end{verbatim} + diff --git a/programmieren/java/das_paket_java_util.tex b/programmieren/java/das_paket_java_util.tex new file mode 100644 index 0000000..10b6128 --- /dev/null +++ b/programmieren/java/das_paket_java_util.tex @@ -0,0 +1,11 @@ +% master: das_paket_java_util.tex +% Das Paket java.util v0.1 +% 2011-06-08 (Rx) + +%\subsection{Das Paket java.util} +%-------------------------------- + +\begin{verbatim} +import java.util.*; Paket einbinden +\end{verbatim} + diff --git a/programmieren/java/datentypen.tex b/programmieren/java/datentypen.tex new file mode 100644 index 0000000..108a0eb --- /dev/null +++ b/programmieren/java/datentypen.tex @@ -0,0 +1,19 @@ +% master: datentypen.tex +% Datentypen v0.1 +% 2011-06-08 (Rx) + +\subsection{Datentypen} +%---------------------- + +\begin{verbatim} +Typ Inhalt Standdartwert Größe Wertebereich +boolean True oder False False 1 Bit - +char Unicode Zeichen 0000 16 Bit 0000 bis FFFF (Hex.) +byte Ganzzahl mit Vorzeichen 0 8 Bit -256 bis 255 +short Ganzzahl mit Vorzeichen 0 16 Bit -32768 bis 32767 +int Ganzzahl mit Vorzeichen 0 32 Bit -2^31 bis 2^31-1 +long Ganzzahl mit Vorzeichen 0 64 Bit -2^63 bis 2^63-1 +float Kommazahl 0.0 32 Bit - +double Kommazahl 0.0 64 Bit - +\end{verbatim} + diff --git a/programmieren/java/dekrement_operator.tex b/programmieren/java/dekrement_operator.tex new file mode 100644 index 0000000..99527dc --- /dev/null +++ b/programmieren/java/dekrement_operator.tex @@ -0,0 +1,11 @@ +% master: dekrement_operator.tex +% Dekrement-Operator v0.1 +% 2011-06-08 (Rx) + +\subsection{Dekrement-Operator} +%------------------------------ + +\begin{verbatim} +x--; x = x - 1; +\end{verbatim} + diff --git a/programmieren/java/die_anweisung_import.tex b/programmieren/java/die_anweisung_import.tex new file mode 100644 index 0000000..da875a7 --- /dev/null +++ b/programmieren/java/die_anweisung_import.tex @@ -0,0 +1,15 @@ +% master: die_anweisung_import.tex +% Die Anweisung import v0.1 +% 2011-06-08 (Rx) + +%\subsection{Die Anweisung import} +%--------------------------------- + +\begin{verbatim} +import haus.wand.stein; import erlaubt es Klassen im Sourcecode +getAnzahl(); über einen gekürzten Namen anzuspechen + haus.wand.stein.getAnzahl() -> getAnzahl() + +import java.lang.*; importiert alle Bestandteile ins Programm +\end{verbatim} + diff --git a/programmieren/java/die_do_while_schleife.tex b/programmieren/java/die_do_while_schleife.tex new file mode 100644 index 0000000..93b106b --- /dev/null +++ b/programmieren/java/die_do_while_schleife.tex @@ -0,0 +1,14 @@ +% master: die_do_while_schleife.tex +% Die do - while - Schleife v0.1 +% 2011-06-08 (Rx) + +\subsection{Die do - while - Schleife} +%------------------------------------- + +\begin{verbatim} +do { int x=0; Anweisungen dann solange + Anweisungen; do { Bedingung wahr +} while(Bedingung); x++; Anweisungen + } while(x<10); +\end{verbatim} + diff --git a/programmieren/java/die_for_schleife.tex b/programmieren/java/die_for_schleife.tex new file mode 100644 index 0000000..6c22b39 --- /dev/null +++ b/programmieren/java/die_for_schleife.tex @@ -0,0 +1,15 @@ +% master: die_for_schleife.tex +% Die for - Schleife v0.1 +% 2011-06-08 (Rx) + +\subsection{Die for - Schleife} +%------------------------------ + +\begin{verbatim} +for(Initialisierung; Bedingung; Schleifenschritt) { solange Bedingung wahr + Anweisungen; Anweisungen +} for(x=0;x<10;x++) { + y++; + } +\end{verbatim} + diff --git a/programmieren/java/die_klasse_button.tex b/programmieren/java/die_klasse_button.tex new file mode 100644 index 0000000..1df49d1 --- /dev/null +++ b/programmieren/java/die_klasse_button.tex @@ -0,0 +1,14 @@ +% master: die_klasse_button.tex +% Die Klasse Button v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Button} +%----------------------------- + +\begin{verbatim} +Button myButton = new Button("Klick"); Buttonobjekt erschaffen + +setLabel() Beschriftung des Buttons ändern +getLabel() Beschriftung des Buttons auslesen +\end{verbatim} + diff --git a/programmieren/java/die_klasse_color.tex b/programmieren/java/die_klasse_color.tex new file mode 100644 index 0000000..5109a2f --- /dev/null +++ b/programmieren/java/die_klasse_color.tex @@ -0,0 +1,28 @@ +% master: die_klasse_color.tex +% Die Klasse Color v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Color} +%---------------------------- + +\begin{verbatim} +Color farbe = new Color(r,g,b); Farben erzeugen r=0-255 g=0-255 r=0-255 +Color dfarbe = farbe.darker(); nächst dunklere Farbe +Color hfarbe = farbe.brighter(); nächst hellere Farbe + +Konstante Frabe +--------- ----- +Clolor.white weiss +Clolor.yellow gelb +Clolor.orange orange +Clolor.grey grau +Clolor.pink pink +Clolor.red rot +Clolor.magenta magenta +Clolor.green grün +Clolor.blue blau +Clolor.darkGray dunkelgrau +Clolor.lightGray hellgrau +Clolor.black schwarz +\end{verbatim} + diff --git a/programmieren/java/die_klasse_date.tex b/programmieren/java/die_klasse_date.tex new file mode 100644 index 0000000..3ca30fc --- /dev/null +++ b/programmieren/java/die_klasse_date.tex @@ -0,0 +1,20 @@ +% master: die_klasse_date.tex +% Die Klasse Date v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Date} +%--------------------------- + +\begin{verbatim} +Date myDate = new Date(); Objekt Date erstellen + +toString() Datum in einen String umwandeln +getTime() UNIX-Timestamp, der die Sekunden seit dem + 1.1.1970 ausgibt +before() vergleicht das Datumsobjekt od es davor ist +after() vergleicht das Datumsobjekt od es danach ist +\end{verbatim} + +Erweiterte Funktionen rund um das Datum gibt es in der Klasse Calendar bzw. +DateFormat in der Java-API + diff --git a/programmieren/java/die_klasse_font.tex b/programmieren/java/die_klasse_font.tex new file mode 100644 index 0000000..404c824 --- /dev/null +++ b/programmieren/java/die_klasse_font.tex @@ -0,0 +1,22 @@ +% master: die_klasse_font.tex +% Die Klasse Font v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Font} +%--------------------------- + +\begin{verbatim} +Windows Java +------- ---- +Arial Helvetica +Courier New Corier +MS Sans Serif Dialog +Times New Roman TimesRoman +WingDings ZapfDingbats +Arial default + +Font f = new Font("art", stil, größe); neue Schrift erstellen + stil: plain(normal), + italic(kursiv), blod(fett) +\end{verbatim} + diff --git a/programmieren/java/die_klasse_graphics.tex b/programmieren/java/die_klasse_graphics.tex new file mode 100644 index 0000000..8a648e5 --- /dev/null +++ b/programmieren/java/die_klasse_graphics.tex @@ -0,0 +1,22 @@ +% master: die_klasse_graphics.tex +% Die Klasse Graphics v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Graphics} +%------------------------------- + +\begin{verbatim} +public void paint(Graphics g) { um in das Applet zu zeichnen + drawString("Text",x,y); Text im Applet ausgeben +} + +drawLine() Linie zeichnen +drawRect() Rechteck zeichnen +fillRect() gefülltes Rechteck zeichen +drawRoundRect() Rechteck mit abgerundeten Ecken zeichnen +fillRoundRect() gefülltes Rundeck zeichnen +drawOval() Kreis/Elipse zeichnen +fillOval() gefüllte/r Kreis/Elipse zeichnen +copyArea() kopieren eines sichtbaren Bereiches +\end{verbatim} + diff --git a/programmieren/java/die_klasse_image.tex b/programmieren/java/die_klasse_image.tex new file mode 100644 index 0000000..6a1202f --- /dev/null +++ b/programmieren/java/die_klasse_image.tex @@ -0,0 +1,13 @@ +% master: die_klasse_image.tex +% Die Klasse Image v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Image} +%---------------------------- + +\begin{verbatim} +Image myImage = getImage(getCodeBase(), "Bild.jpg"); Bildobjekt erschaffen + +drawImage() Bild anzeigen +\end{verbatim} + diff --git a/programmieren/java/die_klasse_math.tex b/programmieren/java/die_klasse_math.tex new file mode 100644 index 0000000..4bd9d7c --- /dev/null +++ b/programmieren/java/die_klasse_math.tex @@ -0,0 +1,15 @@ +% master: die_klasse_math.tex +% Die Klasse Math v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Math} +%--------------------------- + +\begin{verbatim} +Math.* bietet mathematische Funktionen +Math.E Eulersche Zahl +Math.PI PI +Math.random() Zufallszahl zwischen 0 und 1 +Math.round() rundet zu Ganzzahlen +\end{verbatim} + diff --git a/programmieren/java/die_klasse_object.tex b/programmieren/java/die_klasse_object.tex new file mode 100644 index 0000000..765a12b --- /dev/null +++ b/programmieren/java/die_klasse_object.tex @@ -0,0 +1,12 @@ +% master: die_klasse_object.tex +% Die Klasse Object v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Object} +%----------------------------- + +\begin{verbatim} +getClass() liefert die Klasse eines Objektes zurück +equals() vergleicht zwei Objekte gibt true oder false +\end{verbatim} + diff --git a/programmieren/java/die_klasse_random.tex b/programmieren/java/die_klasse_random.tex new file mode 100644 index 0000000..12efba5 --- /dev/null +++ b/programmieren/java/die_klasse_random.tex @@ -0,0 +1,21 @@ +% master: die_klasse_random.tex +% Die Klasse Random v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Random} +%----------------------------- + +\begin{verbatim} +Random zz = new Random(); Objekt Random erstellen + +Methode Bereich Typ +------- ------- --- +nextInt() -2^31 bis 2^31-1 int +nextLong() -2^63 bis 2^63-1 long +nextFloat() 0.0 bis 1.0 float +nextDouble() 0.0 bis 1.0 double + +nextGaussian() gibt eine Zufallszahl zurück, die nach dem Gauß- + Verfahren ermittelt wurde +\end{verbatim} + diff --git a/programmieren/java/die_klasse_runtime.tex b/programmieren/java/die_klasse_runtime.tex new file mode 100644 index 0000000..0375301 --- /dev/null +++ b/programmieren/java/die_klasse_runtime.tex @@ -0,0 +1,17 @@ +% master: die_klasse_runtime.tex +% Die Klasse Runtime v0.1 +% 2011-06-08 (Rx) + +%\subsection{Die Klasse Runtime} +%------------------------------- + +\begin{verbatim} +Um diese Klasse zu nutzen,muss mit getRuntime() erst ein Objekt erstellt werden! +Runtime mySystem = Runtime.getRuntime(); Objekt Runtime erstellen + +freeMemory() freier Speicher +totalMemory() gesamter Speicher +exit(0) Programm sofort mit Wert verlassen +exec() Systemprogramme starten (s. Exceptions) +\end{verbatim} + diff --git a/programmieren/java/die_klasse_stack.tex b/programmieren/java/die_klasse_stack.tex new file mode 100644 index 0000000..673e792 --- /dev/null +++ b/programmieren/java/die_klasse_stack.tex @@ -0,0 +1,15 @@ +% master: die_klasse_stack.tex +% Die Klasse Stack v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Stack} +%---------------------------- + +\begin{verbatim} +Stack myStack = new Stack(); Objekt Stack erstellen + +push() legt ein Objekt auf dem Stack ab +pop() holt das oberste Objekt vom Stack und löscht es +peek() holt das oberste Objekt vom Stack +\end{verbatim} + diff --git a/programmieren/java/die_klasse_string.tex b/programmieren/java/die_klasse_string.tex new file mode 100644 index 0000000..0bbb07f --- /dev/null +++ b/programmieren/java/die_klasse_string.tex @@ -0,0 +1,15 @@ +% master: die_klasse_string.tex +% Die Klasse String v0.1 +% 2011-06-08 (Rx) + +%\subsection{Die Klasse String} +%------------------------------ + +\begin{verbatim} +String s = "Hallo" + " Du !"; Strings zusammenfassen +charAt() gibt einen Buchstaben aus dem String zurück +indexOf() Position von Buchstaben/ketten feststellen +substring() String auseinanderschneiden +lenght() Länge eines Strings bestimmen +\end{verbatim} + diff --git a/programmieren/java/die_klasse_stringbuffer.tex b/programmieren/java/die_klasse_stringbuffer.tex new file mode 100644 index 0000000..e69bd64 --- /dev/null +++ b/programmieren/java/die_klasse_stringbuffer.tex @@ -0,0 +1,17 @@ +% master: die_klasse_stringbuffer.tex +% Die Klasse Stringbuffer v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Klasse Stringbuffer} +%----------------------------------- + +Um diese Klasse zu nutzen, muss erst ein Objekt erstellt werden! +\begin{verbatim} +Stringbuffer buffer = newStringbuffer(""); Objekt Stringbuffer erstellen + +setCharAt() änderrung eines bestimmten Buchstaben im String +delete() löscht Teile aus dem String +replace() ersetzt Teile im String +insert() setzt Teile im String ein +\end{verbatim} + diff --git a/programmieren/java/die_klasse_system.tex b/programmieren/java/die_klasse_system.tex new file mode 100644 index 0000000..4790004 --- /dev/null +++ b/programmieren/java/die_klasse_system.tex @@ -0,0 +1,15 @@ +% master: die_klasse_system.tex +% Die Klasse System v0.1 +% 2011-06-08 (Rx) + +%\subsection{Die Klasse System} +%------------------------------ +Standardeingabe - in, Standardausgabe - out, Fehlerausgabe - err + +\begin{verbatim} +System.out.println("Text") Text ausgeben + +byte[] b = new byte[80]; +System.in.read(b); Einlesen von Daten +\end{verbatim} + diff --git a/programmieren/java/die_methoden_eines_applets.tex b/programmieren/java/die_methoden_eines_applets.tex new file mode 100644 index 0000000..2f779f2 --- /dev/null +++ b/programmieren/java/die_methoden_eines_applets.tex @@ -0,0 +1,17 @@ +% master: die_methoden_eines_applets.tex +% Die Methoden eines Applets v0.1 +% 2011-06-08 (Rx) + +\subsection{Die Methoden eines Applets} +%-------------------------------------- + +\begin{verbatim} +init() wird automatisch bei der Initialisierung des Applets aufgerufen +start() wird automatisch aufgerufen, wenn das Applet im sichtbaren + Browser-Bereich erscheint +stop() wird automatisch aufgerufen, wenn das Applet den sichtbaren + Bereich verläßt +destroy() wird automatisch beim verlassen der Seite oder schließen des + Browsers aufgerufen +\end{verbatim} + diff --git a/programmieren/java/die_while_schleife.tex b/programmieren/java/die_while_schleife.tex new file mode 100644 index 0000000..a0a5440 --- /dev/null +++ b/programmieren/java/die_while_schleife.tex @@ -0,0 +1,14 @@ +% master: die_while_schleife.tex +% Die while - Schleife v0.1 +% 2011-06-08 (Rx) + +\subsection{Die while - Schleife} +%-------------------------------- + +\begin{verbatim} +while(Bedingung) { int x=0; solange Bedingung wahr + Anweisungen; while(x<10) { Anweisungen +} x++; + } +\end{verbatim} + diff --git a/programmieren/java/eigene_ausnahme_erzeugen.tex b/programmieren/java/eigene_ausnahme_erzeugen.tex new file mode 100644 index 0000000..1206d7d --- /dev/null +++ b/programmieren/java/eigene_ausnahme_erzeugen.tex @@ -0,0 +1,17 @@ +% master: eigene_ausnahme_erzeugen.tex +% Eigene Ausnahme erzeugen (throw) v0.1 +% 2011-06-08 (Rx) + +\subsection{Eigene Ausnahme erzeugen (throw)} +%-------------------------------------------- + +\begin{verbatim} +Methode(int zahl) { + if(zahl<0) { + throw(new Exception("Fehler!")); + } elese { + zahl++; + } +} +\end{verbatim} + diff --git a/programmieren/java/ein_applet_im_ueberblick.tex b/programmieren/java/ein_applet_im_ueberblick.tex new file mode 100644 index 0000000..fce31c1 --- /dev/null +++ b/programmieren/java/ein_applet_im_ueberblick.tex @@ -0,0 +1,30 @@ +% master: ein_applet_im_ueberblick.tex +% Ein Applet im Überblick v0.1 +% 2011-06-08 (Rx) + +\subsection{Ein Applet im Überblick} +%----------------------------------- + +\begin{verbatim} +import java.applet.*; +import java.awt.*; +public class newApplet extends Applet { + public void init() { + //initialisierung aller nötigen Werte für das Programm + } + public void start() { + //Start des Applets + } + public void paint(Graphics g) { + //Grafikausgabe über das Objekt g ! + } + public void stop() { + //Stop des Applets + } + public void destroy() { + //Ende des Applets + //Speicher wird freigegeben + } +} +\end{verbatim} + diff --git a/programmieren/java/eventhandling.tex b/programmieren/java/eventhandling.tex new file mode 100644 index 0000000..e2942e4 --- /dev/null +++ b/programmieren/java/eventhandling.tex @@ -0,0 +1,11 @@ +% master: eventhandling.tex +% Eventhandling v0.1 +% 2011-06-08 (Rx) + +%\subsection{Eventhandling} +%-------------------------- + +\begin{verbatim} +java.awt.event.*; Paket zur Ereignisbehandlung einbinden +\end{verbatim} + diff --git a/programmieren/java/fallunterscheidung_mit_switch_case.tex b/programmieren/java/fallunterscheidung_mit_switch_case.tex new file mode 100644 index 0000000..54f4883 --- /dev/null +++ b/programmieren/java/fallunterscheidung_mit_switch_case.tex @@ -0,0 +1,18 @@ +% master: fallunterscheidung_mit_switch_case.tex +% Fallunterscheidung mit switch - case v0.1 +% 2011-06-08 (Rx) + +\subsection{Fallunterscheidung mit switch - case} +%------------------------------------------------ + +\begin{verbatim} +switch(Ausdruck) { switch(2) { Route 2 also + case Wert1: Anweisungen1; case 1: x++; x = x - 1; + break; break; + case Wert2: Anweisungen2; case 2: x--; + break; break; + case Wert3: Anweisungen3; } + break; +} +\end{verbatim} + diff --git a/programmieren/java/funktion_von_java.tex b/programmieren/java/funktion_von_java.tex new file mode 100644 index 0000000..8a26dac --- /dev/null +++ b/programmieren/java/funktion_von_java.tex @@ -0,0 +1,20 @@ +% master: funktion_von_java.tex +% Funktion von Java v0.1 +% 2011-06-08 (Rx) + +\begin{verbatim} + +---------------+ +--------------------------+ +---------------------+ + | Programm Code |->| Java Compiler (java.exe) |->| Bytecode (01010011) | + +---------------+ +--------------------------+ +---------------------+ + | | + V V + +--------------+ +--------------+ + | Ineterpreter | | Browser/ | + | (java.exe) | | Appletviewer | + +--------------+ +--------------+ + +javac.exe progammcode.java -> programmcode.class Programm compilieren +java.exe programmcode Programm ausführen +appletviewer.exe Applets ausführen +\end{verbatim} + diff --git a/programmieren/java/if_else_bedingungen.tex b/programmieren/java/if_else_bedingungen.tex new file mode 100644 index 0000000..c58241b --- /dev/null +++ b/programmieren/java/if_else_bedingungen.tex @@ -0,0 +1,15 @@ +% master: if_else_bedingungen.tex +% if - else - Bedingungen v0.1 +% 2011-06-08 (Rx) + +\subsection{if - else - Bedingungen} +%----------------------------------- + +\begin{verbatim} +if(Bedingung) { wenn Bedingung wahr dann Anweisungen1 sonst Anweisungen2 + Anweisungen1; if ( x != y ) { z++; } else { z--; } +} else { + Anweisungen2; +} +\end{verbatim} + diff --git a/programmieren/java/inkrement_operator.tex b/programmieren/java/inkrement_operator.tex new file mode 100644 index 0000000..1cc7b26 --- /dev/null +++ b/programmieren/java/inkrement_operator.tex @@ -0,0 +1,11 @@ +% master: inkrement_operator.tex +% Inkrement-Operator v0.1 +% 2011-06-08 (Rx) + +\subsection{Inkrement-Operator} +%------------------------------ + +\begin{verbatim} +x++; x = x + 1; +\end{verbatim} + diff --git a/programmieren/java/java.tex b/programmieren/java/java.tex new file mode 100644 index 0000000..71251f6 --- /dev/null +++ b/programmieren/java/java.tex @@ -0,0 +1,115 @@ +% master: java.tex +% Java v0.1 +% 2011-06-08 (Rx) + +\chapter{Java} + +\section{Funktion von Java} +%-------------------------- +\input{programmieren/java/funktion_von_java} + +\section{Sprache und Syntax von Java} +%------------------------------------ +\input{programmieren/java/kommentrare} +\input{programmieren/java/datentypen} +\input{programmieren/java/variablen} + +\section{Pakete und Verzeichnisstrukturen} +%----------------------------------------- +\input{programmieren/java/sichtbarkeit_und_Zugriffsrechte_von_klassen_und_methoden} +\input{programmieren/java/klassen} +\input{programmieren/java/konstruktoren_und_destruktoren} +\input{programmieren/java/methoden_ueberladen} +\input{programmieren/java/objekte} +\input{programmieren/java/vererbung} +\input{programmieren/java/schnittstellen} + +\section{Elementare Syntax von Java} +%----------------------------------- +\input{programmieren/java/operratoren} +\input{programmieren/java/verknuepfungsoperatoren} +\input{programmieren/java/inkrement_operator} +\input{programmieren/java/dekrement_operator} +\input{programmieren/java/arithmetische_zuweisungsoperatoren} +\input{programmieren/java/bedingungen_und_entscheidungen} +\input{programmieren/java/if_else_bedingungen} +\input{programmieren/java/verschachtelte_bedingungen} +\input{programmieren/java/fallunterscheidung_mit_switch_case} + +\section{Schleifen} +%------------------ +\input{programmieren/java/die_while_schleife} +\input{programmieren/java/die_do_while_schleife} +\input{programmieren/java/die_for_schleife} +\input{programmieren/java/schleifen_mit_break_verlassen} +\input{programmieren/java/schleife_mit_continue_wiederholen} + +\section{Komplexe Datentypen} +%---------------------------- +\input{programmieren/java/arrays} + +\section{Die Anweisung import} +%----------------------------- +\input{programmieren/java/die_anweisung_import} + +\section{Java eigene Klassen} +%---------------------------- +\input{programmieren/java/die_klasse_math} + +\section{Die Klasse Object} +%-------------------------- +\input{programmieren/java/die_klasse_object} + +\section{Die Klasse Runtime} +%--------------------------- +\input{programmieren/java/die_klasse_runtime} + +\section{Die Klasse String} +%-------------------------- +\input{programmieren/java/die_klasse_string} + +\section{Die Klasse Stringbuffer} +%-------------------------------- +\input{programmieren/java/die_klasse_stringbuffer} + +\section{Die Klasse System} +%-------------------------- +\input{programmieren/java/die_klasse_system} + +\section{Das Paket java.util} +%---------------------------- +\input{programmieren/java/das_paket_java_util} +\input{programmieren/java/die_klasse_date} +\input{programmieren/java/die_klasse_random} +\input{programmieren/java/die_klasse_stack} + +\section{Ausnahmen (Exceptions)} +%------------------------------- +\input{programmieren/java/ausnahmen} +\input{programmieren/java/eigene_ausnahme_erzeugen} + +\section{Multitasking mit Threads} +%--------------------------------- +\input{programmieren/java/arbeiten_mit_threads} + +\section{Applets} +%---------------- +\input{programmieren/java/applets_in_eine_webseite_einbinden} +\input{programmieren/java/das_erste_java_applet} +\input{programmieren/java/die_methoden_eines_applets} +\input{programmieren/java/ein_applet_im_ueberblick} +\input{programmieren/java/pakete} +\input{programmieren/java/die_klasse_graphics} +\input{programmieren/java/die_klasse_color} +\input{programmieren/java/die_klasse_font} +\input{programmieren/java/die_klasse_image} +\input{programmieren/java/die_klasse_button} + +\section{Eventhandling} +%---------------------- +\input{programmieren/java/eventhandling} +\input{programmieren/java/mouse_events} +\input{programmieren/java/action_events} +\input{programmieren/java/parameter_an_ein_applet} +\input{programmieren/java/weitere_wichtige_pakete} + diff --git a/programmieren/java/klassen.tex b/programmieren/java/klassen.tex new file mode 100644 index 0000000..bed928b --- /dev/null +++ b/programmieren/java/klassen.tex @@ -0,0 +1,28 @@ +% master: klassen.tex +% Klassen v0.1 +% 2011-06-08 (Rx) + +\subsection{Klassen} +%------------------- + +\begin{verbatim} +class Klasse Klassendeklaration +{ + ... +} + +public class Klasse öffendliche Klassendeklaration +{ -ohne public ist die Klasse automatisch "privat" + ... +} + +package Paketklasse; Klassen zusammenfassen d.h. Paketklasse.Klasse +public class Klasse +{ + ... +} + +package Paket.Paketklasse Oberklassen zusammenfassen d.h. + Paket.Paketklasse.Klasse +\end{verbatim} + diff --git a/programmieren/java/kommentrare.tex b/programmieren/java/kommentrare.tex new file mode 100644 index 0000000..cedb796 --- /dev/null +++ b/programmieren/java/kommentrare.tex @@ -0,0 +1,15 @@ +% master: kommentrare.tex +% Kommentrare v0.1 +% 2011-06-08 (Rx) + +\subsection{Kommentrare} +%----------------------- + +\begin{verbatim} +/* Kommentar-Anfang +*/ Kommentar-Ende +// Einzeiliger Kommentar ohne Ende + +; Anweisung abschließen +\end{verbatim} + diff --git a/programmieren/java/konstruktoren_und_destruktoren.tex b/programmieren/java/konstruktoren_und_destruktoren.tex new file mode 100644 index 0000000..8122b11 --- /dev/null +++ b/programmieren/java/konstruktoren_und_destruktoren.tex @@ -0,0 +1,22 @@ +% master: konstruktoren_und_destruktoren.tex +% Konstruktoren und Destruktoren v0.1 +% 2011-06-08 (Rx) + +\subsection{Konstruktoren und Destruktoren} +%------------------------------------------ + +\begin{verbatim} +class Klasse Konstruktor +{ ----------- + public Klasse() Methode die beim Erschaffen eines neuen Objektes + { automatisch aufgerufen wird + ... + } Destruktor + ---------- + protected void finalize() Methode die beim Löschen eines alten + { Objektes automatisch aufgerufen wird + ... + } +} +\end{verbatim} + diff --git a/programmieren/java/methoden_ueberladen.tex b/programmieren/java/methoden_ueberladen.tex new file mode 100644 index 0000000..a1b5ae8 --- /dev/null +++ b/programmieren/java/methoden_ueberladen.tex @@ -0,0 +1,21 @@ +% master: methoden_ueberladen.tex +% Methoden überladen v0.1 +% 2011-06-08 (Rx) + +\subsection{Methoden überladen} +%------------------------------ + +\begin{verbatim} +class Klasse +{ + Methode() Dieselbe Metode mehrmals mit unterschielichen + { Parametern schaffen + ... + } + Methode(int var) Dieselbe Metode mehrmals mit unterschielichen + { Parametern schaffen + ... + } +} +\end{verbatim} + diff --git a/programmieren/java/mouse_events.tex b/programmieren/java/mouse_events.tex new file mode 100644 index 0000000..43083c1 --- /dev/null +++ b/programmieren/java/mouse_events.tex @@ -0,0 +1,32 @@ +% master: mouse_events.tex +% Mouse Events v0.1 +% 2011-06-08 (Rx) + +\subsection{Mouse Events} +%------------------------ + +\begin{verbatim} +public class myApplet extends Applet implements MouseListener {} + Schnittstelle MouseListener implementieren + +Methode Aufgabe +------- ------- +mousePressed() Maustaste wird gedrückt +mouseReleased() Maustaste wird losgelassen +mouseClicked() Mausklick +mouseEntered() Maus bewegt sich in das Applet +mouseExited() Maus verlässt das Applet + +addMouseListener(this); Listener soll auf das gesamte Applet achten + +public void mousePressed(mouseEvent e) { + int x = e.getX(); Maustaste an X gedrückt + int y = e.getY(); Maustaste an Y gedrückt +} + +addMouseMotionListener(this); MotionListener soll auf das Applet achten + +mouseMoved() bewegte Mausereignisse +mouseDragged() +\end{verbatim} + diff --git a/programmieren/java/objekte.tex b/programmieren/java/objekte.tex new file mode 100644 index 0000000..9cc093c --- /dev/null +++ b/programmieren/java/objekte.tex @@ -0,0 +1,12 @@ +% master: objekte.tex +% Objekte v0.1 +% 2011-06-08 (Rx) + +\subsection{Objekte} +%------------------- + +\begin{verbatim} +objekt Neuobjekt = new objekt(); Neues Objekt Neuobjekt von der Klasse + objekt erstellen +\end{verbatim} + diff --git a/programmieren/java/operratoren.tex b/programmieren/java/operratoren.tex new file mode 100644 index 0000000..a6a3c5d --- /dev/null +++ b/programmieren/java/operratoren.tex @@ -0,0 +1,12 @@ +% master: operratoren.tex +% Operratoren v0.1 +% 2011-06-08 (Rx) + +\subsection{Operratoren} +%----------------------- + +\begin{verbatim} +x = 10; Das Gleichheitszeichen weist immer den rechten Wert dem auf + der linken Seite zu +\end{verbatim} + diff --git a/programmieren/java/pakete.tex b/programmieren/java/pakete.tex new file mode 100644 index 0000000..d233229 --- /dev/null +++ b/programmieren/java/pakete.tex @@ -0,0 +1,14 @@ +% master: pakete.tex +% Pakete v0.1 +% 2011-06-08 (Rx) + +\subsection{Pakete} +%------------------ + +\begin{verbatim} +java.awt dient zur Bearbeitung und Ausgabe von Grafiken und + Fensterelementen in Applikationen und Applets + (advanced window toolkit) +java.applet eine Grundvoraussetzung für ein Applet +\end{verbatim} + diff --git a/programmieren/java/parameter_an_ein_applet.tex b/programmieren/java/parameter_an_ein_applet.tex new file mode 100644 index 0000000..0f28147 --- /dev/null +++ b/programmieren/java/parameter_an_ein_applet.tex @@ -0,0 +1,18 @@ +% master: parameter_an_ein_applet.tex +% Parameter an ein Applet v0.1 +% 2011-06-08 (Rx) + +\subsection{Parameter an ein Applet} +%----------------------------------- + +\begin{verbatim} + + Parameter1 + Parameter2 + + + +String var1 = getParameter("var1"); Parameter1 an den String var1 +String var2 = getParameter("var2"); und var2 übergeben +\end{verbatim} + diff --git a/programmieren/java/schleife_mit_continue_wiederholen.tex b/programmieren/java/schleife_mit_continue_wiederholen.tex new file mode 100644 index 0000000..9bf80d9 --- /dev/null +++ b/programmieren/java/schleife_mit_continue_wiederholen.tex @@ -0,0 +1,14 @@ +% master: schleife_mit_continue_wiederholen.tex +% Schleife mit continue wiederholen v0.1 +% 2011-06-08 (Rx) + +\subsection{Schleife mit continue wiederholen} +%--------------------------------------------- + +\begin{verbatim} +for(x=0;x<10;x++) { Die Schleife wird vor dem y++ wiederholt + continue; + y++; +} +\end{verbatim} + diff --git a/programmieren/java/schleifen_mit_break_verlassen.tex b/programmieren/java/schleifen_mit_break_verlassen.tex new file mode 100644 index 0000000..6513ec1 --- /dev/null +++ b/programmieren/java/schleifen_mit_break_verlassen.tex @@ -0,0 +1,14 @@ +% master: schleifen_mit_break_verlassen.tex +% Schleifen mit break verlassen v0.1 +% 2011-06-08 (Rx) + +\subsection{Schleifen mit break verlassen} +%----------------------------------------- + +\begin{verbatim} +for(x=0;x<10;x++) { Die Schleife wird vor dem y++ verlassen + break; + y++; +} +\end{verbatim} + diff --git a/programmieren/java/schnittstellen.tex b/programmieren/java/schnittstellen.tex new file mode 100644 index 0000000..bfed001 --- /dev/null +++ b/programmieren/java/schnittstellen.tex @@ -0,0 +1,21 @@ +% master: schnittstellen.tex +% Schnittstellen v0.1 +% 2011-06-08 (Rx) + +\subsection{Schnittstellen} +%-------------------------- + +\begin{verbatim} +public interface Klasse { Schnittstelle erschaffen + Methodenkopf(); + Variablen; +} + +class NeuKlasse extends Klasse implements IntKlasse neue Klasse NeuKlasse + herstellen + alle sichtbaren Eigenschaften + und Methoden werden übernommen + und die Schnittstelle IntKlasse + hinzufügen +\end{verbatim} + diff --git a/programmieren/java/sichtbarkeit_und_Zugriffsrechte_von_klassen_und_methoden.tex b/programmieren/java/sichtbarkeit_und_Zugriffsrechte_von_klassen_und_methoden.tex new file mode 100644 index 0000000..80ef94a --- /dev/null +++ b/programmieren/java/sichtbarkeit_und_Zugriffsrechte_von_klassen_und_methoden.tex @@ -0,0 +1,28 @@ +% master: sichtbarkeit_und_Zugriffsrechte_von_klassen_und_methoden.tex +% Sichtbarkeit und Zugriffsrechte von Klassen und Methoden v0.1 +% 2011-06-08 (Rx) + +\subsection{Sichtbarkeit und Zugriffsrechte von Klassen und Methoden} +%-------------------------------------------------------------------- + +\begin{verbatim} +public Klasse, Methode oder Variable die überall sichtbar ist +protected Methode oder Variable die nur im eigenen Paket und + abgeleiteten Klassen sichtbar ist +default Klasse, Methode oder Variable die Sichtbarkei beschrängt + sich auf das eigen Paket +private protected Methode oder Variable die nur in abgeleiteten Klassen + sichtbar ist +private Methode oder Variable die nur in der eigenen Klasse + sichtbar ist + +Zugriff public protected default private protected private +------- ------ --------- ------- ----------------- ------- +Zugriff ... +... im selben Paket Ja Ja Ja Nein Nein +... von anderen Paketen Ja Nein Nein Nein Nein +Vererbt ... +... Klassen im selben Paket Ja Ja Ja Ja Nein +... Klassen an andere Pakete Ja Ja Nein Ja Nein +\end{verbatim} + diff --git a/programmieren/java/variablen.tex b/programmieren/java/variablen.tex new file mode 100644 index 0000000..76dfc0b --- /dev/null +++ b/programmieren/java/variablen.tex @@ -0,0 +1,22 @@ +% master: variablen.tex +% Variablen v0.1 +% 2011-06-08 (Rx) + +\subsection{Variablen} +%--------------------- + +\subsubsection{Variable deklarieren} +%----------------------------------- +\begin{verbatim} +boolean myBool; +int x = 32; +double y = 3.2; +char buchstabe; +\end{verbatim} + +\subsubsection{Variabeln ansprechen} +%----------------------------------- +\begin{verbatim} +this.buchstabe; bezieht sich auf die aktuelle Klasse +\end{verbatim} + diff --git a/programmieren/java/vererbung.tex b/programmieren/java/vererbung.tex new file mode 100644 index 0000000..c2b5ed2 --- /dev/null +++ b/programmieren/java/vererbung.tex @@ -0,0 +1,13 @@ +% master: vererbung.tex +% Vererbung v0.1 +% 2011-06-08 (Rx) + +\subsection{Vererbung} +%--------------------- + +\begin{verbatim} +public class NeuKlasse extends Klasse {} neue Klasse NeuKlasse herstellen + alle sichtbaren Eigenschaften + und Methoden werden übernommen +\end{verbatim} + diff --git a/programmieren/java/verknuepfungsoperatoren.tex b/programmieren/java/verknuepfungsoperatoren.tex new file mode 100644 index 0000000..6c782d8 --- /dev/null +++ b/programmieren/java/verknuepfungsoperatoren.tex @@ -0,0 +1,17 @@ +% master: verknuepfungsoperatoren.tex +% Verknüpfungsoperatoren v0.1 +% 2011-06-08 (Rx) + +\subsection{Verknüpfungsoperatoren} +%---------------------------------- + +\begin{verbatim} +Operator Bedeutung Beispiel +-------- --------- -------- ++ Addition 7 = 3 + 4; +- Subtraktion 1 = 7 - 6; +* Multiplikation 6 = 2 * 3; +/ Division 3 = 9 / 3; +% Modulo(Rest) 1 = 9 % 4; +\end{verbatim} + diff --git a/programmieren/java/verschachtelte_bedingungen.tex b/programmieren/java/verschachtelte_bedingungen.tex new file mode 100644 index 0000000..e9db9c4 --- /dev/null +++ b/programmieren/java/verschachtelte_bedingungen.tex @@ -0,0 +1,17 @@ +% master: verschachtelte_bedingungen.tex +% Verschachtelte Bedingungen v0.1 +% 2011-06-08 (Rx) + +\subsection{Verschachtelte Bedingungen} +%-------------------------------------- + +\begin{verbatim} +if(Bedingung1) { wenn Bedingung1 und Bedingung2 dann Anweisungen1 + if(Bedingung2){ sonst Anweisungen2 + Anweisungen1; if( x != y ) { if( a < b ){z++;} } else { z--; } + } +} else { + Anweisungen2 +} +\end{verbatim} + diff --git a/programmieren/java/weitere_wichtige_pakete.tex b/programmieren/java/weitere_wichtige_pakete.tex new file mode 100644 index 0000000..a9830a6 --- /dev/null +++ b/programmieren/java/weitere_wichtige_pakete.tex @@ -0,0 +1,16 @@ +% master: weitere_wichtige_pakete.tex +% Weitere wichtige Pakete v0.1 +% 2011-06-08 (Rx) + +\subsection{Weitere wichtige Pakete} +%----------------------------------- + +\begin{verbatim} +java.net Klassen und Schnittstellen für Netzwerkentwicklung +java.beans wieder verwentbare Komponenten +java.security erhöte Sicherheit innerhalb von Applikationen/Applets +java.rmi Verteilung eines Programms auf mehrere Rechner +java.sql Anbindung an SQL-Datenbanken +java.servlet Applikationen die serverseitig laufen +\end{verbatim} + diff --git a/programmieren/javascript/arrays.tex b/programmieren/javascript/arrays.tex new file mode 100644 index 0000000..16279a1 --- /dev/null +++ b/programmieren/javascript/arrays.tex @@ -0,0 +1,12 @@ +% master: arrays.tex +% Arrays v0.1 +% 2011-06-08 (Rx) + +\subsection{Arrays} +%------------------ + +\begin{verbatim} +Variable = new Array Array erzeugen +Variable[0] = "hallo" Wert zuweisen +\end{verbatim} + diff --git a/programmieren/javascript/ausfuehren_bei_bestimmten_aktionen.tex b/programmieren/javascript/ausfuehren_bei_bestimmten_aktionen.tex new file mode 100644 index 0000000..38dcdbd --- /dev/null +++ b/programmieren/javascript/ausfuehren_bei_bestimmten_aktionen.tex @@ -0,0 +1,18 @@ +% master: ausführen_bei_bestimmten_aktionen.tex +% Ausführen bei bestimmten Aktionen v0.1 +% 2011-06-08 (Rx) + +\subsection{Ausführen bei bestimmten Aktionen} +%--------------------------------------------- + +\begin{verbatim} + + + + + Beim Laden wird der JavaScript-Quelltext + ausgeführt + + +\end{verbatim} + diff --git a/programmieren/javascript/bedingte_ausfuehrung.tex b/programmieren/javascript/bedingte_ausfuehrung.tex new file mode 100644 index 0000000..e30566b --- /dev/null +++ b/programmieren/javascript/bedingte_ausfuehrung.tex @@ -0,0 +1,14 @@ +% master: bedingte_ausfuehrung.tex +% Bedingte Ausführung v0.1 +% 2011-06-08 (Rx) + +%\subsection{Bedingte Ausführung} +%-------------------------------- + +\begin{verbatim} +if(Ausdruck) wenn der Ausdruck stimmt, +{ + Anweisung-en1 Anweisung-en1 +} +\end{verbatim} + diff --git a/programmieren/javascript/eigene_objekte.tex b/programmieren/javascript/eigene_objekte.tex new file mode 100644 index 0000000..15a9c05 --- /dev/null +++ b/programmieren/javascript/eigene_objekte.tex @@ -0,0 +1,22 @@ +% master: eigene_objekte.tex +% Eigene Objekte v0.1 +% 2011-06-08 (Rx) + +\subsection{Eigene Objekte} +%-------------------------- + +\begin{verbatim} +function person(name, alter) { Funktion + this.name = name zum + this.alter = alter Objekt +} anlegen + +var meier = new person("Geier Meier", 18) Objekt erzeugen +meier.name = "Mr. Geier Meier" Wert ändern +meier.alter = 20 Wert ändern + +meier = new Object Objekt erzeugen +meier.vorname = "Geier" Wert zuweisen +meier.nachname = "Meier" Wert zuweisen +\end{verbatim} + diff --git a/programmieren/javascript/einbindung_in_den_body.tex b/programmieren/javascript/einbindung_in_den_body.tex new file mode 100644 index 0000000..1bdaddb --- /dev/null +++ b/programmieren/javascript/einbindung_in_den_body.tex @@ -0,0 +1,20 @@ +% master: einbindung_in_den_body.tex +% Einbindung in den Body v0.1 +% 2011-06-08 (Rx) + +\subsection{Einbindung in den Body} +%---------------------------------- + +\begin{verbatim} + + + + + + Beendet den JavaScript-Quelltext + + +\end{verbatim} + diff --git a/programmieren/javascript/einbindung_in_den_head.tex b/programmieren/javascript/einbindung_in_den_head.tex new file mode 100644 index 0000000..d712c73 --- /dev/null +++ b/programmieren/javascript/einbindung_in_den_head.tex @@ -0,0 +1,23 @@ +% master: einbindung_in_den_head.tex +% Einbindung in den Head v0.1 +% 2011-06-08 (Rx) + +\subsection{Einbindung in den Head} +%---------------------------------- + +\begin{verbatim} + + + + Beendet den JavaScript-Quelltext + + + + +\end{verbatim} + diff --git a/programmieren/javascript/event_handler.tex b/programmieren/javascript/event_handler.tex new file mode 100644 index 0000000..e344518 --- /dev/null +++ b/programmieren/javascript/event_handler.tex @@ -0,0 +1,21 @@ +% master: event_handler.tex +% Event-Handler v0.1 +% 2011-06-08 (Rx) + +%\subsection{Event-Handler} +%-------------------------- + +\begin{verbatim} +onLoad="Aktion" Beim Laden Aktion ausführen +onUnload="Aktion" Beim Schließen Aktion ausführen +onMouseOver="Aktion" Beim Überfahren Aktion ausführen +onMouseOut="Aktion" Beim Verlassen Aktion ausführen +onFocus="Aktion" Beim Setzen des Cursors auf das Element + (Einsatz in Formularen) +onBlur="Aktion" Beim Verlassen des Elementes +onChange="Aktion" Beim Verlassen des Elementes wenn verändert +onClick="Aktion" Beim Anklicken eines Formularelements +Verweistext +onSubmit="Aktion" Beim Senden eines Formulares Aktion ausführen +\end{verbatim} + diff --git a/programmieren/javascript/funktionen.tex b/programmieren/javascript/funktionen.tex new file mode 100644 index 0000000..292c237 --- /dev/null +++ b/programmieren/javascript/funktionen.tex @@ -0,0 +1,27 @@ +% master: funktionen.tex +% Funktionen v0.1 +% 2011-06-08 (Rx) + +%\subsection{Funktionen} +%----------------------- + +\begin{verbatim} +function Name(var1,var2) Definiert eine Funktion mit dem Name +{ + alert(var2) Hier kommt der Funktionsinhalt rein +} + +return("Hallo") Hallo zurück geben + +alert("Text") Öffnet ein Fenster und gibt den Text aus +uhrzeit=new Date() Datum und Uhrzeit in das Objekt uhrzeit + schreiben +st=uhrzeit.getHours() Stunden aus dem Objekt uhrzeit der Variable + st zuweisen +min=uhrzeit.getMinutes() Minuten aus dem Objekt uhrzeit der Variable + min zuweisen +setTimeout("Funktion",Millisekunden) Funktion nach Millisekunden aufrufen + +Math.random() +\end{verbatim} + diff --git a/programmieren/javascript/javascript.tex b/programmieren/javascript/javascript.tex new file mode 100644 index 0000000..0cfc810 --- /dev/null +++ b/programmieren/javascript/javascript.tex @@ -0,0 +1,47 @@ +% master: javascript.tex +% JavaScript v0.1 +% 2011-06-08 (Rx) + +\chapter{JavaScript} + +\section{Einbindung von JavaScript} +%---------------------------------- +\input{programmieren/javascript/einbindung_in_den_head} +\input{programmieren/javascript/einbindung_in_den_body} +\input{programmieren/javascript/ausfuehren_bei_bestimmten_aktionen} + +\section{Variablen} +%------------------ +\input{programmieren/javascript/variablen} + +\section{Objekte} +%-------------------------- +\input{programmieren/javascript/standardobjekte} +\input{programmieren/javascript/string_objekt} +\input{programmieren/javascript/eigene_objekte} +\input{programmieren/javascript/arrays} + +\section{Mathematische Operationen} +%---------------------------------- +\input{programmieren/javascript/mathematische_operationen} + +\section{Bedingte Ausführung} +%---------------------------- +\input{programmieren/javascript/bedingte_ausfuehrung} + +\section{Schleifen} +%------------------ +\input{programmieren/javascript/schleifen} + +\section{Event-Handler} +%---------------------- +\input{programmieren/javascript/event_handler} + +\section{Funktionen} +%------------------- +\input{programmieren/javascript/funktionen} + +\section{Reservierte Wörter} +%--------------------------- +\input{programmieren/javascript/reservierte_woerter} + diff --git a/programmieren/javascript/mathematische_operationen.tex b/programmieren/javascript/mathematische_operationen.tex new file mode 100644 index 0000000..5bb213b --- /dev/null +++ b/programmieren/javascript/mathematische_operationen.tex @@ -0,0 +1,17 @@ +% master: mathematische_operationen.tex +% Mathematische Operationen v0.1 +% 2011-06-08 (Rx) + +%\subsection{Mathematische Operationen} +%------------------------------------- + +\begin{verbatim} +c = a + b Addition +a++ ; a = a + 1 +c = a - b Subtraktion +a-- ; a = a - 1 +c = a * b Multiplikation +c = a / b Division +a = Math.round(b) Ganzzahlige Rundung +\end{verbatim} + diff --git a/programmieren/javascript/reservierte_woerter.tex b/programmieren/javascript/reservierte_woerter.tex new file mode 100644 index 0000000..e4c8584 --- /dev/null +++ b/programmieren/javascript/reservierte_woerter.tex @@ -0,0 +1,67 @@ +% master: reservierte_woerter.tex +% Reservierte Wörter v0.1 +% 2011-06-08 (Rx) + +%\subsection{Reservierte Wörter} +%------------------------------ + +\begin{verbatim} +abstract +boolean +break +byte +case +catch +char +class +const +continue +debugger +default +delete +else +enum +export +extends +false +final +finally +float +for +function +goto +if +implements +import +in +instanceof +int +interface +long +native +new +null +package +private +protected +public +return +short +static +super +switch +synchronized +this +throw +throws +transient +true +try +typeof +var +void +volatile +while +with +\end{verbatim} + diff --git a/programmieren/javascript/schleifen.tex b/programmieren/javascript/schleifen.tex new file mode 100644 index 0000000..bfcbad2 --- /dev/null +++ b/programmieren/javascript/schleifen.tex @@ -0,0 +1,20 @@ +% master: schleifen.tex +% Schleifen v0.1 +% 2011-06-08 (Rx) + +%\subsection{Schleifen} +%---------------------- + +\begin{verbatim} +for(Ausdruck1;Ausdruck2;Ausdruck3) Ausdruck1 einmal ausführen +{ so lange der Ausdruck2 stimmt, + vorher noch Ausdruck3 + Anweisug-en Anweisung-en +} + +while(Ausdruck) so lange der Ausdruck stimmt, +{ + Anweisung-en Anweisung-en +} +\end{verbatim} + diff --git a/programmieren/javascript/standardobjekte.tex b/programmieren/javascript/standardobjekte.tex new file mode 100644 index 0000000..4ecbdf1 --- /dev/null +++ b/programmieren/javascript/standardobjekte.tex @@ -0,0 +1,71 @@ +% master: standardobjekte.tex +% Standardobjekte v0.1 +% 2011-06-08 (Rx) + +\subsection{Standardobjekte} +%--------------------------- + +\begin{verbatim} +document.write("Hallo") Hallo auf der Seite ausgeben +document.writeln("Hallo") Hallo auf der Seite mit Zeilenumruch + ausgeben +document.close() Schreiben schließen + +document.bgColor=("ffffff") Hintergrunffarbe +document.fgColor=("000000") Fordergrundfarbe +document.linkColor=("00ff00") Neuer Link +document.vlinkColor=("ffff00") Besuchter Link +document.alinkColor=("ff0000") Aktiver Link + +document.referrer URL von der aufgerufen wurde +document.location URL der Datei selber +document.title Titel der Seite + +document.Name.src="bild2.gif" um auf + das Bild zuzugreifen + +document.forms[0].Name.value Formular 1(0); aktueller Text im + Eingabefeld auslesen oder überschreiben +document.forms[0].Name.defaultValue Defaultwert auslesen oder überschreiben +document.forms[0].Name.select() Text im Eingabefeld makieren +document.forms[0].Name.focus() Cursor in das Eingabefeld setzen + +document.forms[0].Name[0].checked Radio-Checkbuttons liest oder schreibt, + ob ein Button ausgewählt ist +document.forms[0].Name[0].defaultChecked + Voreinstellung eines Button lesen oder + schreiben + nicht markiert markiert + 0 1 + false true + +document.forms[0].Name.options[0].selectedIndex + Auswahlliste auslesen oder schreiben +document.forms[0].Name.options[0].value Wert auslesen oder schreiben + +parent.frames[0].location.href= Frameinhalt ändern 0 -> Frame 1 +"frame.htm" +parent. verzweigt in den nächsthöheren Frame +top. verzweigt in den höchsten Frame im + Browser +frames[n] verzweigt auf die nächstniedrigere Stufe + in den Frame mit dem Index n + +window.status=("Hallo") Hallo in der Statusleiste ausgeben + +myWindow=window.open("Dateiname","Fenstername","Eigenschaften") + Öffnet ein neues Fenster +Eigenschaften: width=(Pixel) gibt die Breite an + height=(Pixel) gibt die Höhe an + resizable=yes/no größe des Fensters veränderbar ? + menubar=yes/no Menüleiste vorhanden ? + toolbar=yes/no Buttonleiste vorhanden ? + location=yes/no Adresszeile vorhanden ? + status=yes/no Statuszeile vorhanden ? + scrollbars=yes/no Bildlaufleiste vorhanden ? + dependent=yes/no Vom aktuellen Fenster abhängig ? + +myWindow.close() Schließt das neue Fenster +myWindow.closed Zugriff auf den Fensterzustand +\end{verbatim} + diff --git a/programmieren/javascript/string_objekt.tex b/programmieren/javascript/string_objekt.tex new file mode 100644 index 0000000..b098183 --- /dev/null +++ b/programmieren/javascript/string_objekt.tex @@ -0,0 +1,14 @@ +% master: string_objekt.tex +% String-Objekt v0.1 +% 2011-06-08 (Rx) + +\subsection{String-Objekt} +%------------------------- + +\begin{verbatim} +String.length Anzahl der Zeichen des Strings +String.substring(Anfang,Ende) Gibt den Anfang bis Ende des Strings zurück +String.toLowerCase Wandelt alle Buchstaben in Kleinbuchstaben +String.toUpperCase Wandelt alle Buchstaben in Großbuchstaben +\end{verbatim} + diff --git a/programmieren/javascript/variablen.tex b/programmieren/javascript/variablen.tex new file mode 100644 index 0000000..f7f664c --- /dev/null +++ b/programmieren/javascript/variablen.tex @@ -0,0 +1,20 @@ +% master: variablen.tex +% Variablen v0.1 +% 2011-06-08 (Rx) + +%\subsection{Variablen} +%---------------------- + +\begin{verbatim} +var GlobaleVariable Globale Variable deklarieren +function() { + var LokaleVariable Lokale Variable deklarieren +} + +var variable Variable deklarieren +variable = "Wert" Wert zuweisen +var zahl=9 Variable deklarieren und Wert zuweisen + ++ Verketten +\end{verbatim} + diff --git a/programmieren/perl/perl.tex b/programmieren/perl/perl.tex new file mode 100644 index 0000000..843d323 --- /dev/null +++ b/programmieren/perl/perl.tex @@ -0,0 +1,13 @@ +% master: perl.tex +% Perl v0.2 +% 2011-05-27 (Rx) + +\chapter{Perl} + +%\section{Perl} +%------------- + +\begin{verbatim} +perl -v überprüfen ob Perl installiert ist +\end{verbatim} + diff --git a/programmieren/programmieren.tex b/programmieren/programmieren.tex new file mode 100644 index 0000000..029e858 --- /dev/null +++ b/programmieren/programmieren.tex @@ -0,0 +1,13 @@ +% master: programmieren.tex +% Programmieren v0.7 +% 2017-01-09 (Rx) + +\part{Programmieren} +\input{programmieren/bash/bash} +\input{programmieren/git/git} +\input{programmieren/c/c} +\input{programmieren/tcltk/tcltk} +\input{programmieren/perl/perl} +\input{programmieren/cgi_perl/cgi_perl} +\input{programmieren/java/java} +\input{programmieren/javascript/javascript} diff --git a/programmieren/tcltk/tcltk.tex b/programmieren/tcltk/tcltk.tex new file mode 100644 index 0000000..b02b0f3 --- /dev/null +++ b/programmieren/tcltk/tcltk.tex @@ -0,0 +1,42 @@ +% master: tcltk.tex +% Tcl/Tk v0.3 +% 2011-05-27 (Rx) + +\chapter{Tcl/Tk} + +%\section{Tcl/Tk} +%--------------- + +\begin{verbatim} +wish startet den Tcl/Tk-Interpeter +exit beendet den Tcl/Tk-Interpeter + +wish Programm.tcl startet das Programm.tcl + +button .name Option/en Knopf definieren Optionen: + -text "Aufschrift" Knopf-Aufschrift + -text [Befehl] Knopf-Aufschrift vom Befehl + -command {Befehl} Knopf-Befehl + Befehl: z.B. exec ls oder exec xterm -e vi & + -relief flat Knopf flach + -relief raised Knopf erhoben + -relief sunken Knopf eingedrückt + -relief ridge Knopf Band erhoben + -relief groove Knopf Band eingedrückt + -padx Pixelzahl Abstand zum Rand in x-Richtung + -pady Pixelzahl Abstand zum Rand in y-Richtung + -image [ image create photo -file Bildname ] + Knopf mit gif, ppm oder pgm + -foreground Farbe Schriftfarbe "#rgb"->"#ff0000" oder red + -fg Farbe Abkürzung für -foreground Farbe + -background Farbe Knopffarbe + -bg Farbe Abkürzung für -background Farbe + -width Pixelbreite Knopfbreite + -height Pixelhöhe Knopfhöhe + -font Zeichensatz Schrift für den Knopf + +pack .name Option/en Knopf anzeigen Option: + -fill x Knopf an die Fensterbreite anpassen + -expand true Knopf im großen Fenster aufteilen +\end{verbatim} + diff --git a/vorwort/vorwort.tex b/vorwort/vorwort.tex new file mode 100644 index 0000000..987efb3 --- /dev/null +++ b/vorwort/vorwort.tex @@ -0,0 +1,9 @@ +% master: vorwort.tex +% Befehle v0.1 +% 2011-05-31 (Rx) + +\chapter{Vorwort} +%---------------- + +Habe versucht alles so kurz wie möglich aber dennoch ausführlich zu Beschreiben +und wie immer aus verschiedenen Anleitugen abgeschrieben ;-)