cvsclient.ps   [plain text]


%!PS-Adobe-2.0
%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
%%Title: cvsclient.dvi
%%Pages: 34
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: CMBX12 CMR10 CMSL10 CMTT10 CMSY10 CMCSC10 CMTI10 CMTT12
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o cvsclient.ps cvsclient.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2005.04.18:1236
%%BeginProcSet: texc.pro
%!
/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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/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
/p{show}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: f7b6d320.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10
%     cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8
%     cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10
%     cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10
%
/TeXf7b6d320Encoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
/suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen
/period /slash /zero /one /two /three /four /five /six /seven /eight
/nine /colon /semicolon /exclamdown /equal /questiondown /question /at
/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X
/Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: 09fbbfac.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9
/TeX09fbbfacEncoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown
/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla
/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam
/quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon /less
/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright
/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l
/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright
/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi
/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown
/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: bbad153f.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9
%
/TeXbbad153fEncoding [
/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
/plusminus /minusplus /circleplus /circleminus /circlemultiply
/circledivide /circledot /circlecopyrt /openbullet /bullet
/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal
/greaterequal /precedesequal /followsequal /similar /approxequal
/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
/prime /infinity /element /owner /triangle /triangleinv /negationslash
/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection
/unionmulti /logicaland /logicalor /turnstileleft /turnstileright
/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
/backslash /wreathproduct /radical /coproduct /nabla /integral
/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
/circlemultiply /circledivide /circledot /circlecopyrt /openbullet
/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
/lessequal /greaterequal /precedesequal /followsequal /similar
/approxequal /propersubset /propersuperset /lessmuch /greatermuch
/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: 0ef0afca.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmr5
%
/TeX0ef0afcaEncoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi
/dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls
/ae /oe /oslash /AE /OE /Oslash /suppress /exclam /quotedblright
/numbersign /dollar /percent /ampersand /quoteright /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /quotedblleft
/bracketright /circumflex /dotaccent /quoteleft /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /endash /emdash
/hungarumlaut /tilde /dieresis /suppress /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda
/Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup
/arrowdown /quotesingle /exclamdown /questiondown /dotlessi /dotlessj
/grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe
/oslash /AE /OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: 74afc74c.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10
%
/TeX74afc74cEncoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
/suppress /exclam /quotedblright /numbersign /sterling /percent
/ampersand /quoteright /parenleft /parenright /asterisk /plus /comma
/hyphen /period /slash /zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: texps.pro
%!
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
%%BeginFont: CMTT12
%!PS-AdobeFont-1.1: CMTT12 1.0
%%CreationDate: 1991 Aug 20 16:45:46
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-1 -234 524 695}readonly def
/UniqueID 5000833 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB
9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE
306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371
CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666
1353CC1FC512D59DFF847ACCD058E2058E262194FA3370E876BBB803BCC8625B
FEA75F80C584C37CA1EF920769DA84EF49D0484B701482D5C38FB9D1837AB128
53B63FDD7F91AB9122AF52009C6FEFA14B0C8F6BC51ADC1EA9F2BAAFC89CA857
F8729B34AC4E1071C04B1C6F67AC1EA6C1B966333C8B07EC6CBB56670C43857A
8091B31A2A602EBBBEBDEEDCE3F345E2F4BD86139157DB73CED37B8C7AA89DE1
BFBBFB140B7AF76BDEAACA285E99475E35C6092390F585B4F6DB559F621E71C9
E4F497F8386A043CCECD5B45CE0CCA5C17652386CA645C3BB1AA092DF880B140
F40E3917F0A85B09FBA333C407891ED5C2701BEC1E416D2EA31ED3ECABC6FA83
562AA93473658013D41573B0F16B09345E85D0DB2E90F8D34B353196CC3CD826

0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTI10
%!PS-AdobeFont-1.1: CMTI10 1.00B
%%CreationDate: 1992 Feb 19 19:56:16
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMTI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-163 -250 1146 969}readonly def
/UniqueID 5000828 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
592943209E846E55B4CB54F6658CBA3C0B29796D69D0435D5431ABECF3448C15
98CA2F36F3659E29AEB79355EC2ADF835CF0886C21B766B9DEBC3950B5B3B496
2E06D980A8C60305B273232D4604F12632FB4F1B2F9703952C823C098543AED1
CFB4ECF259A11985F0C944A57B5AFD853374FCF12305601200C2A393E2FC77FD
F78C2BE0E5562B7D270E50562384744A40016091F95B88F8C282D699485A5078
701D5637B57045D3B8D88592D1199B29B44BD86665F7975C88EB15DF7760E557
221DB88CE1B9FAF9D058EC399909AE67C4B9FE4AB048CBBE69BDD10D9088A64D
C9CF2D84DCF694E31A8C9E6EB2201CD70E7434492DFC753E1E30673FD2CFAF21
E094674C885FD89722F122FA179A041FE9C04296D892B499E4FDD62B87075D6D
29DA832F4657F82B490B735995D4D001568B1E36F8F8B9CE0DE41FABF6BD735A
6059EDE8AD5A36D3C895CD25D4CD3579F9B3A522166587EA1350C294E31A6381
8AE30FBA1BA497762BAFEEC3C13EC45F0B1C56BDF926EB6660B3B00E093570B4
58444F2EB4FE9589633832DF3B3B6033CD46F371ECDF4C812B5FACE8CC84820D
1F349DD458952AFACB59F2FC9C6DBF08209CF159A817D31D6CAF109A9B37AA53
2C41820A0D0AC4B1B7697D684FC48EADA2210CD6370AB0B667023B271725F3C2
67DF6EBC641F08CAE8C6AFAD295367009294CA74EB3A58EC58EA70DA965B51D8
29C25645125EF072AAA05FF406BCFC0B8177D6FFD41E1232CD89CD8A8A950B52
BD06107529C5376997AF5BDAF348765C1A0D0CBCF507DE93FE3B43207405291E
E6FB4920D369B259232367B5DCAFB3CFDDD0433B70D7D5EE958CD22EE6460F4E
5B4E270960388C3791104E83293885ACBBBB5994E3678ABA2BE1763A847B2DF9
FB7D696CAD22B8AD54E607D8D1E5C7BFED037D3D8D0321587CBA7FCC588F58D4
277CF79A844FE17AD5615174F122D0BD55F245BAB0861F91AA73DC82A9B14283
229D325E9C948119C17AEA089901CBAAB3874DF78ABC94C0F4DDBD60159FA338
25216F74447B41205DD96E986AF9CF9CA52F46A7010BEF3D07FB0E7F1757C8E2
13D0F278A59023A405ED7BECB6181EC768FF664686520D517402F661F6824E9E
7DE34ED772E5CD4C4AB52EA6C7933503CBD0F162953FE33215E6DBA43F43F553
BC3C8064AD5C7BEB3E8001A7C815B407D10DEB0359C98CD573686DBB9AB5A0E1
02655602A8F4F7FF9EE4F96F83C3C15D6016D1D1E134EE38A146C6D624D52DDF
20591C61B4465FEBD75B8024E9C49C131AAAD50738137D78A9BED26901187038
42A19E2CFDED1B9847B674051A6C19AC1F4E8D366708CC425C1377A54610B65A
11BE58FA096BB58EDB22C76A1BE7DCC040DB35880DA2BCE4FE9E277B477CA773
DA2CD070601D4D8967804294A3624388655C94889F2E560D6D2405444DC4481D
04D5404F73E0E0AD84097FB632DAB4B415764F201687D04A9786D8ED275AB097
EC139D4173AF623AE97DCFCC41005BAF918A0B4CCF83482425140C6798C92054
74AF3A02808AEB83EF4497519290FAFE1FAD8AD07347CAF8EE5C53485C7BE8A5
584E256671432DB64BCC9B883CBA982D7D370BFAE2176F3F12C39A66F8547D8E
805DE78BAA495EDC109FCCDBA6D995DFE0E400EEA4DD1A0C5CF9C8CF8EA8F5E4
DC7A74B2D93BE672E5E2BC8E5880A0EA3EC07C3C15A47E9AA60DFF612A9FA597
C5A87AF21D1C6A769045187882D9699D24A0FF729EE2B3A7B70719B7D2E85C34
75228253F48F0FD605B03AE89F23A1130154FC6A8F2D2088A8545F7A937532D7
7F37E9808632CF73F4D71DBEEC754DC9D3FA97D8E011B15283ACAAFE07A7D122
10FFCE01271F17110DF5EDFC88DE98FEA0CAE04093A8B726FE4CCA7D13793D55
6DAA2C74C81461411BCA80B0A5E184460FAB35F6C9628B351EBE5FA491E4704D
4F8308C1438D19F2FFAB8C2A36246698D691689EF2EAADC28D0122174FFE4ACD
3ED77F4048F1419E88549D9070FAF3E3669D44D359521D84A9B939791B941A47
F9F140348EE0F3341FB982793447849C1D3E6555CEFE92E6B31CCAE1401F4B78
7228859AD6DE5A11A8E546A570B1069F13975509EEA3CAD4490F7B31519A23B6
AE99ED852BB59B02313787A8277EBD91A1964170597F83F3B8E878096927F145
0F0AB56416D901B38DD62D59B72C1E64AA99C6ACCC4E058530B86DE07A413AC7
CB75741F094F3B242B19D1915DB126CA75C14028A0D45B583B735E79725EA0E7
A0D6EEE9A04BFAD409BC60E155781E253A5E7A06C962F467E92FEEF294BF922E
3819A214A70F4594A9A53276D0787485D056BB8979F31D5966A95CA644C7530F
AE6D53017BD0EE25F6AC348ECA19AE2C0061815918AD3F10829348F1328B0BB4
0E94CA000D6FE4D5F296CB647AF3C1BDAF398D3767AF92F7BB86F877A8E1450B
E7AF27F1C131FFBFF444
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMBX12
%!PS-AdobeFont-1.1: CMBX12 1.0
%%CreationDate: 1991 Aug 20 16:34:54
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMBX12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMBX12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-53 -251 1139 750}readonly def
/UniqueID 5000769 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
331F181ADF18CB8EF6A61B074D88A7D4D0D9C3F5D6C2FC59C86EBEF110EA3B39
3686C7574CBEF61F8A4E28D75E72BAE2BC9B868FD76EFDB1151A86592373FDE9
6442A49931AC5FC3A878F39A2F8C758FC22111876790635927173B282F357440
CC6159BE6B5965CB4C59C4EC5245DF11A9DAC10FC6077A31D0051696B06FA4B0
2FC615CFCEF68DB862584BE43036502C8AA2DF298F081AAF195ED1135E049DD5
C08E89D0222148FD898E07A8DFAA041BA6378441F833A776C487FD4EED8C0442
22B650150A07BB3A66FFB43D6E1ACFF8CF9515B38A8FD5A3244FD41DE0065498
DCE83D8053A99B842D746CB3966D9190F10847335EA5917104596A032E019058
C87C368B787B4664C9E499E0C0F784A6924154EEA8C11CE5DB8C831BD4128697
C2336CAC8FF3800297792147F953F2C4D31A6DFE6F3F7E14D53B2D690154ED25
5C7F5A5EEE6619983B4FC612EFD06F39992063AEB8DA959566A600F535EEF776
69FA3B218E073825B99A728029748B4DCA509A07EA939939EB06E8839178BE92
C96D028BBAEBC61433336AA6CBF454441A3377C1E4EB1F5BBD8DCD017B813460
3E3F58B4307608D40776A13A5B015FAA0BD5EDB33EB1C1818EEE87C8AD4EA150
0CA8B062788EE70EFEC5B13185F1EDA5BBDE3F3EFCFD2CC21D5D0DD6D1EB759F
31CABBCA575B98AAE9011A5E88306B87F0D11C5BC1A0064EF655C03B3B577073
7F81E04D872D6AC82F6892C7265C48232AAAF0714DE240AA3E44BFD51451D876
896FC7ABFAE01C76B37D1186BB127B883E2F649F11F67260A305A74653580A4D
98F99903E202514B6C63228AD485A93658DAB7595F961BF21DD421EABE680F7D
4C1D2E7CAD07E734629EB473052B61BA44A005DAAB5DEED2A4F1A34C07FD11A4
F34A859EA200F2BE7CF82DF3367577710F529D3A8EE4AFD3663C07E23C35096D
B5251A2FE9E01A294391B59E0745E23025D4132C302B20DB7174C222AF4338B9
C563258EBFC3D31A4662CE9AD04DC641D538838A0A8DE77349C4684F64C7D044
EE5189861CC19B9D7C6E98FCFA96352844FFB57468210E954B4A67F893803631
7B52B3FEC9D7B64D5603646E8ECBF244880A4210B9AFC6AA481FAF7E44F6C1F3
B9E20599D693E9A91E2D9905A5B68DEA64C7AB537251B32CE30961B17D8581DF
BE267DD1B1B46C85C5473D4C40DE4B168C4B03F2D99917A13E2261EF513BC74F
3BBAC82D3162FD2A54AC84367B88A43616D2F600A38D0A3E2DE63CC0114808FF
11B4F4B42D876598179159B267203590DC2D0C30DCB4AC5016C61E920939FF0F
8D43CFB3BE60DCE870AD81D913A38B601A7B8D57EA3FCEC19271E468E91882CA
BBB06F2655919646E3827164F6D22D5C07F55E7AEFD52B594996A9800BB17729
9CAD418EAE06CFA7EF36A47B225B6FC4E52FD330E5770EAB555212CB2BDA62C7
56AB3F144FF277A47E21FE1BFF85EE228508CF8705B4C4B6D7587A993C62E0D7
941CD6D1D91D9705C99DFCB60E0BA99A1DB0958009D9B39B71A9DE7AC22BCD28
ADE16C1956D65FFD80487FE41E56C05010DCFAE173CC9CB04C362D2AA83823CF
41A81D1AD8094F5ECCC88EE767F9F11D776A79106EF72D3F059858716E30DF82
642C707024EB858A9A93B1C5C17C6ACF76059375B10F21B3A9AA9566B3FD2A07
2827A4DB94197F2192757BF0F3E98E547E2319D93A6262C721F765A0D065F1DD
A21EDDE401E4B07F9A09A9BCB24B3FAEE47BB4DA046EB643325A9991E818211B
1B2781867629B28C67F14F1145DCE41B6014EEF47B5D4F5998FCB04509A290AA
393439569D5F9EBF6E176E64A8CDF7DA87426DD9F85A7295DCB45A6E3900CBF6
FFD7AF30B8FD5BF43C2F23CE132C2870891194602E6F947B41F5DE6AE63DA77C
29C7A540988CCF51295E670FFFB9BDC17688373D7335F9F3185CCCCBAA38D8C4
573105A233A4494342864E4B7DA3FF47868FD3D1A97461600901F89692DCEFCE
A5822535414EF7532B3471834638B5AC27CDD586DCBF55C6E8C3E133845D458D
76ADCE9F935C70F9F781F8CBDF9D8A49C170914CF1B495D1DEE856A94E54184D
D9E940571EBABDBA618C61B60B31FF94A4F4E27BF1BE62BEDC156D75C1407A01
2EED61A24D11865CF33AC8EBF6A0F623FC9A3FB0C0022EAFC5C248CB8160DC89
B03242014EF36B4E453049682DB2BF83C6CDD2D5DA6813D2EE1EA9C2CD19CCF8
6DCEDC50544BB47D6E6ABEDB1025E53FD8FE8A31A136118FCD4C1DECCE9FA1D8
A71ECD4F0730EDD2875FF332F12C66348ACABD7FF5D7AACCFDDE7CEF206E4A84
3518CFC935DB647FE8CC74EA743BCE9149C60EF8920BE6D2ECE2FED396759B51
2EA854A3335C5517CBB1FB2194CDB31C1E1726A623CC24C149CEA5E1D407A705
8A0040C4A90CCCF956A0A7D095AE8F026B21D76881B8FA6C7304BE9C4C1B4FBF
E302D0708C98CCE757A5DDE53A5323E96C9E91331D806D2F5B51ACEE64967492
8778227F373B46301D86D87CA8EA1EC9A80195B7FB751B3671A34580037D06D6
BAB663DBFF747BEB738C165FDAB82BEF1080B3408FAB3B0B0CD52E9A7385858F
28FB925543724ECF2572F9981BF9B5D84DDF021332786AFE94F32AE4AC53E4A0
65B3FFAB7991633F4F4AF3001FD693662E81D625C5068073DDFF44DE96C3AEA2
1EA4B76DEFBE98B1F017D8C7DB2C343EFA4773BB9B2BF13616C92BB5C392EEB0
19FA78AA3F091E1569E71ED06E207E9D953DCCC630DA6FE04388CF9CE0648A16
F43037E13415B96D29BA51C4C0367C96DC4DF0E26B23DD2DAFF9FF713E0AACF2
AA2D4DFEA915F1583C898A0ABB9EF595C9B33F6CE7EFD00CBD60AD82765C216D
D5E79419968FC54AD19D7C3D5B7E128BAB8A3F14740FB9EEB362F209ABC5085E
C8C1257A3D2B23B6D074ED1FC0315D1B3C44EA2F7AC536F9486964A7E9888B4B
1B5F999A2FF6EFA15A293F6308F21B96F0799B31610BFDEB7522241CCE67E377
713B32900C3BD1493A6BA6EE47D8DEFE3A611F4A5F1230CE236F813853B8FB67
A5C70FB7270F4C039B72C56A88D07BE144B3B152368DBD063C2A5E67FAE3CD0F
1710A1E8E274D3F4F34629094252993EDC3A59D96CEFB703E8FA7769251316F2
4D8B39AE68A03B2059C355CA350C91F3BB838A5C986A5A836CC60D9E22709A63
785958E8F9B09B37436204541C8552D52BC4CEE699C448B9139B209D1D02BDFE
59F490620DAD18F13DA8BBD782C8926129A08AFF4D21E066DB6D9933FC5F7A65
B1FC2FA4AE31E1D0AC68F2A2069401B40CFEDC07A3C2DB81C529C8E7BC01142C
7CBC0E87BD2B2DACDD2F94781B39BFDCBB514611F0F5B2422AFF437C9CF7D29C
9E5A70F4F3ED72910FD77B1E1E8E7A635B216DB07EEC8B522FE791EB6FAD39BC
B56C935BFD183BA8FA49B2A05A0A15083A6D2666A75F50475D71AE4A790BD96D
01FC5729874DBD36A0202169F909BAA8E68AB8F9209A31DE13929C100AE9DA17
54CCE3CF66CFDF2702FE2CFCBBA049343E484D9655DDA991EA23A8B45863D368
9FB56CE02FC42519A24C7F44ED375DEF9F69E8516944ECC330AC770E51AE037A
7B8F52C29CF1B4585B681C6C7A4B142DE4C21CF25867192DF36399C9E201196D
11998658BDA4AED0EB4B6D302D50ACBB78795ABF49F694BC3F566A353693BC0A
4AABAEDB1F62A6F64CFF368074D7183BA745656B1061F637F7D38CEA586C3E12
EE887DF8F04CFE11619BB87FFE880BD31CA261C5DEA9DCE9B17E91C682B06794
B2CEA8B7E5323EFDCADA6D6439E94013C8C8536B89C5D5CF5AA7C59288E9552C
FDE03C8E72D0D84BDFB90B72CF7B7E8D27E5A370749E9DAAE1B2D25266A1D67C
341796EE5C902D4AC9A3409C8F898372F5530A6EA0C405BEEA617C5F8E4537C3
3D67F945B3BE4EE4274A608935842CA7E7D552ADBDA72D005509AF2A40F15ED3
97F421940078F1912BA27C6B7796C368E2C6B66AF5ED5D7FCAD712454BB0C7BE
843226B663FFBB66B13A53C49956356CF298D32066D7DD657CF8AA464A547E73
BBC0608635A70DDF1FC4A15ABE7A5A24DFF994A536975713701419ACCAF3474C
77EBCAE18D36F2866EBA48BE38D4DB73457BBF796E26EE4EB3F2291AA66E14E5
7D10F48299874F885404B1207359E56646F609DDEE323BAD58DD2FD7A5E591C9
8D2D4A7FD6E408A67E303F0D41CC63309E6C54A25789F2C261F87B8D962D3AEA
82BC2E427FC9FB9DA712A32FF073A025F262784A2DDF37FE90C255D26D4083DC
C3D8E2FDB774E02030E1DB8C3AAED9F97037307CDE7472C3148C200AE701C144
039949C94CE0045147696D9DEB3A8534CDCD87419F75352DF522CA49B42A4532
4CF304C6B9296046C0ADE96E609D83B40141DE0863B4A782E06DD9F721685042
47A6919BA073DE9A17A3575A614041905FE5A7D12D5322FC50056EC2441CD888
0154C578AA45FCA276C741681F292234B7F98AA68587DCD80C6358967D9E90D9
3DE7C6E304065A7C14005056B37F5867C73B768D0768A404DC865F06BE31EA5E
790F1D9C8F6937D0B3F169670B4348FC2DFEB68C5295E71F3382B742E01CE3D5
059D0A53820F15AF447EF993A7BC9AB274B38E82C1D976F71E081627F94934F5
4101CE9C528CBCFA7563CEBF23C7B3305BE2DF4BD8A2A71500BA758A37CBCD58
6530C20B1CEC3AEC1A6FC6B2D775EF594FF9D286E0FED9F7C02407B6E6136597
BA7F56F6966CE91D9BAB62D0C6E830B39301827E48BA7B77D97A60394E818315
33ABF778A53042047CB3C06C84AA011C6FCCEBC5EF05BA1B4512E0553515C5EF
E88DA5385D176BF53255CAF2F42EE06AD4DCE219C0B1DA5756F033E1812C1906
C0323FC1AD7FD1087CB2486321291F44F080D242899F05E06842F46BDFD781BF
E881AF46FC7D1F88A22CEDE8D4F0A6EA955B52A081C48577EC03AC019EF6C156
20F2569F0D47915EBC35A8213A2CD3FD1BEE08AADFD2D6B7DE8B7678DF3DC11B
47472EC500A1C55545141B17BF801F2BB89BC76996E345C35CBB07982F06B546
23672A2A8992909032F686D5BE5DFFFB8BBCAF7AC67A2ECB95484B889755751D
28B541EF71B0CABB5E3620168469BBAF27F9E2AF0AF380E89F955951A79AB367
25484E9E615A46CB36FE856A1C103D80AC50AEF0C83C3ABE021AEF677EEDA632
E77426B78F2FCF886F2B08ECFB3AAF110038C8671F6352574EE5203E9953CAAE
88D65C431BA4CC498FB56A661D7DA319D62FA8384FD1F012EF97DEF082FC9B2C
152744D3E82DD0DCC11D26B065049C88B95144B82F5DCEA783EFE549842D6D64
A693287C1563FA5B48DF9F38E2BDD44F8C8B49FB6A737375B35BAAED83811AFA
F948637591A2731DCD82DB340E414A19A001451143B4F6F454BD2CF92A0AE026
1680A8AB2A4ADEBEBF810D4863DFE682B5D58F13F581ECD4285A63225A99B02B
55C965F1BE451E8022111C2F7B379DAA842F949B547EF4F8882D9A18D3549A8A
E80133D3AB813793A09F50686A8293E2DFCAE25CCD51CD2667A47B0979E85AE7
1EBC2E5048F44B7F7732A28593FE1957CD21AFE4B6B040119A1741F433D1FB04
A3001FA6173477A87106351EB9017E67098F7E951543FD2E7295FAF9D02204DE
3A5E0529510F14D00AA9A62CC2831F8526A1644D74C14DB4489BF4D6780B6861
18AF2E5BB5B94650D94CE540B235733FD2EFCA0D17A37E9BBCB902AE77B33D02
49C6CC5056CDAF1C8448E43D1FDAB8761AFD88EE8790089EE0720D9D032A1FF4
FB63B39BA07D8B949D9DF0EFBEFAB242B2144C0431A367485BAB03C284D8D500
E83CF22DEC0817CE0B7F49BDF9803A34D52A9BF689B82A609C928CB0A876B9A9
AD9E4F2C4C3E469357516D831EF48A8021CD4EF2B6EA56D46ABEEEE2CB9549EA
BCFF56A297440CA398B5AF48BF418739444F0880527F87CAB6106A43E1A336A0
776F216BB2A49D8BFAF7F359C68A4FDAC1D803F5160B33130749617C2B24A495
3F0FC81172F1CCA12E45864C3F7E26D6B581EA56E4DE924D5818BD77A1B9C09B
77B7142AC54217073B71F1E4B04D3D721B72AB37F10DC68EA35AA684128D120F
B22EAED95985FAD9033DEA70722538E1EF73A7AF83D16C4501181153F9888192
1FE25C94C506FEBA42C67A191133C24736DC2C822271DA3653DAE512B92D8502
C9A4968E4EDAA0D5E117D1279371AFF156CF5F9B1DD6764E85A9C336A252A1AA
018E815360303CD3A30F4F66B9D543483B7BC921B2AE68822496934B55F1A5F4
378B22E55E5F9F67BE18F980892D9C2E883B83EA203353BE7742397F58F989C4
A64347919B10839BC06923511F0B51C044B906AC9065CB8A29F0EC33F06491DE
D79765ECADC5473F69C850E7987C7A9A88894D2D8969093A4F4D0416C97C904E
E931651E6812E650F71AB676E6728DC27092E247E5C0B863F3FC313C8A53CFEB
71F9B3E9B5079A88FB12C72BF0C0C3200B40A629975331EC69EB943D565233C2
BBB033ADF535A986D3F28BF0110D59322662787C32D2A573AA920B31C90F0431
C0439A3C86939AF181B3B11B5A7ED73E89881F473647381FFF75CFC280AC09CA
42D4E351B180EF38AB8DB6CC5CD1643ECF8FB9EB90588BEE2E8569FFB2D4F52B
A53FCB55F2291CEEF398D39D8A481782D23ABEAFC1D743A723E141076C7310C0
F440DA455DB553DA9F372E7E6D45C2C54CD36598C2173328F389A25D25B38675
899F0581E87787E0221E3D7CDA9FB44CB5CB430DB9C22FDC41805E84AB8EFD12
3DB4CEADFCF0687EF56075B510D2EA3EF28A4301B1E91A1327B5006ECA2D53B2
60A9830917608E05A65AA0673481590F0E67BEAC0AE2539191F7C8662BBD9C7B
6C36EBFB7CCE0EFB2D86CAD2FFED088CDD989A7DB17B272E52ABEE67815C3C74
893A3E66ABF21A51A38E4DC42A1B93930EA4AE9965F1BFB2781E928F11B5A73E
0BD2A6179AB88BAB234AE5D4841AE41F41958D9E4CE8BC94F08CA12B517F1FC1
244E15B45E6D11E591E542A2D9F5D6C4359D7EA146292214C9FF059ACA83A4B0
9561573AEABA68E1B29E676B949AABFD333F9C5DA76E20F001D6CCFF2011775E
C27F9B61AEB8D56DBB27530BF15EE29EF03EC8C5838FCA91441C1F59FEA255AC
8692D7A9EFFF40FFBD0B20E7182177BA2D41DBC382ACD4105FFA82FBB0C9E75E
9196E1E6723078022B27C20666ED550C96398A91401B6EF182E9976535770A15
9C9499B11E2AB810FC0561AD9A43240704D212B6C795F910A693C5F3A5577F18
D0374137028116E86074705ADAC7698931BAED6928DBCE5E08CBE321A31236AA
7060F3FDE7E19F15C40D773024BFFAF458C4F9D09754E15130F2B55F6649E1CF
E2FED19C7422CD2445BF37FA4656924FD739CABEB6451E6609DBDCBC9B80C84E
F01F6FCAA7F032D8168EF7977343309DADABE79B8195EEF9970FE881C0CBE3E5
2B2B781332E29B8A6B198C67E3246BC5FFB0502D7F75B021500FAF4A9FFB4029
CB8E38BB0916F3163EC2A5D98138FA234B223708D6B2A6207AB9B95D6219D06D
5FC0C451B8119E43A10A1B69018C254D8A6B9A01243BFFE7384883D992F22BEC
F2F5FD87FBCA4FB26C905DBFDF4FA105AA56CA5FB52D8C31A4825243A94D7C09
4793E728422CDBE6428CC3D81BA84FB4FA295EF56E911CE06CB249F79A0F67D3
95512480E5FF2DDC6D3BB7807CA23BF566D445780E03ABA8963AE354E1473567
825C9B3BAF9B6253D5498F8FC8938AEB69A71B760E1BCDC00A034415DC047AEC
441A0DBFE9BDA468E5AD76F43D350C73E3A9E15B13D6BC22ED63BD867BAFA7DD
BC0A4A5D7188BE2EA2643355FF727718C3B8AA822B11A5CEEFF9ACBF07CE076C
1F10346F0036EC9282B2D40CFFD76BCEAFE0D66DB4D27A98FA5B0ED69959C8F1
E49AC0DBE30BE31F3A81CCF35623D3476966441F95291CAD0043981513549AE3
1CF20B9B8271F65F615862E147454AB880C35D1A1C390CB3DF93EC839571DB94
BA60BD545C674131162537571951A276B445975F7BB8B2F50A9CC8F6F57D2924
C3F51D25C55D522F7A41F839C5C4F6D34669629C684AF30E9E624401053BEA5B
C0668A215483127E06CB55B576CEB3DA9AC0BF5FAD46827EC508F06F4321A6C5
6EE1B96BF24DA78C9254EEF6F72A36755CB8BE946EC30AA42AA19CF1243A64E4
80AF17D4E4332A0E8614F24F28450945A36B03D5DD6EBD8D4BC757591E29A62E
5353CF2E1A4791A748A9F0CC2CCAB5B487AE77C29C182813D663620DF1E52D16
15A7B1F7CA7EE12FBBBE68796D77B67CF14680DBAC803BA987873C62D46ADA48
AF17883122E58051AB89162DCE410FBBDB5F4EF12D02697322108FD8832AD924
22BEAAEBD6923C83CF37387AE82BC8030FFE43EA6BE741BB49B241076F5B8B8F
352796E13D7ACA6CF7656482E728ADF548FD49F7D7C3AD8E2A91531F347FD317
3819A61CF08DB2CB24396CF990E454187E8ABBBC320D93B8A3BABE5EFA9F8F36
909EC8096E025EBA977A45AA86D19E388E302C884CE1C4F96D02859337A23FB1
B53F2144D89D2A8AF9C72B30AB6EE43E3D6014108FBE3D4FED78CF316A010F84
457C33E8CFC0CDB59ED53B20E3CD7D05DF54AB29BAEC67676C12410E42221075
EA138DBD0C9B961583A368F15F7332FFA8B3273D9F5344E5602E7DF4296713D2
8C9B442EA50C5D69FE8F15DA8C4593EA73EDB838022E172BCAADAF1436807ED1
3711E4FF1FC272816E868163C315B5E6FFD5DF6A06BFB8D80273E46F7785ADFC
4F534F2D674DFCD8EC2F57CCE05E66CC7784E7E952593AA175493304A42A8B14
681E2516ECB792667A372A870140D6484FC68DF867923E393220FC7A55433C1F
F0310810464A3AA18435FBDADAF707FCBE91611ADF6FCB7998D1A7523E16D9E5
A710DB4CE9D54DB6DCFB5AF3835A9A014BA264C361B3F5F2E8813DF7FE799612
8DCA3133B5B000C66D2E3D0263344B8E7A496285D421D2F0D8F99588ADB10C25
951AEA7FC1DB9F8CA69E80C26F96DA6DEBA5E8D9195E26B64FE9A1822BE4E59F
D2FCBECFD8CD5E3511F6184B4CEB85EDC11C1A57114679CC13DB8C5A86718C20
E5CCADFBC5418F7654E41805E4A9A90564FB65111F21D0B15453E9242775300D
B6AF96BDE6F7052A589466557344384232E8C7EBE88152C6ACAAE4901A00CBD0
C9AD365B51D792A5202CAC9E41DCC251A68CA1B831C35CB48EE6A146ECF3C36F
4A310AC94C1F241BBE145EED58E4E63718C6F48B49664B2B3CC3969607B7A44B
61CB61BF406D8C2895E333E2BE3FC485B44057E86DDF7D5327AD117A9C523C81
6321000462C1F64BCA84E8614B24AFA0D3A18BE11DBD4CB6313F0BA37171FA73
C174F077DACA4EFF47B9FE00CC94AABBB58DA5A9683F948A0A49CDA530BDE07E
DE9060AB7D4E0B7E0AD1EECA469AFF0A77BE63586810DACD1452A0405F5D51EE
459F7273A06067001D16E78F2B21F4520793EEBC845B2727645D237971DF8F0D
56AA3037233E1E2503368DDF026F985852EEB9360B88B0CFC03B80C1F0A0B098
A75C223F2DD05527ABCA16251456FF034A5069DE3656E82017811FEB088150D1
77DE52858B578DBAA01BF19FB473D3DEBBBBA3E37EA45B353E44B7DD0C0F1C32
FB1DEBDE591D8AA15CDDAEC3B98A79AE26DE7508DADD37AFFEE858370B536B7D
905DB3272607EA4024FB6BA4B501CCC0C5C5BA1FB8EF9551F335E8B4E97A1F3E
CEE0165B4E1523BFA231B5EFA2D5EDC3691C1B3703C0AD3BBC9AB7DBFBB2D99A
C5CEEC960CB5BBEB60108AFB742077C028E89F315159A733E952B968A778C6ED
03409E8955C76A769ABCA3A624F06A61FFC4294F61C37F6725EB908B4B52C48E
E81E6F0F3D1845FC5127E8E607A4E9AE14C940634BA73DD3E11EDD21B58A4610
39C0CFF99E0AB1D1B101418EAD584E3B58416DACF53108AFEA20187F23B4419A
48B757B3B4F013CE46E9BCCF1E44A710010680A6C8B7A07E7684194FBAB3DB0B
E3D9D355D9B4C555D09788E039A555DD7ADB490BE3806E70C67F4A9DE613D820
CDB89305B037D6CD281076BA21D3DCB7D82CE1BEDE9E93B84DDCBE655A327E5C
EB5DDD1BB3ECAFC51DF68CFD995D5CDA23958F407709BEC31CC8391CB6C1488A
66CC636AA985D83E4194D1F850D2B7D643399E6A24DC47BA975C8EBC15C56636
FE6A353E25F64145A31D8D6FEB7F9A6EA99C3ED956432A095F9AA84D04083CED
9DD20DD9355621BF5743B822AA6B56D848613C3499C9A61BF38EFBEA6CF76478
84CEEC5AE4CDD658C5F3BCA467034F3C4AFBF51BD330BC142924D65A0105CEE7
2758C7856B5586602E8EDA61B312F724051112F7F6AF282B730D1C5DA087A4CA
01EF86A8A4FEBDAE15930BA085153E7A1C00EEAF67CDD205B357868FA516F9C9
6B367DC597FE1661E2117ADB97B4C3BB04AC5A53FC35A3605353509CA4755A4C
2C1C829EA5CBC21FE2DF392043D5669AC3B32DBA6844E1E3A5625C9AF7AE4351
716083FBE5FC1534FF1AE86A4B00720E47361099651E553E06D7E9DBB62ED34A
1CA6C19507FDD4EA69CFA77698466655DE9898946218047BBE31260627D341E6
A386472BDC70891C5409C80C587012B2C5481566FAD4FBE0B414C380117F2092
5E63FEBF89D61A1D348707384190781A12E851E1850B2EDE3CF9E7D5BA8BEAEC
736701D94AC6C3EC30A11EBCBDEEF553A6351C84F83EDF36D93F3D9259E63203
5C77567012BD5B62C835BD87BB32D3476E0719C2B49EE3A95B92A9EA594759B1
E345E07B8110D06AD29A8BCAB2D3480F00EFCC003B6E6C97982CD93BE38CDCD8
E66CA777C689A2F8C89847FAB47B5DA1B1904E7AE446D482173BC246FF3AC63C
0A2EC1CCD4DB973D747B0A94BC01E3FB2A296E34506D565493D6239935D49ACF
D2DEAE18DB705491BB10E549F152FAE621E9A7492E69D0C0F0695D2D2F8CFAE7
B78B79E4FCC94765C2DCF92B087639B95BE04525EFDBA707133DE9D6F8D89C88
9EBBB652011DC512F129F5DAC7E36008998E5ED39AC8176BC842E4DDF28DB43D
BA1257CD0D613BCE363599B3B91E334535E38C1FC5654521996AF42256B3A800
4B9D2C4A36868C925DA5049A1024EDD97F8DE1E2BD0D087A2B0A31D9DEBB555C
92C2E23CAB9F3085F77B5C0FBFD5100DA982DE636E320131E53DF63D033A809D
6CE02CA3C4A57089971065CAC35207420699F47798F2DE4A73B2AF30F19F82BE
62D35A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMCSC10
%!PS-AdobeFont-1.1: CMCSC10 1.0
%%CreationDate: 1991 Aug 18 17:46:49
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMCSC10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMCSC10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{14 -250 1077 750}readonly def
/UniqueID 5000772 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A30EB76029337
900ECFB1390CA5C0C3A04528044F266BA17BE487C79B94FAC6D6484684C5BFEA
87BCCC77D40AD11552035E95E3007126418ED49B68468B38A14E88E68A267B98
076F1C9769A5AFBC285E5B158EAC9F926F1D6C0B8F1D57D9C31D25AE27123518
9D2CD92E5689E0213089BD268DA5E47525CB8EABAA4B78A15AEA34705889AB3A
FFB8953B5B3482E52BFA0940630ADF8C0AC2177D907324299EE980E850F203CD
B627962F43D5A678C44243CDE97853BDC6AB45FD5C09AD274DAF89929F583CC9
CCC24BDFC68B92111055ABA5F26D2DC67C70906F71C2957701D65AE746A60C30
40E6CB24B97FCDAD0487AE38A201FBF0E41BABD2181981A71940F1E707F91E5D
C8CA50CB16D8702D188E56D014D92F76CE0B52ABDB9110E32438D2BBF3E6A40B
7B005F10BB437812CAC6ED2996F7606DC962C4FDE207FF322782C343DF44CEC5
FF06A55C630C20E9AE1B0D1C5673753C43BA0767D65D1B451CC6380D8BB3C4DC
81E8FD8AA79BE993218686F29D3CD925566DD587F541A0DA1B1CC3BCEA2E6C7D
5E1016F6917A871F1BBAD96AF9E867735017119A381FCF33EB2D3E1E7093FD90
CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2
24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD
9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3
933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307
08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61FA63
A4A06A8A6DE448B703FAC1C902F6D8326E5F75FBC7F7FF2FC265B4C27944C51A
A25A47B3B7D200E143BCB30678451E101F46D7B23CD975F042BDEA3A67108E50
57C3FC992DBE3E2C5F9A474402CEC21815906E964525A7B78EF10FB0BE080973
0C696CCBF6F570A13A305EF1D1C1E73E7061BCD88B83AF0CEB593798939F5E2E
F63286358626F07F8A7803B11E3AD05A468F2FC0DB4C6A105DA5D86AFEECE86B
3EEC7307BC09D73F115F1EE19214A09BC81B89763D5B9ADABAD4B09C276117C7
6719ED8A64153B017EE04C8AE2028629E10C04813D60A8635FF54C1A4C09AE87
3E2A63B76709C671B54A8BFCCB5A8AE66A214013753AA66A33061726EBBC8966
D57400D9142CC1A5CA357C74D9DB5BA0341DA2BE20110388FE3B104EA412D878
5D9F27A5ADF344302347D601481B2A9F757D60D892FC763D4A38F75F9F1D0DF0
845E55E51685290535B0B0506ED8B039C3F382A4C3B5A7A393AD6F38929E5A03
B8485A0AB3319EF760B27B1E76F6B980EDCA7F3075CE59FF54F9863334475E9D
CDECCADD7ADA960C76DDAD8D97D244B69CDB4BEBBFB988959F0CB471A1C47D66
845901BDFFB5BB2454ACE88CF9ED3E5A6F029BD8D033D71C2419237F9023A2F3
2406C02C72CDFB676DD90AEB86EFC0C40297F4FE6EEA2ECAF7CBE55E1D6BFB20
DBE1EDA2A366BDA7F6D1E8EA8D9B3A0F01011E34D47002D4990C717424DB8E07
870E0DEBB64F8AC2E05572FA4D52559EF2784537318DB678288CFA0A0117AC62
8ECB8AAD6C8AE6A440F97F001F487934AA1B4C0168CD0316E662D9FEAE064FA1
3717F163709410FFA668897A9EF78EC2FDA649D1063EC34D344216DAE8E58F0F
A6CA3F48C0A1836313AFCE5308240C294256648EE6D7350B98A92274565ABD15
0BC98CF559FD3F86C2BEBE6E0C7AECC66062A21B95911217302C62F7B82C0354
0D67EA4023FC5972B8C55305590B5DDB4CE7998D7A2288BD92EEB376F41DBF42
53869AE46F58DCE6A52724644F0C82ECD56DCA063802C3EC5E28689B3A3DE0F7
D3472B2193C574E7B9B6173BAB50A8EC740F3A24AB39C206AE3DB38761DE698E
0DBA07B80B7A09F7A335BF55B5DDE4428A9AEC7273A6F87975F4D6B95446907F
43E6DEB95BA319CE4CF4EA35A5E1932B333FE10ACF5D11B8DDC172006797AD4E
2B2581929CA5448DF18BF6625256A479C59A762780652A647154D99FCE677567
4E7997AE7E7C7CDDDD583C21392CE6645F0385240093CF82C1EAC21EF4A71833
0C451BE87C0818BF89FED3A09F8E72BF838D87F7C97EF32882829376D1E7A2ED
70AB6F1730EB4D1EB183D28CB8AAB3D6AFA4FB5402DA179D584CEAA477EC9719
5C5FEADFC8C5000306C5246ED851815C86F57773CD508DBA9A53038FEC13ABFC
6CD76CD6D95FD408405AE36E497C965619B2E2C3237DB7B10E3BAB1DEC1AC16E
A6DF3D4F245DFBE5C7FA30843F804152FF
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
/UniqueID 5000820 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
515DB70A8D4F6146FE068DC1E5DE8BC5703711DA090312BA3FC00A08C453C609
C627A8BECD6E1FA14A3B02476E90AAD8B4700C400380BC9AFFBF7847EB28661B
9DC3AA0F44C533F2E07DCC4DE19D367BF223E33DC321D0247A0E6EF6ABC8FA52
15AE044094EF678A8726CD7C011F02BFF8AB6EAEEE391AD837120823BED0B5D8
F8B15245377871A64F78378BB4330149D6941F7A86FBFFC49B93C94155F5FA7D
F22E7214511C0A92693F4CDBF38411651540572F2DD70D924AE0F18E1CD581F3
C871399127FF5D07A868885B5FF7CDEB50B8323B2533DEF8DC973B1AE84FA0A2

0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-4 -235 731 800}readonly def
/UniqueID 5000832 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA
726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227
CEBEF0C9440DC034DAD9C19FB27DB399BDAEE22053591D6538587C768C1B7B0B
7D1E222D2D8AF3A6473CC4C0D6C3E0DB49068CEB8C9BD1C5CD486A50DAA10BC7
7D6286142355E3F21DD254E27C00C442728A0BAEC9D3F17AE9CE320D365152E9
EB0D5E3874F2BCEDA98521D23FCFC30B4B69DAD2ADBE80E5964ED0ABEF6C73B6
DAD30E2C5061E3747FE536E1A5D190D028F2130AF608F5DDF9DDDF1E77DC8437
ECB3EC93B33505DF47884DDBD1DC6BBE4098DF04A29AF6FA3AE344600D0AAB53
B3820DD7ECB600A3B8001C51AF2CA7A39AE1485A087FD1752DF68F55B52B4DA7
48030F2AA7E570B3D56C4EAD367B9B73FBC0A7356253233006178B9A6BC19081
B815B5988AE76FE6FAFD7AC239072B1106A3F509381AAEE79B2F2154CAC4727B
D199CDC8B4D05DF4BA006982512ABD7539E28D937B0F87FF79A3F84C29ECF943
A8DCB8BDF8EA9E7A0E7CD60BC2308C96B3E889C797D0FF28FF4847016B3DA141
E76FC6BE78A6EE9CE07E651FF86E720A1A1F075972D36E5C55162E3FE26BCE3A
814BFEB12D4C5FD24340CFFED499C7CA183E57EC4F12CFFBE3291D43F7270575
C6C3306F832EF182ADD0AA14C4D8669A17C09F632406AFA195F90C4DDC39779E
EC0A77E590211592D6EE19563963225C06C2F13265EBB5A6CFB7C17D9E77650D
11958305727AF662AE73AD0E3ED5F7E7086C5A0C3548A8129575980B06C715AF
DD55C8DF869BED0A7883491030B1A7E82C5EB04E5A7D952E716DD8F2EF6275EE
087614CFAB55FCE2BBECD7E8D9C90FD8359E929D5E0A416A23BD58158318B4FF
87B095EB63F7F052B3A77F136FD66EB2C52BD46CD7DB3091A4B78A607112B12C
4D171B2A00B78B0E1C44B0D90C20D9244281F5123DC1F6063F91E9E3E48DE78B
C862D848BAD073A4FCB5EEC9FF54B5AB8E234CCC3C7439C62ABC4A13EF1B8897
ABBF21F900C564C9A305FC36FC7224932F766E6E72C2EBB55953DFE2AFC2E3FD
33A0C6F0FDFF086E9FD796E7242596AE85B877223532667625E371D2156E4C04
0D7FFCD3337B93DF066CB6FE1E13960719EB7CB409EE805C08ACD2C06303ED9C
E34C898787A43C1B428B896551C6FEB50A831C6F8CE2073EFC662EC286CB7555
A3B42E58772E82FEE206948B8C439FEC5E4ECB9E11DC3A4CBC7611E30890E408
637A01A2118441B4F9467A98BB2A1B03BB2F5D8E3DB7D1D15C188D9E856088EC
B762F07B1C06024F7EF53A2FBD60C0A1F4C0275D07164545250ECEEF8CB15B04
A2D8AC44DDE818C4E677AEB9F61B1BEDB69A6044071B69A6F55916CA3D3A40DD
6FDFDABDC2EC5F36D9ACE2E8838DAF326C17E849D76E0F8AC074FBC67B5367C6
5A77AB1CC50D2E140C490B4DB6CC3D053BCD3213CEFFE54E919103A912CF766F
65F1629B988C64DED7973EF4074537268DE8832F3436C9D95E0B624DA0148BE3
0A1D1FD9B38F151491AE882A51AF4A8E546BE2B2CFB5B70DB62F8554DD990438
C9692DADF4F9AC020BC03A252216C8BDA921C08B0F0CE51EE29CDADB7BF1A786
6736C72F34ACD33FFBD1CB49BBB96B46D819176B358345993B7A6385D28C1F6B
7F9743D9747A20E458F01F4069E60454168B28DD2C5F76EC2CA8327FB31951B7
9D63A67208C9D286D95B7B4692CC63AC3ED116778CCF6A3273C28AF871451C04
A64A6EB939FD5E0095A18FA1268D3660C9A73C5213A3D4905806913EEE614C8E
3E0DCABC51ECA2A1BBFBA3E9E7D3EBA7C8FA59C9F9F6212B15D51CD52EFEABE6
62ECF1EEB40198F2527ADFCC5AB546A3FFCA56785ED85D2AA7F2BF25ACC0CA28
4E7BB492BBE9A375C16456E6E6759250DE4F50F426982CB7CE3EDFAF640A2219
B13FC82280BCDB85B52FC18D82F3E29EC9074522B45761B47104923996E0A944
F3D9A63B4EB9022B8EBA7C78C736FEEF8020D2276A89575ABDFFABEA7F791544
215E21B3AD689DFF766C20B450BCA89E20C29BB371BB0D8EFD8FAE530EB82101
C1F9FAEEC111CA4609E65DDFACCD235A77BD88D613299B06245AAFA21F4DAABE
D815FC42FA20F2F410BDA6B690A96A18A389CF693F697967116189F21DB542E2
5C054E9CBD21509C61FD77EAA988E595F90BF8BFC8D4C8F39C5070BB0A851F86
43820ECBF5623D4035866B65A9BF631F8715BDFB8BA23061031222C288455967
CD3C7274CD200DCC7F151786E85416F6AD871B65D59C33036A30C9E749CFAD8A
76412B20F13D96C2D7A379E9520783312398ED396F5638B22E9A6CA774241749
AD2F4E17C77D2B80535F9101ED56928B0CCCB2C1263F622474CE10F7414FCCBE
A13EA7DA731845107E640A3631DDA50EEC304195870C6273FD042B76372848EF
C2521CB51EDE3DA6AE98721C993935F130BC44C8EF27E481EE226BE770DC3B7A
D251CC32C8A2E67684A8435FA07C66D06C00B980FE71F937FE6844D256345455
E17CC71805E3CFB4D599635D9BB54872B309241E203078CB03C0248FA0EAF1CD
8E054E3D7DE9621FEF9CEA3C4720AF471169CC999AAF3EA36A5FDACE0D9854EA
5BFA3C5C3DA43058D03754CCFF6C8104C0E753EDA0A11C7E3B85EDF3E12938E4
86983B0B3856F82A17A4050F9D732AE4FD110AEC23AD60CF5F470C05F679CE73
86CEBC708F27F9EABBA7CAC996FBF80110764080E24BCC7FD4294BD1C8843DE5
7332242B69BC05BB314993A6138939B4BF99601C787B42A8D4EF005F5921488B
16D61C903E11790B98D32D304AE7D9A7E35A244340DB04DC04E05B2A56C63956
220C1BC59D396039B3954574F9FE51AA847F39C552B2DF86774B1DF6BA3DA20C
1937A5B952EE38E5A1840E4201D5992335E6C2CFD113A6E112EF46CFC09EC48E
89D8709D52179AF40CC3476CB2A69EB3BDEF8EE898252BDBF9B7A404E9B45EBF
2BAB9A875DC9B0BD9ABB91C1049D2EE58F3C02001E2EE344187136846B8A271A
D5D8C5B962B1FD6BF263DD572B3063C3D278E08EBE0449B37B93DC4DFE6CB76D
D64564EB0C8FDBC39BB16286486CBCDA4050014DCC570CAAE66D39AB28AFF557
45D6BEE012E157C245146D758EC24621DF6E082A46C83E301617F3E3DF66E19B
D8F0CB0552B987511AA1784AB87C961E6108B2636F003BFCFBC8E2E35258FE68
8097EB770D5DA309479E1D2E137E082BBEFA595B609F9067A3D51A993ED614C5
93D96405B6243659AC1A53DEA1572895AD02FD123E8794422A05990542E9DD45
312092CC9C5E80F583829CE1C7F835ABA261C34E98313E906E611D80A32FA5F0
763A8DF3A8FE11C14423D44840AE818EFA493E8E33E2B2B4F71F2673B71944DF
D3D587087B96E545263E98F3E7EB6C10CA171FDFA0BA751D98FECFF9ACC3BDE7
02584CE49E7171DDA8FF4EC6E348A6E5C0D69AD9ADCC119F75501C2E97BA0A93
C534C14890F717B11374C34BEDD8CA8CA51614B0187E22E6DCBFFA5792F15CA1
DA04A712896E5CD06F75E67039142940DAE7881F08403ECDBE97B63B85CA6065
6DECA1231966880B7D4838D261D085369C643F0AC65239316607DB60E2B79AB2
F87B01E473899B803C2D8F42522D9EC301407FFA7E43D39F1749B32804EFE8ED
F3FE2F1861D4C60C2E5085A351AF4E9179B3B601F67F5B687F895F76AC0F2092
1D6B81F4C3FE1FAF813F27877348A5161CAC3FCE4555BE9E061544987F6B044A
095EB5C36E7C6EB3C431765DCB37011E6DB57525E8D18A27FA88AF224039104A
C62C892F0D446ABCBE4258D00DEC55CE14F038EB5CD4DB4B58D7107D60844AB0
E0EEA8AD1BFD975CCDCDB4E5DBA0D547E80B8AFB57BBD6F601F973F606D0C326
EC305B218788A0E0942039010CC78F72F093FEBDDFE2401828CD8E6986BF5313
ACF5D87A7EDE74EF93215A52C22DC93162F93346D5625A6CBAF3447864B6E40E
BEA4482F025D62D6C2AA4460B9C408850766004F37273BDFDEF375B7EA537D8D
98D3FC0BE52CDB732A4AA95887FC120EAC9A3358AA5725E5EAB802A246622644
6E5CCB38372D7DE5C9EF95293D982C37881A18BE331DC749F49F2EEB967BD1E3
2C4D54A4B7ACC08BD34225D6E254F8B0E0DDA8825C7276CCAEEF683FA3508084
6BA1B1C0F50BCCB8732E946D0E635590178E3FF81446B02874BC34D2E01BBE7D
6FA6A38150C0D7E2FAABA444400E9E824AF45A3133A9A871259677998D69EC26
DB717136C000A4B5FEB4714B7823BAC3E56BD391F678E472C24B88E681D3E10F
8C4FB30B4578A52413869D9695360662FD6CAE0B9DB6628D71B3F09E7E8FC763
B65325D47E2E5771DA81186245812B2C1E46EF79984F02A287EB743CAAA60780
41B133AF407587262351E22089F3B9EE9FD473FF76341CB8B1AD8688A9842B5F
E6470062797C96771055327C106A147B90603C26CDC5BEAEA1F35B23E88B173C
EA2CD530F565FFD9C375E5FCBB9FB29B96036DC0A8BCDF07DD4E4C4F0A7F1147
76CC9FB52CEB862DF60B635C226F9A0E48A2716F286A50CACBD2DC04AE479F5B
DC10D27CF388527CFCECC2B68389BA757880F71EDD1E93EE12A42B5C73D90EAE
AFF56660C31B0712DD929BB13CE06132DB1629DC44FAB97F9AA9C3C7C6511A8F
E8A7CFAA2892CEBD56F221385EBC728EB2098FDCACF85539171F08E37632552B
0D557ACB299286AB6D9E08EC03D0303DA2A9AFA2BE57DF5AED39FD50BD12E6E2
D442B3F8FC97A842EC45EF91562F7526094D89D56E53313130F08E0325362285
8A347140624FDF5D5FF2E3C5948A270C4AF872D271226BC2FC65D1A200330DE2
86520F23D4D19FCB9D818A8CE08D52419D5DE05893F5DDBB2E42F32DF71AB474
616D1DE96E66FD3CD69F8540F0A3AF6D53672015AAED06FACABEBD557614D4BD
C76C39773BB03E84D4DF3E1C8CBB5BE3FD1C279AE8869C47530456F95EF7CBFA
653DF50DD05D909A15D0D7780BEBD10DCBB35B3A2CFD6F8E763DFAE98A3E7938
50250B967A8F1D8BC47A8A889ACC1BD1D7C31BE6AA92B394AE058E5E3395268A
D90F0EE6B91654931ADD8D218186CCE390D11DE076AF83A852782639FFC4113B
93B89E6698A92988A5C6B7BCE1B6EB95B98038D0CCDD99A50FDE2A7F20D1056D
3CADAF73A31E628394F8F637C95476B6A02F1914B862A6F7AE0B104C97835201
9B18A76EFE8DD7404EAE9C48F1A5D55D87D31F1D3B9D81A14B1759607FD9F1AD
1DED70DDCA68838AD8F7A4819AD95B4FB67BFF3F41A9F2B99CC180CB330966DB
5098795B81FEA2C9402262A5949F6E1C19CC80284B731AEBAAFE8A41039F0663
D7D8EF9895568749384B3F6160192FF845FB47E19E49F0504F9B84D2F135FB92
DA77D3CD952622EEBA0518FDBD1565E1FF8E71DADADB3D74A4246F45CD7A9CF5
A65F3512868EDE91439259BE0A2A9FDD2F97DD0CCF66E4C8ACE79358BA3850DB
C4BB99A9CB6CDA49659D01F9FF850BAA437DA65A7B6B1EB1AD8907D4A9FDCD2C
C19BC0E5D30928D04DCC964729B4BF27197B8C1CC20E3F9981C9EAD2BF5E6784
7B0368F945E5F344AC11990DE34168ACDDE136C08E7A5C80809112A4595AA7B0
EC6B9CDDCD929883BF398C1D85C77D4E09001FD863E5DBCA58E881AB58D647B5
2BBEC1B485C6FB565D466945635C0CD86A05329FCF4DD481ADEDE1935A706F4A
AFD8D6ADDBCBFCF123B65A8C033D62993E2250DDE2BE282EEA01EA16C4719E35
CDD07A37E4A63D878452B187B48553AD6418919703C2F8D5BA6D28D39DC8CF8C
27A5D6EBB3AD5A3366EC95AAAFF86403A38DBFFD4B2DC28D674A10D1238B6DA0
A259D2760072ECBCA00E7CB1B2FB22093F93384949223DE2EC033F5D628EDCC0
E511FAAAD3A2FE3F28387ACAE446F718D6DC93ED555EFB98171D2AFEA1EDC631
00C6D2B636CD6779609CC17AB8BBA6FD81EB1EB54B1D1031B692463CC57EE1E9
6F17DE14FA9C5AA499315B6281123BA932625CE4459E49CF602605DE06A5406B
ADA35E9E4FBC9DFF443BFE9557F2913D08793914CA053759F972A4EA501C0E16
3ED4732359072D9C783338F502865D538DAA70F5A3401F6BFCDC21FA656F1C77
A0A894DBEA8C3515857C63DD65133323196A1C8A09262580E142B2797FF72F40
296BF1C006CA2ACC3D63C94FB44546A147671888A78988A8BCC08AF8A11EC7D6
9080018C53CE6FCA6CA2F32C4BD1865219EDE49F640BBA7C101CDD33A00D68EE
B955E5DBC839E6286A15B03B604E485629D967F708BD80B4FE8F2FCABAA581E4
B8F2A9238BA63E1E74A0DBB654441E0C0BF4885931DEEF38FC567F218CCD2B67
1C29C3E0A092900EBF861BEF39E7FECB2AD7B4E26A150974A08D8BF5D44379BE
A4A10AE93FAB9BB0D3AA4D7120A3D0D870ADD92531448942DBA940FF83C37C49
B737E39CE8D5C6EE6812CF347E2080052EA17DEB400A64ADCBEF2EBF08C481CC
AFF63798AC57C55BCE7F44624438B40A3A778B292EF864557E5B3F0C104D1B11
FFD3D2CAADC558F318F0865B111B4A4B5EE29E38A92F98EDD77FD3637A1C1E94
1CC2068558B849C2565214D880ADC165940FA867FC7593AF5314EE1994AFBA89
CEB715001AA6D95C3F929F4AAAFE8DD39752FDBD281A3B07B34FAEE0E358419C
57178AA9CFA8D2ECF4678ABB2A66A6474AEF44EEF2499C04AF46A22DE3A354FE
44DC6BABD18D090A5237C69EF53F5BA713C88B91ED41CE44D35DFE985971B401
7D2DCD7DE7255A546A5498A0DC14B10005BBA0957D6C76158D4887ECF19DC5D7
B81E15E606862862D3AB14E60DD05542556B3F2632964E47130B8391B3466FF9
CC96726D5FA745D5053BBD0FB057EBDD230520F85DDDFEAA2C5B57E0D363F05F
334AF08FC8432B9E15456C1DCF3520B89199712C48132FEA397BCF93984E63DD
3367D83E21C3FCBBA9BA2171AE40B631725CEB6AAE57618778BC62CF48EC9734
26AC4D7DE2A0C53DFEBE2ADF48BF15A61752A3090D52ED3A8914BEF4E658C25E
A2ED3BA15B594E06FCE9DC2434F8B7725C0DD12A7AFB56D2905C04167A18F1C7
9A7A19B3E45289820B4728E7F0C83ED4B383089DE118EC840E034B626C78694F
D240FC24F60F97B14D94FD3AEA1D78BC87CC2AC325C5446B51321325E1FD9708
E49ABF869AC9CFAAD944F475AA298E91DE875D1ED050FD6693DD717D85D4C491
C38FFA6679686833A28C64B79FBCA7D44124B0394C2FCB4D132DCC5598A940B7
E6D25C95A585556EBA7B70E06ABDB08118A9354D8D5A753EDD5D3E0BF103C71C
7B92D457330D7E01D3085038F5627FFEA099560FCFF3F52E2665A4B8D17DC154
E24C13CB2E06BB05CFA25A1076A5B623334639BB7CD3290A9E67D49D509E1EEE
ABD5A24BD27E47EE4CF7EADA0FC8A1F8A9934E1AB017755C62DC389E20EAB542
0C8F2262279558155D337FE77F43A35A849A8845E816DAAE29A4D9AB67F691A5
8A126342530F37BAA7E7017992690BEA2094FE54818810D6BE5E08EA3BF05408
C8B81D597C1547271AF0A7A666D8B09F43F2857ADA71E91150785899F2125494
ADFE607C16E1A2FF882CCE38D2D122DD53BE1545928DB21C2CBECEFD569FD242
4680DE95C66A2E9F0DC87352581C1A3AFF3E340645C3AFD31A451B5A86585634
4101659607977F0B85F86EDB12DCE053F0C2BD18E7D285ABFA9FCC4C22067C97
FE9107717D6B98E167F6094CFDE5F3E2EDF7C839EDF580894E11317A1D2DBE3D
31A7B3C1781464E6F88A398A68B36073E20391CFFBDA5B22ADA19827D57D693A
21C4ED5D5F74ED99A090E60429B4AFF0804AEA556195929538DAF3A0868E69C2
DB062F8077FBF6618C373197D6127F1D7E26B6164F77F2B43F688C357CA46889
102A60B720973E03F5538EBA09C5432BD10616609ED5DE5DC4C7D26C4AE0640A
D009E5D1E0441AEAD38F1233B8DC8E4EE9402C11D88BE42A5E813819D52516C5
A4025CA82EE98C570951296DC7805B1C0ECC0784A5B0DE7647F418AE531EFF3E
F8D9B3B9339B1213118ADA2C709EE30893ED9A84A233D126CD4D02E1662CBD23
D2E66DEAEFB93115BD144859E0558F1D47100F8FECA3A09C0AB0FCB37366BE03
DEC6CB0912195C4327D50EFBD0EC2C05F03B7AF6048CBBA810D00CE646281E71
72086EB9FA7F8FFC6A06E23B78C4C5F328DD8E9351CEED23772481C7005DE7BE
EBE7AE99C6BE01E9A689EBC3D6E60D1EE593C467DEC4FCEF63B5B159ED979A95
F4B5B6086636424AB8EA3D547015992769F68A47B0D603FC3E5EFCAA1AC4B593
C89B7190C82121EEADF4101F7B905A94A85F50CA126D124D7EC427298F4FA3D2
03457720187863FD5596EDD9B436DB596D6B935385A096F06FE7F3700DCB2405
B081603BA57C4E62F52C91CA0B6A9E77CBBB5CFDD6CA2A460500FF691D02005E
3A2A936D4A07AEB19447B728EB6E8D69974EC66B9C1D2E5864FB90FF772B83D9
9B8C4E27F05161130F97BA3FC9D3ADBAB70F8A7D11614A66CEC7825CE2DA41D4
19B4F3CA0FA398869FB94742D2C513647E5BECDBEE53A750937D4F432120FBCA
4B1968CC34691130FDAC16DCBFEE3622D36A57D541132CE439996BA2667D3F8E
05E335B35BDA507CD078302C739744839E3C778B7DBE166C8C88CCFD412B06C2
CBEBF80AEECE4CDE095753EFBA030BAE48EAF3585632A2E2ED5EF95E09FB67E0
407402CFD7E27C1132D866E0A0A01380D13CDC7085DFA3D83E1FE4B2373C04AA
7D8B2BA201E1D2B600ED1A8D6DF865E4F15229DBC791741A6D411497F9658D82
1436D905155D6FE02C0A4BDAC7B1F73D00C56FCDB1622254C3E6F9E64B617A65
E350119FCB51E8556F1801325873EB06C72C0D35247157C9C56E8B22BDC1A6BB
933C01A5C791A04B5E32B95BDCE3294B96795062FC031EC307AA3422C2982647
53B9CF8FC1DC81861028EE7D32075681062D29DE1E88F8CB78A9CD67272B9F32
CC6E0E5C34A77B4CA9321D6712BA9D068E618FF8DCA40F6BED0CE72B43B4D2D5
D388780294712038B338033A95E0F99F61B9A6D2527463E0DF0DD518FEDFD3A1
844124949B9DDD625A89E127F0CC2B5E0648DAD7BDA09AA533A2D8008A0B4B08
90F13D78F22F152A7A92D02D1D8095565067ABE24651DC9DD11100DDA4271A65
8B5A52E171F0759EEB0C7FE00079DE899A7E4678E6B3637FE83B7ED51737FDB6
519AB8D794D65095D0B5B69D0334D123B89C377754FBAAD5EC0C6B810ACBDE2D
2D2BEBD7B522040011B24A7E098D98BD3002A2446869412142E085C3959E14A7
14EA5BDA0D91F38D39518CFF988DBB982A01F1B009ECDD29B82B7CC0F330F33B
1653B1B315AD7B1DFD65897391D6052EFCD5FB64F41734BD74B25355270E023F
F0C63C543BC1E3BF2351EF34F8060B87895004E41410F8171DA90418CB4EA4E6
EAB2F24FE2C5EC5ED5CBBC96F8E699C5E9B53E287942A90F8890A1ADA71622F0
D7E86DA1A144C28670619C3E78B88572811FED15F6CB7D184B6E5A3E1E313F18
51E8B8FF1B806FBFD605A6B2D6EE914E1C53F41FE05A0151831071FABD90A060
0DB8F519FA085942B7804A9B604FA10FD1D27881D6E7CB1861FC76E16DD03C41
17E6C11D878D211B87120C2346243C94D93C897693484EBC61F0768E29855F4F
86EEDEF1253D392F82899AB21330A9632358C407F16712F129F3F3BE1D406440
242F55C1D18273DF6B3DCEE6631F66591ADCE1EFF11C9294E7325DDD32B9D542
3808453393A504018CA686AD4C6619AC05093F448C9E9FCFDF63A2141DD18A9D
DE449C29B7FCDB26378118BB83F4C96D6C1A2064538C1D175CCF92B95A0E748B
45D59A5517F7AF6B7E6A09B14645826349E366C213DF51B3DE8678BA8B857B1C
FD9F5650A5725DC57EC236B96E4668D0C8CE7F09B796E10E74AB38DDFA3E1CCA
A012652C4D744D18CCCC71037258FB95AAE0FDD38480CE050FA96D16DE1CC1D4
0776B2F346088CE91419124E23AC5B7E8B393865DB4C99C294D52C3F15CD5D98
476508FAFAD4137C6843A92AE39E87C9E350484807EDD8AAD7FCA68F21740E3D
58D7581A56BCA2D9040DB0550B86627B32F76E0BD8574891DD55E8C5D47D576D
516FDA64A2601A34DBE6ED8630E9794A9D600C9E89B3A204CE9B2D6A12BFE564
3C4D5C032764C49A2D2FA0B4A87B6EA92BDABFA226458C33D20038E95905995F
41A973DFA8563A6231CAE68AB18381D924753C5A8ACC9F1407EAE68985A41426
E58B79974CDCE4DE44B92979AC27DF0921A18349DC558EC12CF6D156572E649E
148459905EC7F2F1F90E8E5E2E83B4F18292725F35DF3835307CAFD20B11E96D
86ED3E2E5505D7958B47FE3CF92D7039191CB0F83D0DFCCA60AAC1F4A73FF2E5
043DE6472ECC08179E91B3860750D3F71983273174015E3936B9D094607A77FB
E90D31B853499A0AE6F53C19996BE9F6E8627E0FA0DD7E2D17BF4C44244D8C56
C292C385A82D7A2599A5449AB9ED8F7CD65C8F4B7A09B58F7FAF29A95FDDF495
674BA68E3F8CA5F6620AF294018D8D467D5E99E8AA03795B6AFBF2ECC5C0986D
67D07D4B2C8D0E0CF750479E6595B3F5A2C81487512DE340795FC178F9339A6B
A0AECB378646971DF90D11E4FFDE5A3EE28C8EC6A3C4B6779E20527D00897C02
046D08ED2EE287272CC5BB52B2B973DA0C48659CEF014AF35D306AB60DB0AE05
4CBBB59023FA734E38DF80AB0BD175119650DC60BCABD67A56F7D2C7B1B0BDF9
82E2B27E8802619A88EB2F98BB4BB81CD6D13C236A4E8CB5BA5CCFC4C2EA76E5
5C3CDA2F64AF3CBD49437A1926FE3B993D3C3E8CB6403DAA27600CF61538403D
56555B1C955654ED58327232B9248CE7F1E0546EBE185E8DB0320A7DC129C27A
10FAC678C9385DFE90EA0010F2C74E88D68CC2EF5C10EAC4841AA67D994915E4
EF028315AF43285A63FF81FE423A9A2AE6615772A0603ED405730A4CE5D8C998
4B66D0AE82F468A295C535B2DC54BDEAB8A2D9F4E15D59A14765F60027AFE2A3
7DF55DEAF15722434E60A70ADDB2247ED72748FA8A13D8DC8573C9AA84583DB5
267287CB3D8581FA256441C16666C58A75D3E66B9728EB024C748CC0CDA6E127
4C90ABEA6EF5E03443F45E3073C2FE39F8F5A68CA3882379547A23E76614D58D
6B4E17E2007A2906DEAA1CCD370801F35CBCFBF9267DDA89F67F5648653E43F4
B8599FA22F7E790901B18F8116D6A8B773359FD52529D5A93515E670CF188736
B7BA9E5C5C1EBA98BB1F94A4E908D277A53E0E0DEBA1385BB85D11C58B517C8B
EEC2171B0F52097546BD5F2BFA92BB0BBFF8602E0F57869E67003ED355C8845E
37467AB519F6BB088CD0A7EAB0ED651688E65114F260DCB9E7DADC217D8C7B04
BE3837BF0B1620C81DBD133628C0E33EC88B41225D7DB6781E94B11E18FCB9A0
696C9FF9855E7705D18CC808734E8F953AE850C8EDA4BB6819F6733C09B2D407
E94A4D63E0C1C4A2BDEB95ECF19C27E832D1A2978FB4DEC659326BA84F338983
25D7353CDA2F87CE49713AB5CD1AEEE05BC7135E0E1483B9CB0C44F8F61EDA90
565ADD22C05446766C56E3D7FC5ED22B0DE8963C901DDD33710336C033ABC0B4
1CE3F177E88E6B126C4184BDE4D59ABB281AC4E824172C811D806ACF0A8532C5
FC88CBA8A501C295F93250F75791771F61F786EBE70E6C23F6D7850098F1806F
C55146432BF385ED1F1EB7A60C55D5F44E4BD9E02A0519F8186737198F2982A7
4A54BA0CB7FC979A16616048454DBFE708A0D062BBE324E05BD8D01006E193F2
5EB2BF31358945059A7C2B7E0B49AC582BCE8E8CAE18F0F70FCF1A36A9E23442
36AA00408CD14E663734BA6ABA66CD94A24AC17462A7EEF3324BA2E033B49B12
778FBCD0D7514E9A335B9C26F607913EBDA711C5352B546B232C7926A9D8AED0
A79DC4E4DC8AC9A915769521DCFAC9616AF70738CCD6C5FE8829AC3FE2EFF4C3
F4A0E9A68814E7EE1D3A18F1822BE182BFBBBA3B3F00EAD21D9E4D4B04D377E7
0FD697A227CAFF66CBA82897ECB93F49578870BEC0ACAAF2FE80B3FBA5A1CA2E
2E233D95C6DBD0A4927802007353BE19713F4C9F42B2400C717E017FE0548175
01FD1AF5B95BE1230742525E3E5CF38874FE59F7B01BEBA807B9E6A5CECCD2C6
C23BFBDA03BB7EB11DF147BCC49A4F6458664CB7DCCCD88B4CFF2FB5B541167F
C3EC27DCB6BBD31A5F71094DA053DDBB8214D8ADAE81FC03CAA01D47D9464B62
A8C0DB641B5DA65017CF92D3050D9F06E5E7A69FD2FE5340E75FAD32160955FF
D742F5F3F3CC44BBB217665202DAB226BEFE26DB52358A43BA44A527A1CCD377
DD5668D249D13DD13EA268C5603F8B9CF9D233C576B911B1F8136534E8865B33
307AA7B6E08B0778A9203A27C04153112F52361EC1F97CF262DCF70107C2C3FC
A5C855C8ECF30DD2F9EC372F32E2AC1DAD46F2E05F0B83CA452146EA485C88B4
D7EB2B971BE48F0CD736F607DECB674064FBCE50E5E25CCF3A3FBF6AC20F7ABE
F5123EEB26F28EDA74282270338CA9107F47FE55391B342CADD98F4E87651D88
C51B94100DD231FB93E7BE7E177EE1448F47D69E5DD23EF4F2AB6A8DB0DDF4F5
6ABA8B4F166EC72FC8E0BBA4375408F4956A4A5E1470AA751FD082EE82747368
5E47F694F47EBEA3A2580DEFC63905F5A256164577A6D6D8CEC6E66D68F68F5B
EBEB5204F3619DBCEDEF6981FC00E37BF3734BDE069E13185FD79ED85A494EF0
6A2B0DFCF1CAFD366F2094F33C35B37B8EA15A0B750DECF74592E987E5EE1B29
9A963B648AD6120403D791A0C8015074A818065BC076EC42FC624A11B980BD61
BEE46C9BDCC29685811945A39309876DB1998C0D8E425D205C60BB7B0C6B7B83
100131033A40A356ED28BB9913C33C4263512758D39BDFDBB361186D2E5163F9
926F27E422698B32C5BA4CA905B44FD7DBDE32DC9FE9DA1DAFDCC40419F0FE1C
63FCADDFC6263CC22391C52AA708A6255AE7E13D3D2E2C720E5C82799CBC0C8C
149156951BF284085AE3B8FF06EE62B6E2CE3B553CF10AD60167AED07542EBCA
2E554E750D997C86FCEA2701CA28AC80C19A28AAC72788CAD82AE1D98F882695
385D321D37EC4C9D01C5AF39806761A1CB3A0B5D2034DDF6F66544C2A400BF11
7374AE36933543AE1891D254D71CF388FC62E1896FC51BA68469F02A126DD05C
25338041D3D3D3EDBFE3A8D31E43498CC6533E6B9D547CC5F8C924CA78A59DC2
C0CFD0639498E92AE627D35B48CB71C799F437ED391F65C01E8D5748BDD2E5FF
C2E7B6B301D7A9FB6CDB29C1FFAC59CA4883977CA4C87AD0D94547C5789C1A16
86A7231B477D1F3A766EDBAF83505D3CDB2E5D46FF231933880F935ABDF60F6B
067873ABC7CFD9C5F5EAC4024AB0C1725070C80C4044D28927C529C2CC63EFB6
CEC6640E79A18C0F7588EA9A3236D6D140E5A6567073497E4D101B844503612B
9F21D6866830679A190253D531E35FB61FFF5ABD421929046EF31A0FFF4B2F74
1EF5709151406B69889C365429C5F2E5DB3BA891888921F56935D4E69C66CAEC
CFEF144D4D7F5A52D49D2E7C5B1999DA4E0956C6D5E332B31CDECF1BD120646B
F88375ABC462036542C0A835959922385F31A1F7D02128FB21BC436F8126C2EF
F5EE4A56C6E7F526BD8021787739851C7047A103DD2D69A51A6CCF54DFAF6B39
18EB26F5087DCE672A1C6D46B8C29296D59B0CA0E26720823CE7FB93F9BABE68
57489E653352D394C3499DEDEA7E6B0D8B2ACA00620BB925F3F3536D94514B56
60672D814DCB5CE46D309D16CEEAF76275A1B97A19396BDA6A4F42C7FAE26845
0BDE931B969B49C381B73505FC5BBAA4C99D48BAAE0DB1FEBD0B26EE71E2BACC
29CFC5F6E86FBA14221E8DE4FB830C4F215377BD456644623D001B6D28F33BB9
B7F7C0FDA5C24181328B2D74EB23BFD4E980E84AB2724F61031A91F2A30C3C4C
44541F8B94338AC0E40C03CB77976314B827E1C48B3E9040654836384A061F3A
F937327A5591AF80C14A74C83BE62616AAFA1C644C69C4B25B1A3575E3392DE3
5CE5E3BB87C0CE4034B99D01A563D3D08530A32E0EEC2B7FDB9CB768046AF80A
26ED6FCDD0FC27DF0E2BF61FA716EC836C7AAF32A96CB824D3B748C9E56D82AB
E1EDF20300A3CCB8DAC511E27BC84E422D23A9564626F4BFA17A35B6A3078498
A33EA74EBC68AA61E36BFEF3B5F2FFA206EC24F0067BAA8166CE022C3944E6A8
ABBE3C18D85177F56A2E85645850CC580C46062944FCA12854997750CA0017A9
F35BDA8436FEA6F25B3BEBF81BF896FD388A852263BAC3DB79543710002E7CDB
0FEA267E0BDED96A0AF8E890AB0FD3F2E559D5244AF98EC7FC9F108B87F53DE6
B2B31EE0281AFEA221F329EC955D4C4356FDBDF6245F4A26AE7CF6F022E97903
A244B0926957133334AAA56EFFACAA8F396146CC5121A7526325CE66F8D03ACD
6DDE9E8C07211695D955A2F1B127C94A41C1F5E3F6334FED3C22E0D2C6E8B73A
8A2175F82A97183A0CDA42C79C306E902CEAF202A3E7E48BF650E487552E0397
22C065FCAB8D163916C7F6DBF5BCF7A5A9153AD2952C1797B24E4883C49D923B
6E544F45903E798205D45CBFA4FB158B8CF0700E0B4A48448E4C25CABDEB5030
7C30DFC3F7FAC7B58CC616DD89966E97AEB8039F2FACE55178363852FC232C91
72BFE1B6364B0365DC617466FC349FFC9D4A42CA0BE0AA1A54E44FE75D77AEDA
0DED5F720CAD559A283ADE16474966D48A58D5E1AFFFBA084A73EEC5E8E58010
55CA6AE3D9BA6BD2E15BC7C61AFE1C11E5834FDA81A5219DE08613CFE2B35288
DA1560E13600E40C0F8F148E03CFC2BC86C371579C3F1871837F53C4C856C265
DF79D014F6BB50CDC443B4262B3B01C10314167C57B163FBE96528A1E9B3E6DC
3D5EDAF2817AA0671772CE05DFF70224F9193843C64D749B2DADBDD9B7C09DCB
830A2BA8E7098E89D8CEBA263CEA7B49E521714C8E56255DD78B04C891F38CC1
4FF57D5A4D3311A60F6C75BC1D840EB4AC460A617485A9A440D9028BBE32D838
CEC315F3089EBB8B5F37C46F2B8C9E5E7C58AC35A72AB6FAFF2DAE0802DF02E1
BF5082C8676647DD5E0CF3FE84CA71C067038013ECC69C249D2C9DA8745AD669
FEC4EFB47B7930DFECFCBD977F9934FD40F21BD7303D1588C6476ACAD053D527
A5BF5C5B160DB86D647051135E27AD0A1EC16BA7AF36D7A277B6AE54E27BD582
E6E57E89957141F511A81EA9CD6232A1D8ABA6A68898F521FAB86CAC7A668B70
072C1B7FCBE486CA96F947CE3EE547FDA757823226825F089698F69282E2BBCC
6C952C98D21EEAD62127C3C77835F174C42AF8B2745A4914A020D1DEB81609A2
D64C6A8D57EA3FCECE58273457EF328E90129E89D3187B0C1D5B47A5F4D8F93D
A7D36B784B4D4E0E6E6732FEED3F8C60F188FF12032675EF553442C41EE08E52
FEDE3FFA7810D28C26AC54FA3CAB19C4918B8BAF82862BC09A642B7048CF96A7
2837457D665262494DC73D1D55FBA6880DFF324F42EE00E9E341A8E436FA312B
E93B0919754245299EA698C1871B2772F8E7229714384C4F1B5889E6E217F389
C320F84F61BFDA91EF51769FA27EAB767C78FEA6B78E1538FECF21299484A4B0
2116E0FD3187FF7168D37498CA465CA973157C5B96CC97C500EA6709C9CE4F78
888A1EA54916EC054B8E66C7B21A4B156A647752549F67D166DD7937EB11F3A6
9013DE2A1DA6301C00FCF6B39DB9350FAC9E2564FAACC781AB1C5DFF4B6F7D41
ACF86B65FE6B190946A493E199D1040EB135558C79EC20E2B7C0F58375B3C7C2
322817B649F87EE289B744E33ECC25ED1CAFFB59DD903CE5E6DB1BBA2ACED875
073F01E167DEFB3AA5482049CC71E87054D6D1677C461A5EB26C1FF0E5D78D5A
6E7009F4EE674AA3FB21BE1C6E468857CE2C25C3D6936FF454B4ED9343A811F0
EB030F7A306A41A700B5CE90D982246E325058BA74FA1FD471409950C7F72193
AB80B355EC09505F14AB6B293A51D53CFC92EB0A38A9F1BFD781201B1211574D
CB9148FF00FDC7A09BAD30F199F9A03A88B165D090F2FF58BAC92D2615B231F9
7E005A17449CAB55475CEFFA5BDA524F190AE4D1C3AF766998AE5525EB0E8D61
508B1E19CABF32931F103059F6FCD6AD2823275F0D98B2CDCEA78714FFC0E1B4
B5E31C57284BA545A63F2F89516B7E1D0E13C49BAF9A70BE8BF406390DDC315A
BE08DB26E2B011E4E3217C6C051E996B8CFAD4A90D44C199F7C331F5A18AB64E
5CD0995041FA339068C10C280CC4543A96D4740C6C2F7426CDB7DEE69E3499D6
5AF33D556BEB495EA315D4FF2442845949131D1BC10C6BBA1AE5B8D952F5C712
DA5BD7C8E3064245D273D7AC474FEE94065F98F30BA3D902695FF3C62812EADB
3E33DE4EF632EA2CB2275A4085008717BAC4A1FA1DBEAA38C593F91844D82689
650266C8B2BE549E58CE1CB8477568019837262CDF50BF7BD8DC059A6C4F38DF
61BF90BCE01A49A49EEDB298481D7A653437023843B7B1DFA73EB799CAB0AB2F
C9028D7D91B29B3C2D1113BBFC877EE457043091D9A31817E0F838C15C4338A5
B51856CB57F1D587DE3E51147F7778E9FD3E1D94B1C7D9B323763F9DE787C39C
09D66036FB600F668F1C9DC7E84B74460CECC93969DCEBA31A4B0438592BAF97
504BE434E92CE35BB03B899B8DCCDDA7F614C99EF831B1A31D62DA69B39D6070
A499D7DE167227ADE48BAF7C0BF67938CD1495ED8BB99468A132224E4F57D49D
071F08AA1BF65A84652B8BD1FB01EFA46D09C2B0C429113A792BF871F16122C4
DC04CD6024E87A14E0A5A88B3AB917B72904557F5F38A7C4369A0ACE474EC5A8
347EA25101B5D92B2F683F93C87E829D54C481D278B1C0A60C9E14A9384B9559
17A5EB55D0637CB318CCF3B499F5155BA28D29BD18528FCF63B13823C89FF206
CA36402051B7F625D6E95EAF8E90E48BF68D9E0CE1B189A9B0889DBE900344E7
39358760211864DA2D3418BD1D0DECBF9AD68BBEF5A3105E74CA1C9645ED6EC4
29620FF7FDBF106D7C13BE15595534BBD2C6591669720AAC341A6F21102F2A33
6455DA857F1502354E095EA9D670D7E21F2167DD762359FCBC4503DB57E10584
2F612D8F80067333A52F011A55051CA5AECFA44E8B4A85E1E7D19CDE6684FFE7
E201C331780910E4E29AA8582FA105FFFAB55C57BED89ADD22C0EF980505B6CD
96F84503749EE85B14812EF76110EB7F8C0DEEDF6FD1BFB0BA2827ACD6CF2F3A
499136073113A32C24205CCDF13053379CA305F947ADB93C91D006CA008DE3A0
8605F6F1819F642E058B84FEDDEBA989D6DB3A54CDC9D4DF0C4E7FA5DDC5CCA0
7BE7CB3C0A0F5925E814BA8F4A8187E023DB22440902753BF62AC2A7348C132C
D6F2E3187F6556ABE12C406C13CBA0171F03B4BD70866C36154C112B46F36AB3
DAF573EC9AA8627E4F50DCFA6F4B41DF3A686544EEA3730A6FEAF4C445EAC6DD
656C366F74A0EDE673D5362FDDCB721D448C33EAC11AABAA01EA261E1D260C6A
433C015C8EE13ACACF8C2C10E939FECE8F4985E6A15C0440B1E34F345E74C9B7
BAB23521A51E4832CAF9A874F043CEFC52A20ADEFE5C9EAAB4A524370742DC47
8C29584F4049C0C9A7C14E50627FF61AFC678700773CFC5721C2C80402DA1E2E
7E887B034651B50871CDA30DDDFF160B89E69B8FA98F923729468607E5E68813
D9CDE423EA0DA7496E27755468A8D152E285CFD3A4C1D9DCD7B1C3E86DA5C078
CB6ECD97B190B08BDD54EBDB3D0FFA3F4D5672EF00357676213C2A845586E391
CB1997BD3C91E845A1CA93CE65D198A19F062247FE37A9B64CE568CB8A1DAA1C
E827E564DD503252347AC02B93E0D0BAB9A9B4AE56280AB758AF8D924D29F13F
C43C8803AAF49DEBDD8E42E3D49C0544D1AC410DCF4FA7AB8557DBF7031DFBC5
DE51A277FE25CBD860CD6E3DD562D1FEC78642E05250E9D3379612849BC555C2
E025F858FA29B7793CE68BCD3534AC1CC612D21247B9985984789D4A9387858F
DBAE285A6FF30C60AFDB7BBB80243735446F1D9D8656E8E83AA2BDCC0166FE74
483D20696CAA1B05731FF1085F524C0BABA59D1EF14C32BD768F14C294430765
AAB19F9824ECBDAA94E262F01EF6CA772493709231B9C3FE748ADD591E4180E1
EA0ED503A6EA109C9D7248C60C183C86C7EA99F86019574C8580F55F60541CD2
E73376EEFE728939191CEFB8A2742703B1464FEB1629F34B20447D29553AC95C
8EE6C138765D35BF36DA6D3AB262F6270F664945D8C64D25228B4A67AF4AA366
18CA5AD72FFD50502640ADAF99A99855C1D6D1BF0D6748DC9D23D3C26034D4A2
A12529C0E7CDAEE22C2915FC6C6DFB9E666EE8BEFAA630F2CDFEE497C6099EFF
37AC3DCBE47E3033167D61FF27FEDD9FBEF04E75AE82965A459BC9E1D3629407
0723C2CE5E1BDEB9BD343DC6D279155E7906BD09A880F071BDF74AF677D3E029
522F27AC04EC514102936CF7A2066C07234A4DF26745901F2A2784700DF795D2
C271E214A796F278ED49FA09BAEC9F5B7550CD4FA2AACB60F4AB579800CE5DE0
7BC261D9C9D7822A604D9ABFFBE6AEE5EA8287395FB92EFF9F2B14038BC97E39
7F5B4B69A3B086C40ABE70986B4E1EE679D65B970D848BA09F96AE341B1E4E96
48A1614758DBBE4FA71140F8107BFA86320636DFBF1F2A7DC01A40B0553445B5
1F7782FC1CE2ADF498F4499AFA2D70D7DDFFFB6ECF4798B27B2A9A7BAC3882BB
2259A83020C243EB0CDF7F02A4D771A32D6026DDE10628FC59FB222B8FA097F6
BAC29F567CC1297FE469AF87C4E89E60B02B7E1876B8F128B02052B6B5FEF295
DEF23D937285A0294D2FBF5757218C92B3D2B320E9B8366AF952AD32C6A006DC
A72DBE4BB2BB241990FF8FD79056450380EA3BCDE5DC8B360CAB1FB2F43B8E71
C536494866FB83D911B3DFA97D69FAED6CC9D9DD87969657FECD91EBE81E7A08
1C5AF6B67F8748FF6CB5BC3527FFFEC059100847EFFFD15C2D4E6C6805B10F12
0E14EF1E3E661F4C7642336BBA40A9062F981C05650F670109A409E28396B350
0E7FEA445F16F0F08F1B67793E77C5C7796197EC9C0DA3610FC69E05E3FA93BF
B0D2B2726CC290F5488778C965DA43FB7E02E6FA1247B43A66B0FB8094B99E32
A1762763DA8B4D861F5A64E6B655CA7BC9BCC2F8D517F549FBF9A26726249AC1
F9137C51AB47545A09FAEEF3FAD3DD633A19395720EE2F475DE5060648CF3C73
1B680E5123484615A06C9170E6881B702679BE3A386C6E76197556C57558DB99
106289F6AA87319BD18524EBCCDB39B44B0BD53C74CF1672D551F97F42974AEC
0842E28FB4FB181DBC889AFC9372BA13EAED8A036D73CFEA51084FFBE4475FC7
2EA2FE4577E24CF23D4B235C60DE34ED81BC5C91412847FA3BB564968B8B141F
514243869E1865926FB53C4FBB4FAF6835B535B4CCB376412D278EBDC8CAFA70
32B490FF894A9A1DE2A1EE87660F9B361B6C16FE64AE815EE05FD3D0511C10CC
F06DCA8793A8D380AAAD9B5B2F14A1D321B1242622B4976E9F9BFC41D2354799
02CFE791BD033057F5089784DB541DE20E3543B96D221652E24AF77F9A21B575
20E5F3887C5313E8DFD4428AE7CE96D49DEFA0D6F98D554F79C0DF902245F89E
12C40F4979DD77EF5CDB0E64BB65259669F5CF0E9D537CCCDD68BF4879DDCC02
D1FA6E2918DA3E07B41C7E96619AEC2EADE6973B7D82461E94CD53BF7B3D
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSL10
%!PS-AdobeFont-1.1: CMSL10 1.0
%%CreationDate: 1991 Aug 20 16:40:20
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSL10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch false def
end readonly def
/FontName /CMSL10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-62 -250 1123 750}readonly def
/UniqueID 5000798 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142
08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C
30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF
C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A
BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78
5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D
43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1
374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23
DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4
B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83
63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B
89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A
5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2
C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5
7B6DF50EE617C00966B9A2828882804DB7477F4A8CF5345B7F3568B4F72BCE73
2E2AA5BC4B4C70E21F3AD9AFC3B8605A00D67EF9ED1F4D13DDAA920D45B43CE0
0941BF17CF05D2B777C11D4D844AB20C0693D1DDF00B27D9E1AA2D98A4A06CC6
D342AD8F644F4787B66CA7D861E7CE13FCDA85C1B0C9F94009768EA89838EBA2
7818F40A3D482C7F8B20E97C48D945E4D5C9A0926165C3EA9EF6D227F42736A0
2B54DA6600E554457BFECB94A48538A09F3D4AEC9DF494478C67FD7459ABD723
7AF2DE960D5D8D7B616BB12E457E92C31576425A9EE556C2CCBB00BAEAEEFCF2
B341C35A16D86C1FEC93A12F63BFC1943E8E672327A31C31664EE7A90E864961
44F830A9507D62FF4A698ECF8370D6038F12F782BCC475AD98F7C4A276B52828
E8B5CE2FCBF477101014168D669A99949D7D7EDFBF51B9C24D8474EC0D37D1F0
342C51173C2C99219B2F73A9E1CC8294CAAF678EA0BDD33B54CC0D1B2EDD4D4B
C6D7D76CDF6A6B5E43ECD78A857CAEB44D63BF724D2FB380E55397DD0C692A6C
56B886AE808A804160F432638639FEECD13364B8D3055FD63CD5EA8832452B81
D7EBAE1B32D778B869AE11C02033E9BD2F3DF91785BFD13516D9BA9AA4900B1A
523217CD72383AF8695139FC589270E23AD27F62FD2AD643F14A755BFA37B21E
A2478B4E5A9EB912B3FE5C2B6A2C8D8B633A2E9EA1DB114F1E63B0F5192EC8FA
33EE70743D853DBE2E34EB2FFE00A1A4609A28B2CC84C8F4A630E6CAF7381C73
8A1CFADA8913F56CB9DE781A8A3F1D96A9A1548E213DF078F98E1A80163B8B94
C6EFF72F3D6E2E61B9E2D6DB6CB7E4BF1BB2016C183D91AFAA08EEC38B523E41
46C844D7836581615641A46BA519E24CD9DF4CED6D66C071DD47CBB4089C75E4
CB55FB0FE7726B74CF549A9FCEB07DA4114E595E97A759FEB8104CBE6793B795
F2342E7C438CE6C73CFD3D6D52D247C919DB41B0C053A431770B3482BACD0CAF
401040294029FF3E20DEB640DDCEF58C51B290410E89F6C33820555402525D4E
AB37581DB3925066E0AFE6D4559981FC89E85EFA294FEF11828EB86EF1B77F6F
742A677CB9D8D9753B3EA65F12F3962E92A244DF7ED84CFB46999B975294F959
5DCA6312C7C0C7AB9D2453B0E0C76AEFC4C9D180056D839D3CE7255D6CFB7AE6
B4AD6B9E9BD7C45F1AE7B25E74EA953000607A490A4E2453E18456C2AF3E99D1
7296F2C09893C45BC6297BB6F1CAF8D44B1D82B6231249CF6319C6925A684472
C1899D3339CCB10EFA31B33BC7693A2537624136F89772414535418890F546F8
8455F918E24CD08AA35EBC37304E1BE37B8355A85E7694068A388B7B93B248D1
048E35E70F5E198D122C6E105BC312D017908B3CCC07149CA1421EA10C4A7AD1
600D1548AFCC2887CF299B8B8049F2B99C3B375C5D859835240DD1BDB0586F6F
D69DD668DE3E0C0F1F619C9D22A0CFCDB26455F285653D865B6E71792DBEE705
6496DDA9EC37251E100822986CCFC5CEB31518E5F2E738FAF0807DC7E5FF3259
759D5D330E1CFF68FCE173A6592E74565F20BD002F1B12AAFACFB31889D18A77
CEB07E80ADFBCE5C2A1D758A353E220C6B49B6507C7117F12C2E725B1C3F0C60
BE04E0D5F6B8255C5B26B2146BF4F92836EDB26A68CBBBC331C42670CEC3F58B
C3A8541EFB9990C8BCF2F4E0F388918FFB791564A321BF5BE993C7AABF5C1503
D8A06B1CAF860D86B1280431FB1D2E435BBE4E9C73D6FA986CCC59BEF17808FE
23C2E88FF3F59CC93DC1FD84954FB80B9ACAE4D44DEA056173F3CDCED09E3EEE
6A8C3BA90E106B22DA68BE92544DA5E4195899CC5B18152A0E2E0A61379A2C26
54B33AD2C686ED565FEE3062807D7B9578F4626ABBF3B53E86D7F3D55F47E59F
5A941076D54BDB38F2D9F52EB5A8732431A2250E360ADC3C9820567BBB25F887
B3BF3BD0F2DE634AEEFFA5FC2E473DFC1898CFBB3F91BE328BAD220A827380B8
67887BACE6F1EB74CB29F69AC35D55FA7CCCC83E106D07CEDFC08C9BAFE1C5E4
89F8505041736CF8E7690C874D2E3424B342EBAF5247C3B2D37951C01A996FB5
EB9EFB6CD4CFD6520A57EA8A2CEEC36CD18C08D17B3676FDF776FD5BD51CC767
D35967CA0AA81FBF0C2E67922C20217B035417842677944EF25EE4A685FF4746
2B39D57D083C768328F1CFCE9F91213A170F99CFF763397B407E38A19D383ED4
BFCC1190CB84E736AFD299A3822D89B309D3C4914CCCB994AFDF486585C735E1
4A924C66AA901F4F4909F04E158A11D2AC7232D0B31C5B876FD25865895AD4CF
369ED6E5CAC2234A2BAA6577403F8613BFF6125774678B0DDB43EAB54E74839B
2B65DBD47C361ABE82E3B91CCFB8C1D1D27E2FDACB8A87324366E7ACA9A2C52B
6C2AABAEF7851EE231BD189A59C06811AF3A3DD3F8DA19CD9C396CACCDA34B19
751D37B602260C80F84B4C1851B66BDED1DEC265CF461DF5CA512269FD4B0F8F
DF378CB6FAD2B9AF2D1A1B973875A6EAFE4A0E707104C6DB63C1E0EDD2CBE928
4697486CAD01C5A916A34F875AF07E69B92FEA4179383F1FF974B4BD2AA6D2EE
A71FA716C77D0B6532CC74719EC3AB995E46778854ACD6CAA8B36A019EAB5543
08719FCCBC09C3CC95598D09B5B4E899FD569466F097B28FDBA0DFBFDB464004
CEBCF670F783C7C936091794048F6D5EFBA62A304944F4C93E138596AD1009A9
96068AD719B15CC7DCC15D74AFC6D4427BED027CEAC23B8991AFD08990FBF25A
1D7293A6CB7DDE608B3871C59BF29520ED519F8E195F4BF46E9A40E1E71976A2
0ED64644425D14F1A1BB68C29FB3C4172DAEE900FF13300ED5D3A7981DFF6FFC
19271B34848BB22B2F668200DE35ED4F7566AB1CB13A8226EDF71F2B9D4DBC67
D5117806AFDFE5B5BCC3CB9CF8A00627DC09654F761B8F8949D799856952A097
7B8BE430F435DB4E8BB8ED7392C021C7E2F51969AAE589BD458B4724DE42F58F
DADF2D21FA7A905FBDA83D2CF3DD1327F25574F16D7FA36028D972E4293C39A2
D0B8E2590806C56EEEE8F64F335F4EEDB6CEA8103EF1013C00CC5C5FF97C4AF2
25782658D88742C2D92CCC4435BA90C504C611F415267DDBE53B1A5400676708
CFC095D195AEB477C45273E3FFD9BBDAEC613E9F6A2BAAFDA1602B682322F9F4
0AF3806944676B17ED253EEEB91587D9B9899021250E3B9111C9A8DB70FB39BC
E98DAFF12B0FE740758DCE19E1D67C7FA7E3F431414896026CB6C28AF44017EB
335D40203E12560E29FF40EB6FAA6C46F28AA7984E8EF3EC094A33225493EBC2
2EBD4AE9676651FC204BFCC584B17489B7363866820374792875F267EECB6E03
938BBFD275E585C8A3C55331707A0B087E8D7D107CB41E202C5E7A3A1D560411
4B62FB30AEC5CF5017350100893E6565FF8470BBB338C23ED2C7B25F1007F62D
463D093C19AABF98A4D32AAF7BFC20DE72E6059D9FB72B964210D84AB08A5821
52C3D3D5BE046DC9CDFA4BFC4F6AA9F0D6328152F89B95CE97C68C2A49258981
E690968F32066133A1BF6EE069BCFFE6D5E0335996868440EC21FC5287A84443
087EEEEBE6680212DC0C786CC3557D2523BC06F25E86213EE1929BE0FE2C7E20
12CC1EED5CD514BDED4E53ACDFF56A61EEE7F3D5A6ACE1D2C6D3A41F0C7CE29D
439977BA0623FB1DCD7ED32739E7A3B86C7DBE93E129F1FA4864D48565E15B5B
151AA54D7A41E7E50552B08FB0F3D5F19AE8B9E9281BE0614555867F1BB114BC
C1978F2C366CCD826492E5FF7033F0ED5353BCA7808020FB7C378FC2A51C84C3
263700FD29D4544E31E8CF92912D10C5E5AE3D0369B31D82FD053664A9FD0E76
23AECAC749317D8113B287AA6EE38DAAAC81BC12ED3C0E990B6E4B4D05F7DB71
7FD71BCF6E6C1A514E59470D697357BBC652F38213FB4ECF706FE26F9F27A3BB
675B161476C7F980EACB9CDEA9E84075620E0DB70AF20A27C6386BDA421C9699
FDC07BEFDC97D6C66F1DD1F674A1706BAB406207557B7AD2DAE82509D8C3DC3C
F18DA7990BA5A1B2F8CF1C76E2DF83A4EE3F8136E818BA593C45830A6E13CB19
BBCE38B5EE82B15F4BA9F37A9B7460BB575CE4A9474E6491F2ACED2FEDAF73A9
7CAF0E9157F76BCB41E064D9268836760CE70A95CCCDCA2E32B1F49E28302210
AC84F94F771E828F2730BBAE642DC50AC374A39415136F6FE2F0B3A79951C037
864CF5FC2DEC5DEA7421A426862E0A6E76FB778662E1F3BA7E4E50183F4BC0FC
5EBE14B592E2999E30AD3F13F28233CAFFD2EC7466AB0260D9B2DF7EFD39E3B1
1EF8809250E72721C0B9E047FF661F50B690E1FE7B4A6B6320068DC1FC5F2C6C
171B04E1851472E29F139D8B30919476794F72A916000E7DAF2F504C9DBEFFC3
9169A8986350F977E54544EFA4B6F58CDF82E3FDBAF27F092F684F66DE992F3A
6E898F323324775F0981A71C2E8A5796A8F5FE6235925C316BCC8A42F2D78870
85A8AA3AE928636BFF5B5703947A9846911C0116E96E0F94F37A7A383FC6083E
7C11217874E09ECE0EFF7785D2EEC95565026A2D56944107257FA967A0D7449F
8C7D3F20CE085562041EBAFC5B7E31B5634934C24884D799EC834A6FDFDDBEA2
A0F1F4C6E75A00FBBC3777876B0F4D01B1CDBE90ED7A1F68F65D30E8D1B6D5E1
5A5232A846E829BA750170635D175DA7E2A5B9FE0FBA757B04A5706EBF693BD0
D8BBDBD8C9ED7F8509526A75AB63F5B20D54710C7A73257F85AB376B12715D6A
E6B1807CE81F71601B367E628BF46D76C91B46CF37F13378FB7AD266E2B6CC30
D8DBA0931785BE77702CDDF33AA3F767219AD552C1A70E32FBC34E357283074F
4EFAAD9D93AE77EFCF6C69B0EEB6CEB62DD8F99EDD00806621CA7E18BB82C71D
DB6EC8DDC4D2091ABE8F8C6421451A062B8706D7388A585FFB392FB86DAD71FB
24E294B0F26D78757B7AB0F593861A60A44E80F0D5476EAFB8E9B2F2233EF22A
7853885115B9048DE3D34EAD397A9FCF5FD78D669B65315F176D96C34A9C047E
80C793D20E3E7D2859A573C5CFBD4994DB1C8538F7C7DDFF1E59108AE3F0766D
10E07DC8FF9C94348304522AEB1919C213729E8522A7DDA80BBCFA038FBBC84A
704C6C58BFC4149B9B7BB411268EB53AD122A5152A016BEEF0359E78C588F7D4
F8E91C87332FDA8A42A5892EC483776B4E52C1D6D95C64DC01A82CD21101FDE0
25E8EDD68F6B7796356431356CDF0398B3C1F823A3B6746B5BFCAF773B818E17
7B91974A5F752EF440E9C75B28B92C3C5563E78AC86125D489EA5E1500B29C5F
7AB3ED30D78FD5FBAF4EB89498C7982E4CDFFF6A260492A63644157DF0D52C64
8C01A56A28A52BDFFCD414800606467D00E8A3D4F69A408D39002C2388CB46E2
CD06CC5AABFB012E3B703419B3C5A23424E529623D2698C0803421C557568676
4B3448B956721FF3797D2CAB54618A1ED1014E5C5DD0A807A1F94A0D006BADE1
02F88EE5706AA853C8386A940CE186417773A7BB220962BA3D65EC78DB2CBA91
2415E50710FFC7DB232F86360CE02C24B1FE4283721562D53839269E2BBD7804
49D6BB8108A21E37F4957CFB2B8A06BE21E0ECE2217D0D011243CC31550A6069
AAEEAF48084B17824E2ABDA966C485668C6C74A5D9590226CF9495FEC0781763
BA27381A338C886B08546EEFFE49D8EC3887A42C67D66868EE5B15270EB6F705
68B81EA400CDCDAA2F72AC009665A2353BEB1AC210C42C85A21A44A370BFB4E8
D215955446DEEDE243A67107F93E33712D484C0E6800547C6CBBD649486D27AC
84BC42B1BA6975B40F6F1798B17F14FAC705A8E0539F65E3F77DB480935C0AC8
2B65B0C92BED493FE52B3B51646253F1544F1DD3CCCB39A2E89EA387976C1B25
69C75726BE315A4FF05EA8A2CBE2822564B36507D1264D47CB24311296F53A32
C3066D919203145FCF7D27C175588222F7D886657A38B52884A33929C4846521
5AA98F6A89C5871883D970463EF58E5FF95BBD3E6D757761503309B676D8ECF4
E4F00FD9A959FA5E9CA7E1CE57651C1CD6CAAD35944302564D9741B46F7EE2F2
6D477604DF5EF877103352379074740790CBCD468E8DCB0C21F39059EC3E6C64
CE7590BF5E288522E84F50A6005553D5193F0C6FFED414D025FDECF017F78430
9A5A549FD7534CA5B2D8A08A2634CA8307A8F05125C28D81D76DCF03FB63EA16
17F289D8CD5C6B2B2C6AA2A0BEFD15E7231F474FC455A13FED9F6E18BC68CF20
AB19380E23575961BAF7B044C7789A60884F82EB8C9CE2E245D83A3AB18B0C02
1AB6B5D54217E0DC896877733FF5F58E6D0A71E29393B152D7B89D9FC3BFBBF8
0944AF491158C5A45CE7F4E9312AE6C64766F6BA24E822E254CF0070D5C2D16F
E75577F6D632133DDCD38EE7DFDBF3B1774B9AB627FAF0AC67C7043CEDD56200
31D18A4C7CAB3931F14B21F9743A7DEEB69ADF3066FA7DF39C2DD5A0DCA6E355
EC332A937FBF65ADED110BDE30127009564E9B3ABACC6254C0BD1004BF4F2734
04C13A040F31FE324CBBFB0F693E339995E96CCBF0D33061426FBC95FC14DB6A
F71A75379A22ADABBB3BEE9BEBA8BF89F4E23DBBBD5D2B680BF893FEB33CC602
B6607B3D82D1EE48779F51BAE5F4DD5F43068A5FAA81F0932BC685F179C624BB
7083BE5F1D70774221C613211583B26B92F45BB2FFF9D25753A224CBC2FF10A0
7898560E9575D47221C624830B0D2DB2EFB69F9C1AD2B49BCEE1DD2CDBDC46AE
11C0C0FA5465EAD0E56C80A1466B6AE359FC038142347FB20520EB4AD379EBFD
8439E128752D2A5068483F8B59C916634CE7A4193C6F57C69550EFFD8903F7EC
811E156C55714A29946BA6D56ACCC0ACF17D4EDDFE5DC437EB8DB051D35EFE91
368A171E790C703994490F77370BAA36C58D268C6B667257FDF0C2EE173E4D8C
A2B1BB176E833A0AFD4AA2C6390680DFE7668609C82467F3F5A73D3A4B993B34
B2569017C2953CF8A34FFAC7E008B6A51D6ED878575F0CE62DA2B23AEA39F4C7
663BD619CF237C58AC2D305BBF20F6670158C564C908B11B3DBB5B74549CDC36
81B960FEE67B2D4183EC6C5F571883BC05293BC394D82BDBBD2C5159520E2753
F9BCDD2FD64658519FE1550A6D0F9695B50A0D9ED9D1A744D2C520D5367FEEE5
80EB11B875DDB3A5A05802075297EC9D2BAED164F405E21652FCC28C81AAD258
6F3D04381B85178C7997DD3F76421C978B787E061DB49DF44B984FE6EC5D1FB3
3C6258E9C13EF23C81C022884C483EA37FBB66AD6CE59CE183A3A2A2256FEEFB
220EEE1E61CBEC65BC35F32F160DA44DAC87AB0A9F0972965315BD2D4B692413
FDB3444D36C8A181DA16CB52BF11369F6E0CBDF87D508CC1C153494579C8F563
A81EA5F0CC7310863C3879CD809AEB9AA62AEBB1451B11E896A3B61EF82EB9F9
7592EE5B4F1A10CB3B3E3EA4E653635E00BEA6DD9B2380AFA189C8A5CF115D18
FB3AC1B041AFAA747FACEFEE1A8321B7493155582BA77962B30A4A466C20002A
8672B54315084A37858CC8861BB4DF42F84155D87CF8BDE5D7FCB2B1A1E18536
709B80034487F209A90EFFA0375B32FCD0CE19E48D4B8528FCDC5C2CA9943AE2
CA3C3E776DFFC99BE1AD1BA043463FB9EE8FD5DF070699F58D47FEE711C044C0
806558E96550001A8BC9FEBF4D358BD0883D8ED66D4BF14F85FEAAF694AEBA18
0CAD8D54F640409A45DDE1BB0888AF9A99C2F71908104D2FB11E5A1477DD9079
1C204C5510764A3F0FD52E973F00D01348CF89D26B9A64813DFDBEADF81D81BC
B3A464B864F39AA29670D7FD43085586A6EA94B8BA491B58E730BA30A461EE37
3EF282C13BF5A1BB65F66EEA00C15BA849465016F7DF9A819B52EFD50C27D01D
9CAAA2FF68570411E8B00DCD3756A48D35C1F429889CD9D83DAA47D663E6E6F0
C9CBC5719DF54D913C5F95A6B7D3F75E616F819F920C86065D3D3CE20B51DC1E
080915F38A42319CA52AB8A3C8197122BB5E61B89814DFF5BFB76A5FEF4BDD46
9B640A48899740396A253DD3869E0783B76431F2D54A5AE0884A371A90748E7F
C98FE5242A20E4B05ED6AF17F3BA3A78D84E499972DA59989DAF9838078DEBAB
83D509DAE15BEC6EF297F811658959521E00A4EC7CCBFCC041160CFBA2EB8329
DEFFC10F9ECEADF98331747011AE70C9C5DEEABC725C3D9A320E1581E588D3A1
075E81C11EF3BD8BC9BE7A00994F3B75301FE89B5CBAEBE4ADB3DB63EA840133
876C61A2212917FC26673E7765C78AA7B13272F1FE31E545FCFFD3250513B58A
420AB298B793F03FE569466A1D37808AB947B857939CDDE43EC395B6447D0A02
4CA3F49D776C1E0FCE51DF4F864A74FF9D2876CA053D13F0429D2F5852E8890F

0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMR10
%!PS-AdobeFont-1.1: CMR10 1.00B
%%CreationDate: 1992 Feb 19 19:54:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
/UniqueID 5000793 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA77428025D4059BA
2988AC2E3D7246BAAAFB89745F0E38580546045527C8779A254DB08DCC6FB9B9
0E172209FBE3857AF495A7F2B34BC893D942C145C2204CFCD6A5C69FEFC25B60
E412CB2BEAE7F7FAD03AF46344F6A7D483BBB1E896BF16B0F4C363799DF23CE2
E8127996DE841B6F9D8A9E56BD799B6A938582988AF87151BB8D3AEA85C49857
DD862B5E10D9F33D57795D656FB616BC9B8397B3612131A2B0F472656700958F
739A548F7C3A348698AF9F6F9821D7A9FD4131781ACBF7EAB885A3AC254DBF94
02FA697941A0F97F048861788BEACC20DE829764413CA58F9D045A6B38BCD6E6
E4827247EDF1171F64E3B041A69B244308DC07F66643FCD7D5FD37F36EC4CB5F
957D4ADAF91850A3B1A765E0E580EDC77556593D1B2E1C22685268469298688A
45C474C9D0472D019CE1E83F25182D084AD85A49C502E8D679C227DA8E32045F
8055D1622C478F8FDA342685F858DE3F53F1CEA0D70BF54A4B35884FD75D8B36
E54B9393BDC9E020D16B0C20E943CF4E22C0380840DC7628B70C3CE570EE2060
34708F5531EA5E286384292A5BD0E04ABD1165CDDF8C0ED8899A82F64D2C2DD9
90C50E0FD6180D25ED5EF2746914E41E859EDE14FE652EBC40BA85F56F625947
805E6854520522135276AA0AB3956E65553012A51DBA92C0BE18D9A974109FCC
24F2F7EADBEADF14359BB85A0516BF482639761B7C4134B68E863A71DC8C76A8
F7DA8AD952F9428B6B492FD55D800C3FF266774D9807C268FE482333BC9B70FB
C55DE4418DC3AB396B4150C4774E01A035DC2EF956FC2A0BD0BFCFDADDCFA8E8
299D6610014F4A73D5641A82528DD45935EAF72CFBB6C95CE320FD5EBE8A9F7A
2BFF5C3A5EEDBAE186F86B95AC394FEA62EC3A756E5DA7AFF8145444A7D632BF
F8F6B211BD2D7E4A5A56B235C3912249F53683F9A12AC5E8AEE324000781157E
739C254AD437934D7B83ACDC2D5D7E6779EB15BECAA10B662A8B8A1CC0D6CA60
FEC9AE92613561A80ECB2AEEA335B5BDE2EE3FFFDA3D144DE40B82F93664F07A
7265281680C3153A10DC16C13A3715BAAEE70345F509661D04FE872F66420B6A
FD94B36FB9565C4BEF9EDC71B0CFF58437FC06ECA3B15B875AC3690F0D2E596A
55C05FBA3B348B097C1453F27CD6AFD2CA38D3A6002A0ABC3655AC52EC9207D5
6B74AF8B9931BEC0C18E2F1BFD273293AB3593D553A0194D694C4E7036D98DD4
CF5A800D9E729515FF910E63CB3E1060D7F7562F79FE18D45CA52FCE85DA9039
5C414211F00A20DEA60B26994B05D9F5DF57D97EF5086824B4A074C78BF7F845
9C92908BA9F903BEB71D0F70249D69B1A75759225143C842566C031A2D15FF07
2EAB20883AFF604886616903D8B95293F48C1A821C5F2096E88C7CC13EDFFEE6
B0992152E4D6625C612511EE6254D9154E1B7EEB4C64CA40BC6C5BBB3584D7AB
06A2D217BC95F8514FF2FFF8F1D31069E6DD6C215ED4AEA0FBB275161353D2BB
9148067B9C1C0DAEF86F43E907E2BFDBA15788EB4851AFA5900FDBEAC12F9978
B5CB2A2B9A93A7A1349AFF9164DE7683708E67D6622259AB0CA883F43B7ADCE6
A52DA5C9F8E31A455FB8AF8E3B7DD551F8F2539E3B6A1F5559363221C9618F6C
03020757405EF2E171F0B28976E9312649BB569DC754C15A660BFAFDCFDA66C3
F1530B39827EFADBE282F838BEF83F43019B0BF4E9105F7FEE4CEED3295B8883
323624066E38FDA0FE03238F2207970A2096EA3C1F4A5B8D7A79B0B7593A539D
A2BE83D6DC4531AF48A775FBDDE2BA9F362FCDEE77062B2AC015B1A9299194B4
C542C929146A5AA31C8C788FB1D710D6FF718C12F24B970A4B9E94D26E673F69
54562F8725B4264AD9D43A82A1959A0D69B86358FA5BA08B0840C7C08675A416
8179D2DEF26C29A2BE5B349BA90A680F3CDAEAB5BE6835074DCF8204D69ADDBB
6D4774318C02E0389BB49B478D032667229BDEA85E2822E1F59910D932850032
0692C3E36278A2045DDB5482D92E53BE29A76861BA194543B058851733FF9C0D
31200F172C6B7C77A6834A0F9742CDB68452F2B349064F88005F69ABE7E11E5E
82A723B82E207F5DC7485DE3C895F9F4B81203729747CD03A1B482CED880E196
25B0C605FD8E559FEEECC3034533EE6076A03AB6959D40269F36A7B33AE4CBC8
6F9E1DCC8DB3C642BA88C344FA6A70B6B280BC7D481A8D79CA4C2F55119A0FB0
AFEAC97588A392DE5EE6061494E489AEEA8B05F104F104931FC0516AD651B98F
E72749423221F84AE03DC214F349D5CA07F07B24EC99B04AC99E69588B107BC4
BF2D04D7AA31882915ECB0ADFE20E949D5905076F2FB0B524F5E1AC2C62B203E
27A04FB44D36EBEA7158A08C31F2685D2A753CFEFE91CCE5DA0EC17412466D64
5C924CA4FF7BA310ED5B38A0BB65146B1AFCE27E102FCC25E204A6EA342F1484
9AC0E54008E6FEEADBFF5E02CB2FB920535FA8DC6D67E1AFAC9475CAAE6D71F9
6165DF1289B065440F7A0F6779E7D92756667890D239C01A7051C3A870E5E4B5
ADE274060C39749315FD6F259214FF086DE32F94EE87039B7E70A4E72CB76A8D
B2EFA65C6CB4779E204455A9D26EA2441D2693B3916DF80C09F215FA6927622D
853B1F455923BFC2196903A7BC474224D9FAD384B055FB346E2A8F74D6D96B2F
48C5C36E9B3072249D432176FF2004ABC1CCBE3E47DECED8DC69389D410993F4
91F1264B32F698369295C901B175AA66AB785419A186E37766A5FC8301B9E8C4
24DEA2BE0371DE31AB8F318278F71A70DF1FB0BD06B8ED602E860DBF69D4779D
159EFAE5463E82CE1AABABA7D70271D8F05130EF12C0CB1DF507662694E300BD
7ACBEBEB4B470546AA9B3F0AE3795420D8829FE7F7669FB7FF5063CFE257418B
D6945642F076D51313669EE6B65C9EBC22AB31A6662C9AEF8F1372AC4D41AC74
F2BA212273D4CC9125361B78A51FB266F725A62516E4A699594045816414E632
861B5B43857F382B39594E929476F21F2D20CF7C0911B62834FA69EDF07C554F
1F935203617CFF801A19C8594AB57EECE6ECE5E6F52144B2DEA92EC5DCBE2178
820305EBB6A0C76A6402E6EB18EAB792F92AFB0AF16F145481585B29AB3B4689
4D6D5134F3605E1BFB8887BDCE9148419E135111BBDC473AC286CFD8ABBB116A
54D41CE2E878EFCE4E7C55EB6BFCCD7E9FBC18E72743AB85A94373779DB9DC1F
B7D9394D43A2C367C19DC2398B4D0464236A0F3542C291AB648E77D1CFCE3FC0
535802FEE76EDF1920EADE20BFE29D6C8D810A138B49576E5856AB94CB7AA063
7D19ABD97E27E7909F341889CC95ABDAF0F747147BC658A7A4F5236AFB8E4303
7B82F4C9871664BED7957EA94179E5F3049E7CEBBFF23E8D111F68246F2A26A1
532F8F1D1F79200C965F5D62A97BA8A004A3F4D00A41E615A773F4EEAF8BE3FA
4AD7E6F3BD7942546A3E145DD43DE6DDAA001E5AEFEAC500C1219D34C75E8890
1AD8A4A5536D1EDCF2AF15EDCD8DE10AFCF26F9375E71B9896A6008E6044598A
739AD6CBE1EDCCD402E34752EE8949188E0E61D9EE313459254E0C94FFF36741
55877C67C33B33227264F9EBCF4B652FD5B57B8A496D9A8152891C6E3A2A050A
29F7F793254A8E02C46344CCFAFDCC8D4DA4E52EEED6761D6DC28EF24EE46ED9
77B0590823521772CE1E436C74334C7D3C16F22AB1E2BBC8DEC0F1A90716369B
ADEE468093EBAB16BD5EDBF50720B005C751E4AD2A42971329C8D8A52309E0D9
F3C13DF6B013FE32C63A6D788D909C1F26F44633BBE6837909C25F7AFD965718
559A108C2B10178B1E7974BFD648C3ED9E7F2395D00FEDAF1EEF096835807F94
58762F18B22FC1CA342D76D67D958EAD1BCDAC0BD8E093D0DA9B24740B8F71A6
3FB7B60A6FC868122DA436591BE52A642AF52FB3037E135CABCC10C7386EC1DB
A09C0ABE0ACC8B63CBEB4EB8D826A1E449C09F56039FFED817B66D5C59588F42
662D7999AF332F0A5134062037FCCAC68E5DF8A32684E5E0AB529CCB5A046D24
6B4DF6E8EFD9C6AB28419319C973BE823032516B072CCEF14A4BD3D6DCE79FDA
0BAE1B6353ACA65DCC428C3839DA33DA2E6935C8D7ADEF75B450B729F05634B8
674158F32DDB41B233DEBB6BBEB53851CE1AA9EB49AA9957F207A7A6A60FEF54
9E051AECF8BD3C28D2FA58C359F07097B63BC0EBFAF5952818FEDF762CED46EA
8A35DF9981DC124B66B219D059D6ACF51E2CB7B7D1347C50945E5BDC70D65A89
21391638991F6838991573706C5CB690492B122C7C6683764923D3C560FF93B9
E9C1EFE23B1D22009BC972D0C22742FE31990AAEDAF4460C347F0CC66E08F071
85EC5A36FA306036BE346BF49A98DB5F75AC7897EF24DF7C4823BE7AE5185A76
716ABDF5D88688394B8EFFD7FAA9670CE0EE33B687380A387A6EF763E0EE1DEA
FF2AA78B4A9D086F9D04E92D2500AEFE73E273229B7DEC3A9CC6D0AA09B1B957
8AFD1CE51A5E7E39F93412A6BBA63E2502917163CB9FA288A872D41C6170142E
62220CC7922B5A45A9B1B4EA94E17432A9D342E130A42860AA05238E846BFF76
328A84829595DFECEBA92A2791E05A7CA4217D855C012E878C82077C1CF89E1E
32660BA14ECB83DAC01DA489317DEDB4F66968E875CB289BE9C7BFA4AFBDBABC
772982AD877D5670D5AD89B5EBA5C09A3C6B34AA5D1A26AE4400F5906D2BA593
76A5802A60A31263BBBBCA0B2EFD5C3DB330A11A8C2A9F43A7496008A81523F2
00392A8A5DFADDF530803EEEB6CC377ADA95CAA39564F4A0ECA40BB91245B003
F406078B69B3B28C5D239935D9078F4342A0C0CD5FAC0362B0BE33DAF09FC1A4
759B53F5DC72A52CFD1B0FF15CFFF3E6A23325BF601871F47AC7526D7576FC14
1E4D60A3BD70AF60AA88E68A7521262EBCD8ACAB235DB43AB9B9EC260C357445
80A0AC5DC205E8B12022812B2E4B17B5B53985CE12C9CC3930F990FD59923334
B04F01629ACD947E40F9F70013F1ACD01A373441F609B25BAE4A05361D967F28
642211A5AF97725E05ADB9FA4733B2C0D8B6EC96829E7131DD5337A9AF190B26
F921816352D19D648DB13B93297118EB09FCB12522ED8994DEF69469B53D7363
4A1A6A29CABFD3F94F792E612A396253F94EB4A0571731E790E20B2F4B498B69
1B053873E0A28264A0D97D6FF558564CDC1B9BA890C5ED291A6F625446291595
4DA90DE4725B124CC9485EE5C9A373CD3B26C668A38AE96A1ABB703B0B2828B2
A66093201579A850E84B5B9A6E61EF20EC390D1B1C60836B6B7CDA917CD13162
0F5B02BE256BD1F70A3566BFBEBCA5CCF7BDE1AB85F8D3733BED890FFAF37900
021F2CCFFD5A0CA58E20A639FD2D946448087B88642F0088315297F6787393AD
BF49424FC3B3DF7FACB9B4F5816DA997F29EBAB62CFE938C947DFCF2365B1051
75E6E3F8AA532C5160080E498C7F3154BF9729C0CF9A092BD622638F3D978BCD
D2BA1F90844CE53B879B6441203FDBA9F07C02525D677B096A931C8EDD1F2126
BF2A5BCE89E1EAB3D7B18BD3D5EA549BE02FC4DE07E051B455B2C20B93FF04E9
434B9918FB542AC2C03516E6ACC840468ED1BCDA3DB41C59D165A41BD32AB32B
C27A0F477D079DEDDC0409835A40BA2AD41DA15A854604A3F61550BFEF3D94FC
7A2284173DCA3B04F675CF7D35686FC78C0869745005BF1CF50B577E28147927
2BCCDC03AA5F701B1C94E4E239F68F550DF60ABB662A61FCEBFDB7CF473DE3B0
DCE2A3EB97CFEDC3934B0E540FF2597C4130B514D29A6D725BC65BAE1FD88B50
C197855779FA84B9CB1E2665033DCA1629A7360FB274A972367401266E57B5A5
3942DA60CB5ADEFB1B1B6319184F7D5E179BC36A1A86244BB7410271668B3FF0
958D02D8CB1286EDB26A08646014533267134E30750C12663B6D02E81EBA935A
9A5740AE5E88C351C15C748180428B300158EEE9E5D3B6F513BF45CD9F59A382
19E3BDA157DADC461F4EF1166FF652BC36BA895F794073AD998E02D4F1A083CE
9BC664FDBB09E095D752680502B791BEFA929F06AE7E68CF1E0891A988A610A4
DC88BAB78DBD973CA8E91E648121A2E50F1B9AE2BDD9FA22E734B79313787F0E
8BD8EE9AA1781A45DE032688A8E8031288C5E4A6BD180F6179B5CFFF410710A8
6E5D75AAEA0BE13047A0C684F8D05A9E1377FEDACCD5CCB548985B9B14BC6AB1
D01941E6DB1771567E98B84E075268637D7FD00645A8DD6F80BE2EC551C8DE78
BA9B2E75B7C54639F8E97CF14331558918CEA004C5D31A77D21A032F49BE7CAD
76311812D29EA2A39C2355B578E1992A18878BC5B9C6102FEFB7CC7035F2222F
85A638D0D1D9447DF2ADFF83581C4B38A2564A5B0EC0F10271558092863BF7F4
C1C0273F64B839C36AFF60C83F8CE4FB8AD303E23D5584C0F531B2CDD106B66A
7252C479DF4444CFDC81B7EA9CCABFB095355D0A310178D6EF079082A3447C9D
46E1AFF8A2B033EAA76CD75D516686FFAB40B7E41772D1AF1311E7B86F0E389C
81EAACE21A2D14B46B922017EDED9CE8C301BF07270FBF78122A7C3A554FD12C
6DB85865D488BEFB4C89B143ADB7B87BCAE3CD0FECAE46047F46520FB6F68D8F
146F7ED75B318702486A3397127D48520FEA017724575DE36978C9055969E577
D09184857BC8121811BE05C73D283DB10384D10A4BA542223743246BE0933E36
F0F71B1F6982617C9683264E9BA697DF9DB867B598B357F0D0FAFA1B7501A507
8FFE339E699C61AC683CBE247354BED057E20B61C44B27326DFACA0FE571C0F5
7431731516090ED384CB5CE531C02F552FB79F87A813D5A6801BA1A448A3F788
F076CC62CCC170AD1E23430D06EAF35CC2F76AF155E53D8B05C561A896A52FAD
78664C6BC87339DB038C13694E7CF09EE8B75BEB612DB24E875A65186593C481
510B45DD2D698C0F8B45DC08A926D9639840A31D49210ADD2FF728F75A68E1A8
46C42055C7BE72E31CDA7A13AAC07714EC366F2F37C1860F9501623F6A230A3E
11E846C8E307CF3EE1D205132228C74D190B09F8817F4AE667DCC2C45B312589
439CFB8B8E4034068377DD3C8153E49F3296AB3AC93E736F5976A4C72795A884
5D05C3616AB0B33EB9E6C29A79A7C19E5DFDC620CE17A1B608E6CC7BEADBE773
9A4FD04AA07DE9A16B98FFF7A61CB3132E9608F2F8CCEB8C9DC73D8900338A96
0AD61EBFFB4F106C9527AF7C9E41D47F376C0D06A96B5F01E63EF78E6DD3CA9D
75CFC87E4C5EFC5421FA580037758ED7D90B27549C3E3D2385A4A9AE8BE91CDC
E539C596A7B0CD0B42CD6D4C009FF78578FBE99F0E123BD633A4CAC1BD46583F
0517ED7C567CCC955D5FB942615B2A44A6280D80D169B3CC2B24948C34650E1F
83B9F9F8F328CF57D2E7B5DC3C8F0B9152660BE895496935E9256497FC1DD2C0
D46A68C8C0C7E3397901E627AC631FAC2FE7E37DA6B9BF2E3B9444E802E46F7E
A884C181E3D5614E079C0E2D84F103ED8E988B4FB68E9A3F7AA894825D3AC29A
23FAC12189691CBF0A167D101D29A26AFF465609F6E5A76073ACEA6FEEFE64C0
AD5FBAA3511266AF2EF99F3F1114C39C08C46036C3EDAB60DDDE8FF03E3FFA86
BC699A71917B574AE943A0D80E5593A1189123D0F2A7B6F055D713C290B95999
CF5624707B102BDFBC135320DA95C777EED01EB2D9CDDF5AC2F1C87DF2BE2CC8
E914D5F88C0B7DBDC8FF54AC7BDD24924861CAC69BA421DBABBC36E72D7858EE
C9F3C6A58AF23DBBF08BCB8F9B4A6B13541727EF1C2F7D204425AD4340CFC873
6D48281E3D944DF70EF2145C2F9F2E3CC8D58FD5EB408D2B9178FBC6699236E1
BCD37BF8435C2DFB67BA54BC48D735BE69F0811A68FEC7E63A509EBD088AE95F
0B3D0F41B58B0CDBC7DFB5A369DBC1A57BA6D3EE9012B09CBF7EBD994C943BE0
6E4420C80BABADBAB717BCAA6A49D28F98BD2A45346E46E45840B7C3DD57D041
080A6B90E3248E9DDD493BD01179814A0150D7711222F84889C2CD1434762851
C164C6EB7B8A02AC662DE1E5FC63335EF4F1352A4B438A003F1DFE28E9F91A93
4D1B1491DA644F1F06E25BF1A8FC52FB517619BFB963FD68D7B7A95595541E0F
AC587901AE42B15FC81B91DDEE5FD7A5DAEC2E0E3CC25C771DC50C0A4F6398E4
0B22870538D16EC2B15601369ECA43AA7BBED795DCF3689F8E30958F73A3D227
EB829469015E13EAF2CED33B4363E296E3A4F03A49A95848B04AC1DC170F91C2
3C609807EBC086BA6D613A93D7312E7DFA1F57F0D00C221E1870B6784D4F79A3
6D47A38C4B43CFA033C6362AFD1C1BF118A305BD0EAB310FCA99AB881FCB62FE
C5CB7EB84FE26827C73C473A417547B27063E92AA7D79EEBF36DBDE9065894FA
8BA0E9493CB12B9CAF88DFAB1B34DFD6E3E17553DB7ACB4212F24F5C4F43D7B3
52249052041B1BAC1D7CD9195C7A563FC3D442A884B8D05C26268CE431DB04A8
F60A12DB646BF79B587E88868CEF66028670C3252F2A43FC022EAC5CC9F0BAD6
2DB2E138BAEBEEABB2882241F1066891CF1AF6B99043D6EBE00BC373562CCA93
1E12A32920F9A53CC2AA7A51E0E3AE6A23F456770777C4CF343BE18561A74D91
AC4FBD59F4D9B1F91A755185581B27B745AB4DAAC090666D2BB7DA3F7815AFF4
1920E0B558165A5D0AFFC6EEF01E9E85B925FBE6E7CABD3C918402E71745DB35
9FD4EC13DADD8F6DF872F05E20AC54CDA5C22352BA169DCEABE994F3A4EEB1D9
D5B86B08236DAC1C83473879DFE38EBBD3361E19B6C48FFDFD994CD9D409096C
A4CA5D848111B25C21AD92DCC8939C0E431F7C941A7FB96C1A5A57DA2FA2EFC9
46512397C137552E0DDB5383D94EBB0BA00422C6267A09CEAE664969728157BE
E942C4483A37223C4AF7C2D1EBF531EBEDC7563639ADF62606D5874D9A61C8A7
98B8021D52A0B27BB6750B99E3A97297FC6C37162D38BE4FA3D57A9EE8AF7391
323F3F490C24F8F81B1D2CFD242624D1FF7DFB4690B27E056B30AABFB262C0C5
B1F2F04556109FB019EC77F29F104FD70D168F97D99CFA6986B776F6DDEF24B5
E930A3F63D790B93C5C535F402C2C4B757A3583269D429924706B0D27ED283D0
9EE8FD469F9E370DEDCE4EE6A3F33EB3F6827CF7A1C82F68E43811F9FDF0A88A
2042C93607AE5F3A589ABD0F5E3D840BA04DDBBEAD05E8A7DC0EDFD9E4CCC0D0
F6CCAFE3BC6D4775E080D6D81099367A280319748F305F72CEB8FA5C3E3398FC
5D3E68235C26B1643EDFB240B274C46F077746FE1EF3EC68070488BDB1F27D82
444E74037198CFEB94AAD4DABF03B9E84DE3D8970AA445DFE441F0A8BC280811
DC8C4DF50D3CEBAC4C8512AE1498E1471BD4DF702903D6BCBD1D4F05093E2912
BD7322CA91C84A975DAB19F65D0E20B1B163AAFD6EE4CD4752AB475425FD45CE
7465DA40C85BAA06F0A89EE15B31C8A54A1F54B16CAD16C47D287FE0E76940EF
29C345E990E9D6FB5D534C3565FD701A3D7F0E554589F3F2B0D4CF83D6179ADF
66755B4111311CDA5612EDC8F983D6F2326CA4367311F17BD58464DF08BB178A
D35F0FE60753F7A46DAAA70FF1335D50F56D50357F7B7CB66CA1ED075ECA9AEF
8B066A84785776A8EE3B4A7AD3FA876082F51798244926C091D7176F0C26D2AE
2A6A05241CBAD570725BE02EA34AFA921E8343D8900B314EC0374FDED673354E
F0B7FD28F75D2A41A3442F4FD0BE468CC861D3D77889877987C279460744B924
E0233B5F1503249317E96FEC9B7BA7ACD42B940D4F98899B8385154FB8A02D2A
8BA9ED40FCA8FD7C4CCA4BE85573B6F0335AAC445263F0428C813FE3B4E92690
B7AE95D6D58ED4B675A35054C82ACFE8E110987D97AA5382D00B9FDC1923BD71
6519F20E8E2588A719BDB4471D9C0D8B39790997A82B9AD80D3963A3FE49E990
03B6B1A259B03061C04352CD2EDDC117D8996818710184EC767DE3E66291A822
218FE608D3FF60FDF69EA13ED1251CC298B514482CB92DE99AD5FF5CE00ADE7A
08E48679970428F232E3A8DE6738C5D0D4E484D0862B69695EE5A4CBD6C691CC
DB72055F72F2BA357AE4E469FB82F4A1E6B367D35E68B6A4A15E43C34DC50B71
78C7599CE27A7D0463F0819F82DF39165ED47A52DDF02436E579CA558220551A
EC56E8530085827D9A09EA3982B7ECF590BE22ACED4A2EFA11B15F0A2B77517C
0215391110D3727E6A66A9C067D5FB7A9BBE438579EF2F2377AFADD757A6DF1C
BDD04F6CA1800A49486F67B244D444BF826008239F1DCAFC060D311359221DB0
6F51A4E88C8F0FC3588911C146985FF0C22C8C146BCE9B95C1E8F2AD7B986EB1
41CEEA0E95E5F7426F7732BFF76534FF6B151386F5180C76ABFC49F7B135B271
46149B5BDB163DB224F9678F85CB71B283522D212D371F1D791FC23AD9262C75
1278F8AF197FC47D36A9E162EA053F367010247A9D307FDCF50FD6C051260602
511288E60BB5C9D75D39065ECC878D0F79C56CE0A1E36EE14830B75A80BBD2C4
23A2CE6155144D341ACB05E2B4587942ECFABA99C776918887914DBBD7739A73
DB2D1D4C7421FE315E877FEAE82A35E413B6C0C7716B61F043A8A9189F829FD0
A98A98F8FA402588B0F08FEC41203E86E6575EA38209D107B555E1E9C04D0159
B7DDDAA0D12D3166409D273492929F43967B9CE3D25F89E2FE92298D0EA61B95
F30B65AD12479D4D7C452753105E03B59A79E131519C41F46179F05C65C5FD9D
93A4C1A756B99BDCCC51E2A495D0973FB942FAB6E1348C86FDF33CC7AF67D0C8
9258FAE9FD5154693A02D867FCBE60605344F9A68122ADF7E4AE958724E9792B
5E723F2BC599857618DE394F0FE7461B0738D265B81D93064D435238389484A0
61F6A3E5B4E430CBC447F93213E7271512ED2115E01931DE77EA8374AA50CC7C
C7915ED6FD6C0A222D2CF8EE7341FE6DE19030F03AA2C3FC08EE1385A357500F
D82E209878244EC5563422651237BD4B838DDF782F51509C3BAEE63E795C95DA
C5C19D84314E80153E6FA5B4D2BE97871C782164981B3654C36ED151FE06EFE3
41DE28E29FBDC959FB9A30C27333A6C6EC7E41A4F1ADD6B78C658F6197B28E2D
9B644FFE10D773A97C733DACEC2866117BB17AEA8D2A06ED6359A65442126D43
A3D56E51DD967347E9C41C25829D958820E50632CD26055BC209FDB844F795FC
907D5E6BC071673BF947E14EE2D3FE7F42D72F7306ABE882D55742BE680DE5BF
B0DD767F90F0B99AB85FC86B12481F8838350BEC2B5571EFECEC5F985B3B7049
CB09492BA54DCEF4E63C552A62A6BDEE7108B366DF8AE9EE67557F78C6CCA9C2
368A8451199D69F153428928C96A7222E4D8A52C2BE9204789A04E535EF38BF4
C30C6770384F0F4FD5C4978AE7183E63A03008AC19A92879D77AC3F9E6364B77
67E4B9C6BAF08114AE563073B532521B22FD760F1A3F5DB9515BD25EF605A778
7EC6026527445BCF0669BC043658607B774137A5D13E1029D77739FB148E81AC
3DD34668D46088693C47FA91AF99682E567997FD3384CC41B1F1616FD885C04F
D674C83D3936D72B4D7D815A1B84B324C0E2619A248A97AF1AD7003425719196
C237E8D66F8DB18597B611D07A27E8E9F6628A681D8A6E0319A4E265121EF2EC
34F55BA78F45A30E1019EFD66BCDACF1C22D2D1FFCC0627E0C0A518C5D484A0D
F80FBC2C5E51870A04934FA856E59BA4ADA39CD8780041AFB35DE95A331B4637
28AB7C5507FAC1A83E6A8B4404F77998BA68AF50ABE28AF705AD52B1303E9F06
B0895DA27B152A1B3E3FCAEF48AFD141126C45CC98389613D497291368709835
B74ACF91A24DA3364BE46B693D062130E28C183966633944F5C8C4965E1E7072
2742613ADCBFE5447E8C2E7400FB6668A71FEE3641FA9CC075D276C0F15C1D3F
AAA6DE4E4D2D4268B63848423B58D65D51ED6F86C1118606A7FE74FA44C3B8AE
32E1AA675EC7494346B0C396B7A7C960236176AC1B2E1B40AACF8E6D27B6C070
684864182F737209963627710B3A2BA83A7B78FF8541C34429902BCD231AB4F5
147D5F2ECBBE825F9F1A7E468C7D4A48CA894F12B12DE95EF2F74C40BEA79B1E
360F1A09A7614A49D702E4FCCD7C9F58B932D42C30B4759A80E7893B99550A16
EF449D86BA71F2C50BFF538B3FA2C25510290A073756F07FF57FAB70B574552E
554A1B8F165DC9EF01B7B30651E89128E3C0CEDFCC17C5692005034B39DA462E
5F50696EDD2259ECB760C5277B174C2B01FEF71B3548544637260CA903F3A6E2
C9F25E86C2752CD5CB2EAFB4F7955C382EDAF4CC12F99DE683997DC538618552
E47444690E89D8FC0E6869DEDCD9CD5FA683C31E566FEC32DFC52469F521C566
B83E13F0CA0B610BFCAEE1FE8154BFA1558DCDE65F8574BF0AE09374BB944405
3C1E59A6B5AB57A4C22076D7377313BA33B5AB7461F7990A9EF354F56A7042C0
832B441433969437A1713AC3AF56C4E5E4F54BD0E924D8B780A8E29877EF677D
698979BDB129A6E30C4B98110D14D8E35A7B6BC0ED6B00BE13AD853BA81A03AD
4A6A9C13AE40737EC18A10A17216850E0CC44FDF2D2EAAA735190E480ED9CEC3
B03BBECA7BA355935612830DE57C1A472788609850EAEB91237D4D31B41C8D11
0F0AD07BA2F32BD2A53FD9CFD58E9D7E805991AB97E536C77DD113DC3BE15560
E8A1C65DE4C70C2F1B1A30F68BA5BBAAFD6CA9792FF96BD90730D6146009C6B3
42DAF985751068D820E8F28FA816B6A86FB9291497DC32B974E4D217372853E6
97C0C03A3B599D27A9A4CEB93CE2C7058026BBB1CE2AE1B77B1298A3F7FD090D
69A20EA78E82DDCC0775EF14CD80B58215E11F641182ECAE4A89E6C27FEE4F49
007398482E1D282A0D0CCBA9F575FECC9DE9BCD3E20F74C8EC964D272A3748DC
EC73BC77185309D74FC9F7333DB5A206C89D2993DEFCADCC42AA2574EADEA2AC
F9C60FDE48CDCC59F0BF31D46E5E12967A43E60FB5A6503FB3009C91E196FDA2
9D255D8F81451BA40239C1BF33357FF78D9051776CB5CB3F4600B00FD7A3ECF9
79A964C4ECEA9AF987E9B9E62E8CE9870FC51B14F46C1093DC2D6AD9BDDC180E
6D99C9EF2C7EE85BF1FBC9FF95E6F03A51470779339460197A97C87A99E02425
7E63E9E9E7D7FEBE64BCE066098C2FFC1EE46AF5F57456D16BDD636EFC7F39CA
6DB5440BAEBFE2D84F36B5E5642503E52E9E6856DB3AD6A1696353BD414F3DA9
5B70EA17AABA121AB8AE10D61A3B13EAAA84F4C8184158FB4336DD74711B5820
B7A59A3646A0EC6A0D2D35EF0366E93D053395D1AF7391DA3CB01A677C36B407
037F2F715C558105F54419C4C224F331A88EC143018B00EC0C0C0AF0040929F8
F95783B522F2F41BA22427878BAE876AFF7A8343B72FD6B1DC762F984AB03835
4D246F267847B8626E6C5FAC0E691D76DA7CAA3DB11DB2E1754AB449076455E6
9155179A19EB7D4B28FA7A9C2D4D0F3FCE44A458B27B31F907F94FBD96C2E673
55AF02BA3351E8DF693649BDB8C8B98FBC509CCA980E7203A84FB4111C6D837E
ABF82525CAFD5D65D8E0BA38CB84477D4102BF828406B68DD2BE3B3F00B73DA4
F01EA8CD64159D8CD8FD9631964FD0D34E3F921224792AB0C08ECDD2D10D59D8
C492F4660C4939A6813AD3093342DDBC9918A444AF4948211CD7AFA1FF5969D9
9604F57AFBB135A5D118F93BE7C20ED08A86E480F1459E10A2111A41FA8363FE
BD2E23A68E15EF31452C39EC288B62C23D42C7349A1A2AC58C53A7F5B602F892
0888A176929DF33DCCFB4DE09E320871708A10E0123145CAC51E20C150635755
B8C922A76B14627DF7CCE3E4EB361ABACEF7B856062552EF79CB67C6952B0CF6
9C4BA89BBC59B7ACC2406F7F1599446F071D3477072AA96B6F0F95E046F25A2C
A93465EB59F42B0DF9163D88B43C80A73C21C2E3215DCC41ACB221295FD5F61B
00AF9E3616604EAEADBB9173086978382510CEBFA74621A2171EE3F64A799977
D7623EA647F003FC76638179949FDA0D2CA472C9D9FC666BF4CA8FA35B78A4BE
3C894F48D880C6F6DC0410B45FCB5211A3D6884951448FE79FCEA9663FB3A3C4
8AD18628E99DECAA687949BEAF774D15841E4F724BC1514D3AA5C6B31FB1E324
565EB94F1817A5D4DC282D2058BDDC6A681B6CB978C3F86914F2E1F20D3C1E94
3273823AE4BC2416797398AD8582160DB0EA6B822ED54DBD541404242DC2139B
3779971875F6798D2003C1909844A3EE646286EED756C2F36FBA432DE1F69183
2A2C60C8BC775DA82088D38631E4211D853CA7591A91931CC53BFFC83EC7B118
78C8C2C2A3DC74FA373244A166E2E51348F17DB1AB63A24836F656061E75BF6D
4EFEF323D7FE93718FDD09298A419BCCBDEE4C3BEE6B9D122F27756904E7E58F
EBFCF53B244040410A850BAC3B96E251336E7D4989728822483A97551A6B63F9
AECCA73D37CFD01810472DD22337D6E8E6EEAED431AEE221C618DCE2F80C0C1D
08C39489E9E4CD3CC3BF619B535EE0F48A221356AF650E577D6DC9F1CC300A68
BC2F8DC1139075A138000688612B535AA0D92B13A1F0C06805512DF470C83B8F
356F164DFD4ECACF356378810E246BFBCF96877A345A940BC443964EFA09482F
9808CAB0BA531C0A05DB63B403F52FB6533DCEE3F1193758AD96CD98E77A29C3
A2E333CDBACB72C83C4FE573432B114DC9D985D6E6C581C26A6301D284109703
9DBC2B45EE244AC0424F0D4D21B3E8C4D17E7EAFC2B12ADB185752897802977C
9881BB9B82D69AE43CE8386874B23002543271628BDFCE5891A7FD307418D202
1777D361E6B093C2B6130662EDAE3A865E3C8104F6657837352F699375F2105F
01FF628027F738AA9AFEF661614F8B9111FD07918D7132F1EEE50DDFED0D7C85
8863B23DA892473B97206AC464A0B1D0917E1E28F72C8EBD3A09B6C6D9670511
4D6E52993775B54FAABEDA2E2984E61E053B77BFD2F694EDAC49D2EDF2343D73
C554B1580A0C8363C07DF85EBD677898E506473B2669187FCED581C8C1F9D9F0
B00D5A9C6452DCC680C68428BB37C6648552C7D3209B5A95AAA02766ABBF6192
BA62540FFB1A8B3F12D75E2E23EDE9D2CA5B6B4A507713BB1576CD4D011769DC
09E71D5E2C75355793B13C6DE71DB52CCF57979904F16A40FDF2935D6E356255
AFB58D61213E1D75E069F13A5B2E873B0C8F8C707FC9D32FF7D2B7114D3F99D6
984AA3E259862E7FA985D5623A1C985CFAB8E94FA801B107E526164CB406D469
7AAC7E6900F53982D2F0BBEC9EB3440BBD0C1DC082656F612556AF819AC46B4B
FD1B809E5F0A1DD918294C67BB00E890820B3AEA453877B1C1C5FBF65B1FF209
3CD489B712CBCDC3EE82258876A44DDD9091034D97E52B12982A53AEFB8C394C
BB060F58C3E27AF3BBDC990057A1884D4936587E818D4015B81A5A3AFF82FBA5
1EF5B3A62DF64F1529460567A51BF81A909605DE083BE74597F52251BE5A1A1E
BC8A428DC6C9131B5454D16B23736D466844AEDA6586127A81263EB67D8B162D
8631221ECE5ADC0A41EFC0CAD68433E724A35DF4643CA558D65F0A7FFC77010C
9E6EC7DFAF5F4BEF4B610A81A62F08B8EB44B62C992750762A5DA71EE5D41F42
23C985E649FAC5A3FD3C50E437AC354353EE13A2753523B1473074E7E76A9B81
040D2270DAC9860B9588E6851BC202A3731EA44F922E662B6500D32FB6C3F78A
44350FA7F3F1EC94C12EBE495C77B597C6266CF2FF898454D8F61CACACD221FE
6733A978CC0BDD52ED140184FC1A4F5EB7F5D2C94FE53850A622A239858F0280
B8EEB71A0CEDC7DBA45CCC815EBDF853CA5C513531A679AC0376AE79E4D0D456
540CB51F5BC16B2AEBA29192CAAB474DB57EDC2EDFFA1EE7E69F858CCD75CA07
7E8502B674E6BE0EEE7FFB54519A4BB7321E5485153C3F061520E9D874BC7BAA
9711B2A7C04423B7680B5156925FF9BA7BE772DFA8E9420BF6F8FFA13FC4B7B7
B4579F1D4795A491A06B02AF224529903D51DD8021FF87519E58E6C497CFF5F3
37BA69F7F8C24399D314DFB22C0538A529AF1B4FB403CDCEAF65164AEA002C29
13DA6C16A44B8FD27441EA24F7D6DB8901BB5D08FDA6D46BB758E5DCFDB3D9B3
709CE9A0D85AC52E3F6A7CB150111BC60F8F6592E4C9BF8B272F180FAE4CF603
62FA9C0258009EA6CDC88DE2EF903B7F5B36A046BBF5834E810782342D363F07
BF14AB62FE0DA3B532CC844AA94512114EAFC19897FA65C5A1F020B45FBC0ECD
C28AF73D2CA91513501556A9C569E6DFD7F57D9B0B99375708593D0331A939A6
52817A4E7C4A319B06E02B365785DE755DBA672FC9BB097AF7387CCFF96D366E
8A41138CBFB3724B2C95A640D798ABE0CB44B2CDDBFB9AADF92B5483C4F17EDA
A048F8371F9B35740020C0C5FEF4908FD1F4F0224442B16963567A95D8610A0D
B0B753BC265061756D4AB038369A84907B7679FF15CC9EAD0685FDCB4DD8EC58
70FF4CA72C83CD8F664A927383F54E3429621FCB4D714CFDB0BD024A2C500EB8
850125EE43B4AD199E09AD51542F653E8E8D15D52163B6FEA26BBDF4444B46D5
C1B11E1F84D4AA04388B61F590FDAD35ABC7A1A97C2BE7CB71E28BB8B4411381
6E7DE90E7D4601B84752EE3E7F6988EDD111CB1F20C61262F19AA27CBAF338BB
7C74C22E126535F4B805DBBB677B7AB477C063371AF403E30DF4F156CA291EC4
4D50D0B9463AAD30CACA662FBD1B6B5F8FB08E1982B3EB96735478F912079399
D43434A2A99B0E943673C680B2E51DC36C3E79B1509F247E5F8EDAECAAF20FF6
3782659A5AF779702C3F131382BC104010E33EAFBE505D79AFE3255476D1BDD9
DC19EB4E978FA713863978E1EE4C1636B09435E6CBD50C02320474C578265F5C
3ADE919986AFAD571DC31D24AEB2E59FBF6065F6343B929E32D72903F22FDEE4
7D73B88EA34BFF0331064B073DFD135327D1777C89C6975BBAB3BCEAFDC2EA03
68C300B32FFE652F89D7C0B3A83E03A68FE01C273A786B9863710098C66628D8
5D17A1DCF5534209458E7A32C0D3E9DFB72F72CCB054149DF0D5671AAD679BD3
54C86E8E06CBE9BFF5D3E266244F3586F9346CA769ECCAC252B6F0BF233582A8
F5A1ED6BA69159F930736FEF53E530475044BEE838E565F9EA369B7C5296D4AF
F37C97086CD5E48ECB4E4B5412666A639060EE11A09F8E802918853642092156
E3E2C187884B8E60504B270BE366458FDECB205BA6AB9235327BD41502E44323
04A64037D43B132565F2F587555FA705B60541182A71D859CE2C925BE347728F
8E21EF348F4A31C0C9C0E52E735F442DA4A253CFB0058A427FB7A9E04450F3DC
E307C326F02B7107DFAED3E3900053E60F5292046C606C14E85CBCD86A338A8A
5BC67A4252081939B990760754AB52F01735BEF6C06919FC2710F0322954FC19
6B899CE92D984048875AF5E445D2FA83D3A61E16E0D7129601AC90C66EBA9E93
5A14DAC1B235EE235D61FC8997E61A9804F14D605934747012F96872A7E314E9
07DFAAA8C6457D0D7EC45B73D73A4CE4CDD126171D3B463A672EFAB15220F54C
06FE875A6D0FB6CAAF43CA6E0946FCA924FAA6B5B52FDC738C6EA7BFA4EFB58D
04988D0BCF877DBC428ECCD5FB41859E5FA5C3EC54C83E8EFCE17B29AB116BFE
3BBB763FF3923F5FE92045FA424446DB01B4BB417D98C2A32352531DD6181550
79A24E8E191717B01F88A2D131D0B6C1CFDFA2D63D0D284C3B05B35AC1252D18
955BE19913BA22EC7654C3EC1AEE13FE2961146A1BB073D047075B1BA0EB977D
FF1CC41D76163B625130A3193E55CAF4510699CB7ECE3CC86682E1A7FF24CDBD
216F92F1054544D13191FBCC3E6664086C48CBF973EBC735D39BB7AD87BF8AAF
BF03D7ED7BB7B8462903AA2B6AF19936DBC93ABA59E71B0428E6626E3F69CD11
4F19ACC87AD0DA2B5A0BEBA1CE6B64C7817382365DF1BD3F56185C65870331BF
264D01179233164E1C83F8C8C27B8A081ECA67FBB502E66D2CF9439857F3D1AC
952B9C7F876639D506E8A6CCABD66CF292EED452C8124A25982488A0F35A31B4
5C305E28DD72E498531119E5FC09DFEF092E27E1A5EB18CBD3D09868308FE5D7
D015A3C79593F4C0F4F4277AE33EDAC918DE88E049428E33FF77812756E67392
F3613AFB81D340756AF87EE25B8FB688DF317C0DFC1F58B77B8189DEAE4B532D
6F2E19733E2B0613F5AB6F509AD3D86019349E226FAA10209EAC4EDEF427A4D7
E3963013AC09E4706E95FAEFCEA6F1F56D7B8E7C7C08563E47A4D9877708939E
3ACA7BE093CBF07AE438ADDC63CBBAD1E813CFF2A98110A5F5A678A9A3888B68
2D6F0CC678A46077D54C3A664D66DB40018582D3BD172E1AC5130A243F20CDDC
46BBB5C721981E3206541CA84F110F382AD76376B3C77CC1A63C2AE4A99234D1
9FE8E1961D686AA7710DF990729200AA7085C712651B29B53B95BF89511B3E93
ACCA8590194D5BCD485C7422C8F5516C935B03CAF73309C2F90F24CF7642CE57
8766E6CD3FB872EFC6B7C82A5764DF1B8067E443FB6EF8EE390651997997E211
372BA6ECF85FA1E64524FD006D9CB268B7B87214BFDC0370A02F9CBCFAAEF478
485AEC7B0CC96E4D394D07F8488B7AD9F1F3709B5CCD5DD9A76848D5F5ACA201
6E35D9D0F34D5D406D52F4DA5ADD11E1D4B609156354D69961427DA9353A9FE1
11929C165942277EF443988ECFF4F05E25D09604D0C90C04E572B05EED719DA0
7C0FF0BE0CC78188744ADC93B859EF22217F03CF28CD27E2E6BC1062ED24C51A
AF2ECF4F3FC7F93FAA6C936C3137D07BD1416851A0D9B56FFF3A6008B55636B1
1F3250BBB3342758E7774D2E32322DD7E0E0EECD1CA14CEAA08BA8354E4D1B46
A632526A152C4BBF8FEA1EEA8DDAB2EBB4F4D12559A8F609CBAD3E270AFE5372
77CA702BE13C4E1D149653A3E4437D944F6A540E9472F1D4AEA255A1BDFDE27A
D3627A4389E5581A781C15101F52A6F0EB619169F1E3EC23D68499E3199AE15A
118EA98472B725154D64D7A6A45B432E0DB11C036F175008EFCDF1CD9FCFE812
E4E926A1F831BE8A59D89DB53A7C1DE37A35AD7B083575D0D73EB29415456F58
834098D08A42B202F21D397B0C431B6F6A41EEDCE042C300F8FBF1CB0C5748E9
F12D9CC3792F28AA5EACB58138508E9355B674BB2BC47D96ECBD50CCAB0D4FFF
E6950545DF96D769E36456D6EC72BE9A76E6C9AB258E4F839370A263B629E2D9
DCE4769571D381F9AA6E39382EBD84458C3FB86437958D62DB6061EFC1EF3FCD
1E36B491F16DEC82A05EE2FF1B5E34236844BA0BBA4BA21E9D72DFDA173AF829
2E2D21CA15DDD6BD629DA6C5704E08D511B7919D341DD2F5F84BA161F9F5C560
432DE7F47E85B5849FEF9B0031E42F3D1825FA4B4EDD19FA40EF7EF731FCD479
2746AA9888EB864B08AA3CF206A0FD1BD18C2D4B15ECDFA117F9252B17C97DF5
D06CA32CF4F5C5A0B8858F0472DCAA2E2AF8C3A5B7FDEA878C45039B37A225AB
D28AA16EF8BD8FCE74074F99660EAB72F9414DF4C54CB380120640BBF0F3F005
B09BBDA7FA55886D282AACCBBE6A0205FA34750A9153424DE926164247B75BE1
927CB98216C6BA85605F6C9BCE6B934F282F4F469DA69A03D08B4073C9545295
FCD1020DE1F665A2A5B3E3954ADBFA5403BC64F6FD7155BFB54BB3578ED65127
DA26A16309C320163BAF51F4039409602A56EDFC5292A430179146814F344857
BE637863438251E96A5A2E7EC1D468F2AC55869DF1EF0ED36EE45E28ADE3A120
D4E2775829A57098FE76A7AC1B0F18EA6B6656AAE42152AF8DAB6A7031E44BDB
B59A4E5CF7D5567C95FCBE2A3F93F2EFCF84BCC8328419C6289B01892D051F84
D8CF1A638180966A2597764864CADB42EEF8F28E265666F05624CBDC8659AD10
5890583FDC1B22DDAA7A1624EA43663A171B9A308C6529F6B51B3CB8EDADC730
1630F681E02032014E31A994139DE0A90A78B655E9
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
TeXDict begin 39158280 55380996 1000 600 600 (cvsclient.dvi)
@start /Fa 221[62 34[{ TeX09fbbfacEncoding ReEncodeFont }1
119.552 /CMTT12 rf /Fb 139[30 37 3[46 51 74 23 6[42 3[46
97[{ TeX74afc74cEncoding ReEncodeFont }8 90.9091 /CMTI10
rf /Fc 135[71 1[71 75 52 53 55 71 75 67 75 112 37 2[37
75 67 41 61 75 60 75 65 12[94 75 100 2[101 1[128 81 2[50
2[85 88 103 97 9[67 67 67 67 67 67 67 67 67 67 1[37 33[75
12[{ TeXf7b6d320Encoding ReEncodeFont }44 119.552 /CMBX12
rf /Fd 137[56 1[54 42 3[58 10[57 54 99[{
 TeX0ef0afcaEncoding ReEncodeFont }6 90.9091 /CMCSC10
rf /Fe 240[45 15[{ TeXbbad153fEncoding ReEncodeFont }1
90.9091 /CMSY10 rf /Ff 130[48 1[48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 33[{
 TeX09fbbfacEncoding ReEncodeFont }90 90.9091 /CMTT10
rf /Fg 134[48 48 66 48 51 35 36 36 48 51 45 51 76 25
48 1[25 51 45 28 40 51 40 51 45 28[69 17[45 45 3[30 31[51
51 12[{ TeXf7b6d320Encoding ReEncodeFont }30 90.9091
/CMSL10 rf /Fh 131[91 45 40 48 48 66 48 51 35 36 36 48
51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25
1[25 1[68 68 93 68 68 66 51 67 71 62 71 68 83 57 71 47
33 68 71 59 62 69 66 64 68 1[43 3[25 25 45 45 45 45 45
45 45 45 45 45 45 25 30 25 2[35 35 25 2[45 2[25 18[76
51 51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }82 90.9091
/CMR10 rf /Fi 136[117 85 90 63 64 66 1[90 81 90 134 45
2[45 90 81 49 74 90 72 90 78 10[122 1[112 90 2[110 121
126 4[60 126 127 3[117 1[122 10[81 81 81 81 81 81 1[81
47[{ TeXf7b6d320Encoding ReEncodeFont }38 143.462 /CMBX12
rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4
 end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 150 299 a Fi(CVS)53 b(Clien)l(t/Serv)l(er)275
533 y Fh(This)34 b(do)s(cumen)m(t)i(describ)s(es)f(the)h(clien)m
(t/serv)m(er)i(proto)s(col)f(used)e(b)m(y)g(CVS.)g(It)h(do)s(es)g(not)g
(describ)s(e)150 643 y(ho)m(w)c(to)h(use)f(or)g(administer)g(clien)m
(t/serv)m(er)i(CVS;)e(see)h(the)f(regular)g(CVS)g(man)m(ual)g(for)g
(that.)47 b(This)31 b(is)150 752 y(v)m(ersion)26 b(1.11.20)i(of)e(the)g
(proto)s(col)g(sp)s(eci\014cation|See)g(Chapter)f(1)h([In)m(tro)s
(duction],)h(page)f(2,)i(for)d(more)150 862 y(on)30 b(what)h(this)f(v)m
(ersion)h(n)m(um)m(b)s(er)e(means.)p eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 299 a Fi(1)80 b(In)l(tro)t(duction)275
533 y Fh(CVS)29 b(is)h(a)g(v)m(ersion)g(con)m(trol)i(system)e(\(with)g
(some)g(additional)h(con\014guration)f(managemen)m(t)i(func-)150
643 y(tionalit)m(y\).)42 b(It)27 b(main)m(tains)g(a)g(cen)m(tral)h
Fg(rep)s(ository)34 b Fh(whic)m(h)26 b(stores)h(\014les)f(\(often)i
(source)e(co)s(de\),)i(including)150 752 y(past)40 b(v)m(ersions,)i
(information)e(ab)s(out)f(who)g(mo)s(di\014ed)f(them)i(and)f(when,)i
(and)e(so)h(on.)68 b(P)m(eople)40 b(who)150 862 y(wish)27
b(to)i(lo)s(ok)g(at)g(or)f(mo)s(dify)f(those)i(\014les,)g(kno)m(wn)e
(as)i Fg(dev)m(elop)s(ers)p Fh(,)g(use)f(CVS)f(to)i Fg(c)m(hec)m(k)h
(out)g Fh(a)f Fg(w)m(orking)150 971 y(directory)39 b
Fh(from)30 b(the)h(rep)s(ository)-8 b(,)32 b(to)f Fg(c)m(hec)m(k)i(in)d
Fh(new)h(v)m(ersions)g(of)g(\014les)f(to)i(the)f(rep)s(ository)-8
b(,)31 b(and)g(other)150 1081 y(op)s(erations)e(suc)m(h)f(as)g(viewing)
h(the)f(mo)s(di\014cation)h(history)f(of)h(a)g(\014le.)40
b(If)28 b(dev)m(elop)s(ers)g(are)h(connected)g(to)150
1191 y(the)i(rep)s(ository)g(b)m(y)g(a)g(net)m(w)m(ork,)h(particularly)
f(a)h(slo)m(w)f(or)g(\015aky)g(one,)g(the)g(most)g(e\016cien)m(t)i(w)m
(a)m(y)f(to)f(use)150 1300 y(the)g(net)m(w)m(ork)g(is)f(with)g(the)h
(CVS-sp)s(eci\014c)f(proto)s(col)h(describ)s(ed)e(in)h(this)h(do)s
(cumen)m(t.)275 1435 y(Dev)m(elop)s(ers,)d(using)e(the)h(mac)m(hine)g
(on)f(whic)m(h)h(they)f(store)h(their)g(w)m(orking)g(directory)-8
b(,)28 b(run)d(the)i(CVS)150 1544 y Fg(clien)m(t)h Fh(program.)38
b(T)-8 b(o)24 b(p)s(erform)f(op)s(erations)h(whic)m(h)g(cannot)h(b)s(e)
e(done)h(lo)s(cally)-8 b(,)27 b(it)e(connects)g(to)f(the)h(CVS)150
1654 y Fg(serv)m(er)40 b Fh(program,)33 b(whic)m(h)g(main)m(tains)g
(the)g(rep)s(ository)-8 b(.)49 b(F)-8 b(or)34 b(more)f(information)g
(on)f(ho)m(w)h(to)h(connect)150 1763 y(see)d(Chapter)f(3)h([Connection)
g(and)e(Authen)m(tication],)k(page)e(4.)275 1898 y(This)i(do)s(cumen)m
(t)i(describ)s(es)f(the)g(CVS)g(proto)s(col.)55 b(Unfortunately)-8
b(,)36 b(it)f(do)s(es)g(not)f(y)m(et)i(completely)150
2007 y(do)s(cumen)m(t)g(one)g(asp)s(ect)g(of)g(the)g(proto)s(col|the)h
(detailed)g(op)s(eration)g(of)f(eac)m(h)h(CVS)e(command)h(and)150
2117 y(option|and)29 b(one)h(m)m(ust)f(lo)s(ok)h(at)g(the)f(CVS)g(user)
f(do)s(cumen)m(tation,)j(`)p Ff(cvs.texinfo)p Fh(',)c(for)i(that)h
(infor-)150 2227 y(mation.)41 b(The)27 b(proto)s(col)i(is)e
(non-proprietary)h(\(an)m(y)m(one)h(who)e(w)m(an)m(ts)i(to)f(is)g
(encouraged)h(to)f(implemen)m(t)150 2336 y(it\))42 b(and)e(an)h
(implemen)m(tation,)46 b(kno)m(wn)40 b(as)h(CVS,)g(is)g(a)m(v)-5
b(ailable)43 b(under)d(the)h(GNU)g(Public)g(License.)150
2446 y(The)23 b(CVS)f(distribution,)j(con)m(taining)g(this)e(implemen)m
(tation,)j(`)p Ff(cvs.texinfo)p Fh(',)d(and)g(a)g(cop)m(y)h(\(p)s
(ossibly)150 2555 y(more)e(or)f(less)h(up)e(to)j(date)f(than)f(what)g
(y)m(ou)h(are)g(reading)g(no)m(w\))g(of)f(this)h(do)s(cumen)m(t,)h(`)p
Ff(cvsclient.texi)p Fh(',)150 2665 y(can)31 b(b)s(e)e(found)g(at)j(the)
e(usual)g(GNU)h(FTP)f(sites,)h(with)g(a)f(\014lename)h(suc)m(h)f(as)h
(`)p Ff(cvs-)p Fg(v)m(ersion)p Ff(.tar.gz)p Fh('.)275
2800 y(This)22 b(is)h(v)m(ersion)h(1.11.20)h(of)f(the)f(proto)s(col)h
(sp)s(eci\014cation.)39 b(This)22 b(v)m(ersion)i(n)m(um)m(b)s(er)e(is)h
(in)m(tended)g(only)150 2909 y(to)36 b(aid)g(in)f(distinguishing)g
(di\013eren)m(t)h(v)m(ersions)f(of)h(this)f(sp)s(eci\014cation.)57
b(Although)36 b(the)f(sp)s(eci\014cation)150 3019 y(is)28
b(curren)m(tly)h(main)m(tained)g(in)f(conjunction)g(with)h(the)f(CVS)g
(implemen)m(tation,)i(and)e(carries)h(the)g(same)150
3128 y(v)m(ersion)c(n)m(um)m(b)s(er,)g(it)g(also)h(in)m(tends)e(to)i
(do)s(cumen)m(t)e(what)h(is)g(in)m(v)m(olv)m(ed)h(with)f(in)m(terop)s
(erating)g(with)g(other)150 3238 y(implemen)m(tations)k(\(suc)m(h)f(as)
g(other)g(v)m(ersions)g(of)g(CVS\);)f(see)h(Section)h(5.14)g
([Requiremen)m(ts],)g(page)g(31.)150 3347 y(This)h(v)m(ersion)i(n)m(um)
m(b)s(er)d(should)h(not)h(b)s(e)g(used)f(b)m(y)h(clien)m(ts)h(or)f
(serv)m(ers)g(to)h(determine)f(what)g(v)-5 b(arian)m(t)32
b(of)150 3457 y(the)d(proto)s(col)h(to)g(sp)s(eak;)g(they)f(should)f
(instead)h(use)g(the)g Ff(valid-requests)d Fh(and)i Ff(Valid-responses)
150 3567 y Fh(mec)m(hanism)j(\(see)g(Chapter)f(5)h([Proto)s(col],)h
(page)f(7\),)g(whic)m(h)g(is)f(more)h(\015exible.)p eop
end
%%Page: 3 3
TeXDict begin 3 2 bop 150 299 a Fi(2)80 b(Goals)225 533
y Fe(\017)60 b Fh(Do)35 b(not)f(assume)f(an)m(y)h(access)h(to)g(the)f
(rep)s(ository)g(other)g(than)f(via)i(this)e(proto)s(col.)52
b(It)34 b(do)s(es)g(not)330 643 y(dep)s(end)29 b(on)h(NFS,)h(rdist,)f
(etc.)225 777 y Fe(\017)60 b Fh(Pro)m(viding)31 b(a)g(reliable)g
(transp)s(ort)f(is)h(outside)g(this)f(proto)s(col.)42
b(The)30 b(proto)s(col)i(exp)s(ects)f(a)g(reliable)330
887 y(transp)s(ort)j(that)h(is)g(transparen)m(t)g(\(that)h(is,)g(there)
f(is)g(no)g(translation)h(of)f(c)m(haracters,)i(including)330
996 y(c)m(haracters)26 b(suc)m(h)e(as)g(suc)m(h)g(as)h(linefeeds)f(or)h
(carriage)g(returns\),)g(and)f(can)h(transmit)f(all)h(256)h(o)s(ctets)
330 1106 y(\(for)38 b(example)g(for)f(prop)s(er)f(handling)h(of)h
(binary)e(\014les,)k(compression,)f(and)e(encryption\).)62
b(The)330 1215 y(enco)s(ding)35 b(of)f(c)m(haracters)i(sp)s(eci\014ed)e
(b)m(y)h(the)g(proto)s(col)g(\(the)g(names)g(of)g(requests)f(and)g(so)h
(on\))g(is)330 1325 y(the)c(in)m(v)-5 b(arian)m(t)31
b(ISO)f(646)i(c)m(haracter)g(set)f(\(a)g(subset)f(of)g(most)h(p)s
(opular)e(c)m(haracter)j(sets)f(including)330 1435 y(ASCI)s(I)k(and)h
(others\).)61 b(F)-8 b(or)38 b(more)e(details)i(on)f(running)e(the)i
(proto)s(col)h(o)m(v)m(er)g(the)f(TCP)f(reliable)330
1544 y(transp)s(ort,)30 b(see)h(Chapter)f(3)g([Connection)h(and)f
(Authen)m(tication],)j(page)e(4.)225 1679 y Fe(\017)60
b Fh(Securit)m(y)41 b(and)e(authen)m(tication)j(are)f(handled)e
(outside)h(this)g(proto)s(col)h(\(but)f(see)h(b)s(elo)m(w)f(ab)s(out)
330 1788 y(`)p Ff(cvs)30 b(kserver)p Fh(')e(and)i(`)p
Ff(cvs)g(pserver)p Fh('\).)225 1923 y Fe(\017)60 b Fh(The)28
b(proto)s(col)i(mak)m(es)g(it)f(p)s(ossible)g(for)f(up)s(dates)g(to)i
(b)s(e)e(atomic)j(with)d(resp)s(ect)h(to)h(c)m(hec)m(kins;)g(that)330
2032 y(is)g(if)f(someone)h(commits)g(c)m(hanges)h(to)f(sev)m(eral)h
(\014les)e(in)h(one)f(cvs)h(command,)g(then)f(an)g(up)s(date)g(b)m(y)
330 2142 y(someone)e(else)h(w)m(ould)e(either)h(get)h(all)g(the)f(c)m
(hanges,)h(or)f(none)f(of)h(them.)39 b(The)27 b(curren)m(t)f
Fd(cvs)g Fh(serv)m(er)330 2252 y(can't)31 b(do)g(this,)f(but)g(that)h
(isn't)f(the)h(proto)s(col's)g(fault.)225 2386 y Fe(\017)60
b Fh(The)30 b(proto)s(col)h(is,)f(with)g(a)g(few)g(exceptions,)i
(transaction-based.)41 b(That)30 b(is,)h(the)f(clien)m(t)i(sends)d(all)
330 2496 y(its)24 b(requests)g(\(without)h(w)m(aiting)g(for)f(serv)m
(er)g(resp)s(onses\),)h(and)f(then)f(w)m(aits)j(for)d(the)i(serv)m(er)f
(to)h(send)330 2605 y(bac)m(k)h(all)h(resp)s(onses)d(\(without)i(w)m
(aiting)h(for)e(further)g(clien)m(t)i(requests\).)39
b(This)25 b(has)g(the)h(adv)-5 b(an)m(tage)330 2715 y(of)42
b(minimizing)g(net)m(w)m(ork)h(turnarounds)c(and)j(the)f(disadv)-5
b(an)m(tage)44 b(of)e(sometimes)h(transferring)330 2824
y(more)34 b(data)h(than)e(w)m(ould)h(b)s(e)f(necessary)h(if)g(there)g
(w)m(ere)g(a)h(ric)m(her)f(in)m(teraction.)53 b(Another,)35
b(more)330 2934 y(subtle,)25 b(adv)-5 b(an)m(tage)25
b(is)f(that)g(there)g(is)f(no)h(need)f(for)g(the)h(proto)s(col)h(to)f
(pro)m(vide)g(lo)s(c)m(king)g(for)g(features)330 3044
y(suc)m(h)40 b(as)h(making)g(c)m(hec)m(kins)g(atomic)h(with)f(resp)s
(ect)f(to)h(up)s(dates.)70 b(An)m(y)41 b(suc)m(h)f(lo)s(c)m(king)i(can)
f(b)s(e)330 3153 y(handled)e(en)m(tirely)j(b)m(y)e(the)g(serv)m(er.)71
b(A)40 b(go)s(o)s(d)g(serv)m(er)h(implemen)m(tation)h(\(suc)m(h)e(as)h
(the)f(curren)m(t)330 3263 y Fd(cvs)28 b Fh(serv)m(er\))i(will)g(mak)m
(e)g(sure)f(that)h(it)g(do)s(es)f(not)g(ha)m(v)m(e)i(an)m(y)e(suc)m(h)g
(lo)s(c)m(ks)i(in)e(place)h(whenev)m(er)f(it)h(is)330
3372 y(w)m(aiting)k(for)f(comm)m(unication)h(with)f(the)g(clien)m(t;)j
(this)d(prev)m(en)m(ts)g(one)g(clien)m(t)i(on)d(a)i(slo)m(w)f(or)g
(\015aky)330 3482 y(net)m(w)m(ork)e(from)f(in)m(terfering)h(with)f(the)
h(w)m(ork)f(of)h(others.)225 3616 y Fe(\017)60 b Fh(It)41
b(is)f(a)h(general)g(design)f(goal)i(to)g(pro)m(vide)e(only)h(one)f(w)m
(a)m(y)i(to)f(do)f(a)h(giv)m(en)g(op)s(eration)g(\(where)330
3726 y(p)s(ossible\).)57 b(F)-8 b(or)37 b(example,)h(implemen)m
(tations)g(ha)m(v)m(e)f(no)f(c)m(hoice)h(ab)s(out)f(whether)f(to)i
(terminate)330 3836 y(lines)h(with)g(linefeeds)h(or)f(some)h(other)f(c)
m(haracter\(s\),)43 b(and)37 b(request)i(and)e(resp)s(onse)g(names)i
(are)330 3945 y(case-sensitiv)m(e.)49 b(This)31 b(is)i(to)g(enhance)f
(in)m(terop)s(erabilit)m(y)-8 b(.)48 b(If)32 b(a)h(proto)s(col)g(allo)m
(ws)g(more)g(than)f(one)330 4055 y(w)m(a)m(y)e(to)f(do)f(something,)i
(it)f(is)g(all)g(to)s(o)h(easy)f(for)f(some)h(implemen)m(tations)i(to)e
(supp)s(ort)e(only)i(some)330 4164 y(of)i(them)f(\(p)s(erhaps)f
(acciden)m(tally\).)p eop end
%%Page: 4 4
TeXDict begin 4 3 bop 150 141 a Fi(3)80 b(Ho)l(w)53 b(to)g(Connect)f
(to)h(and)h(Authen)l(ticate)d(Oneself)h(to)311 299 y(the)h(CVS)g(serv)l
(er)275 504 y Fh(Connection)34 b(and)f(authen)m(tication)j(o)s(ccurs)e
(b)s(efore)f(the)h(CVS)f(proto)s(col)i(itself)g(is)f(started.)51
b(There)150 613 y(are)31 b(sev)m(eral)h(w)m(a)m(ys)f(to)g(connect.)150
761 y(serv)m(er)247 b(If)32 b(the)h(clien)m(t)i(has)d(a)h(w)m(a)m(y)h
(to)g(execute)g(commands)e(on)h(the)g(serv)m(er,)h(and)e(pro)m(vide)h
(input)630 871 y(to)j(the)f(commands)g(and)f(output)h(from)f(them,)j
(then)d(it)i(can)f(connect)h(that)g(w)m(a)m(y)-8 b(.)56
b(This)630 980 y(could)34 b(b)s(e)f(the)h(usual)g(rsh)e(\(p)s(ort)i
(514\))i(proto)s(col,)f(Kerb)s(eros)e(rsh,)h(SSH,)f(or)h(an)m(y)h
(similar)630 1090 y(mec)m(hanism.)61 b(The)36 b(clien)m(t)j(ma)m(y)f
(allo)m(w)g(the)f(user)g(to)g(sp)s(ecify)g(the)g(name)g(of)g(the)h
(serv)m(er)630 1199 y(program;)30 b(the)g(default)h(is)f
Ff(cvs)p Fh(.)40 b(It)30 b(is)g(in)m(v)m(ok)m(ed)h(with)f(one)h
(argumen)m(t,)f Ff(server)p Fh(.)39 b(Once)30 b(it)630
1309 y(in)m(v)m(ok)m(es)i(the)f(serv)m(er,)g(the)f(clien)m(t)i(pro)s
(ceeds)e(to)h(start)g(the)g(cvs)f(proto)s(col.)150 1457
y(kserv)m(er)199 b(The)45 b(k)m(erb)s(erized)g(serv)m(er)g(listens)h
(on)f(a)h(p)s(ort)e(\(in)i(the)f(curren)m(t)g(implemen)m(tation,)51
b(b)m(y)630 1566 y(ha)m(ving)37 b(inetd)f(call)h Ff(")p
Fh(cvs)f(kserv)m(er)p Ff(")p Fh(\))h(whic)m(h)f(defaults)g(to)h(1999.)
59 b(The)36 b(clien)m(t)i(connects,)630 1676 y(sends)f(the)i(usual)e(k)
m(erb)s(eros)h(authen)m(tication)j(information,)f(and)e(then)g(starts)g
(the)h(cvs)630 1785 y(proto)s(col.)64 b(Note:)57 b(p)s(ort)37
b(1999)j(is)e(o\016cially)i(registered)e(for)g(another)g(use,)i(and)d
(in)h(an)m(y)630 1895 y(ev)m(en)m(t)28 b(one)f(cannot)h(register)g
(more)f(than)f(one)h(p)s(ort)f(for)h(CVS,)f(so)h(GSS-API)g(\(see)g(b)s
(elo)m(w\))630 2005 y(is)j(recommended)g(instead)h(of)g(kserv)m(er)f
(as)h(a)g(w)m(a)m(y)g(to)g(supp)s(ort)e(k)m(erb)s(eros.)150
2152 y(pserv)m(er)196 b(The)25 b(name)h Fg(pserv)m(er)31
b Fh(is)26 b(somewhat)g(confusing.)39 b(It)25 b(refers)g(to)i(b)s(oth)d
(a)i(generic)h(framew)m(ork)630 2262 y(whic)m(h)32 b(allo)m(ws)h(the)f
(CVS)f(proto)s(col)i(to)f(supp)s(ort)e(sev)m(eral)k(authen)m(tication)g
(mec)m(hanisms,)630 2372 y(and)f(a)h(name)g(for)f(a)h(sp)s(eci\014c)g
(mec)m(hanism)g(whic)m(h)f(transfers)g(a)h(username)f(and)h(a)g(clear-)
630 2481 y(text)k(passw)m(ord.)61 b(Serv)m(ers)37 b(need)g(not)h(supp)s
(ort)d(all)j(mec)m(hanisms,)i(and)d(in)g(fact)h(serv)m(ers)630
2591 y(will)32 b(t)m(ypically)h(w)m(an)m(t)g(to)f(supp)s(ort)e(only)i
(those)g(mec)m(hanisms)g(whic)m(h)f(meet)i(the)f(relev)-5
b(an)m(t)630 2700 y(securit)m(y)31 b(needs.)630 2829
y(The)f(pserv)m(er)g(serv)m(er)g(listens)h(on)f(a)g(p)s(ort)g(\(in)g
(the)g(curren)m(t)g(implemen)m(tation,)i(b)m(y)e(ha)m(ving)630
2939 y(inetd)21 b(call)h Ff(")p Fh(cvs)f(pserv)m(er)p
Ff(")p Fh(\))g(whic)m(h)f(defaults)h(to)h(2401)h(\(this)e(p)s(ort)f(is)
h(o\016cially)i(registered\).)630 3048 y(The)30 b(clien)m(t)i
(connects,)f(and)f(sends)f(the)i(follo)m(wing:)705 3177
y Fe(\017)60 b Fh(the)31 b(string)f(`)p Ff(BEGIN)f(AUTH)g(REQUEST)p
Fh(',)g(a)i(linefeed,)705 3305 y Fe(\017)60 b Fh(the)31
b(cvs)f(ro)s(ot,)h(a)g(linefeed,)705 3434 y Fe(\017)60
b Fh(the)31 b(username,)f(a)g(linefeed,)705 3563 y Fe(\017)60
b Fh(the)53 b(passw)m(ord)f(trivially)i(enco)s(ded)f(\(see)g(Chapter)g
(4)g([P)m(assw)m(ord)g(scram)m(bling],)810 3672 y(page)31
b(6\),)g(a)g(linefeed,)705 3801 y Fe(\017)60 b Fh(the)31
b(string)f(`)p Ff(END)g(AUTH)f(REQUEST)p Fh(',)g(and)h(a)g(linefeed.)
630 3949 y(The)38 b(clien)m(t)h(m)m(ust)f(send)g(the)g(iden)m(tical)i
(string)e(for)g(cvs)h(ro)s(ot)f(b)s(oth)f(here)i(and)e(later)i(in)630
4058 y(the)c Ff(Root)f Fh(request)h(of)h(the)f(cvs)g(proto)s(col)i
(itself.)55 b(Serv)m(ers)35 b(are)h(encouraged)g(to)f(enforce)630
4168 y(this)41 b(restriction.)72 b(The)41 b(p)s(ossible)f(serv)m(er)h
(resp)s(onses)e(\(eac)m(h)k(of)e(whic)m(h)f(is)h(follo)m(w)m(ed)h(b)m
(y)630 4277 y(a)f(linefeed\))g(are)g(the)g(follo)m(wing.)73
b(Note)42 b(that)f(although)g(there)g(is)f(a)h(small)h(similarit)m(y)
630 4387 y(b)s(et)m(w)m(een)31 b(this)f(authen)m(tication)j(proto)s
(col)e(and)f(the)g(cvs)h(proto)s(col,)h(they)e(are)h(separate.)630
4535 y Ff(I)f(LOVE)f(YOU)1110 4644 y Fh(The)j(authen)m(tication)i(is)e
(successful.)45 b(The)32 b(clien)m(t)h(pro)s(ceeds)f(with)g(the)g(cvs)
1110 4754 y(proto)s(col)f(itself.)630 4902 y Ff(I)f(HATE)f(YOU)1110
5011 y Fh(The)39 b(authen)m(tication)k(fails.)70 b(After)40
b(sending)f(this)h(resp)s(onse,)i(the)e(serv)m(er)1110
5121 y(ma)m(y)32 b(close)h(the)f(connection.)46 b(It)32
b(is)g(up)f(to)h(the)g(serv)m(er)g(to)g(decide)h(whether)1110
5230 y(to)g(giv)m(e)g(this)f(resp)s(onse,)g(whic)m(h)g(is)g(generic,)h
(or)f(a)h(more)f(sp)s(eci\014c)g(resp)s(onse)1110 5340
y(using)e(`)p Ff(E)p Fh(')g(and/or)h(`)p Ff(error)p Fh('.)p
eop end
%%Page: 5 5
TeXDict begin 5 4 bop 630 299 a Ff(E)30 b Fg(text)244
b Fh(Pro)m(vide)29 b(a)f(message)i(for)e(the)g(user.)40
b(After)28 b(this)g(rep)s(onse,)h(the)f(authen)m(tica-)1110
408 y(tion)e(proto)s(col)g(con)m(tin)m(ues)g(with)f(another)h(resp)s
(onse.)38 b(T)m(ypically)26 b(the)g(serv)m(er)1110 518
y(will)32 b(pro)m(vide)f(a)g(series)h(of)f(`)p Ff(E)p
Fh(')g(resp)s(onses)g(follo)m(w)m(ed)h(b)m(y)f(`)p Ff(error)p
Fh('.)43 b(Compat-)1110 628 y(ibilit)m(y)36 b(note:)49
b Fd(cvs)34 b Fh(1.9.10)j(and)d(older)g(clien)m(ts)i(will)f(prin)m(t)f
Ff(unrecognized)1110 737 y(auth)29 b(response)42 b Fh(and)i
Fg(text)p Fh(,)49 b(and)44 b(then)f(exit,)49 b(up)s(on)43
b(receiving)j(this)e(re-)1110 847 y(sp)s(onse.)630 1006
y Ff(error)29 b Fg(co)s(de)36 b(text)1110 1116 y Fh(The)j(authen)m
(tication)k(fails.)70 b(After)40 b(sending)f(this)h(resp)s(onse,)i(the)
e(serv)m(er)1110 1225 y(ma)m(y)g(close)h(the)e(connection.)70
b(The)39 b Fg(co)s(de)44 b Fh(is)c(a)g(co)s(de)f(describing)g(wh)m(y)g
(it)1110 1335 y(failed,)23 b(in)m(tended)d(for)h(computer)f
(consumption.)37 b(The)20 b(only)g(co)s(de)h(curren)m(tly)1110
1445 y(de\014ned)g(is)i(`)p Ff(0)p Fh(')g(whic)m(h)g(is)f(nonsp)s
(eci\014c,)i(but)e(clien)m(ts)i(m)m(ust)f(silen)m(tly)h(treat)g(an)m(y)
1110 1554 y(unrecognized)32 b(co)s(des)f(as)g(nonsp)s(eci\014c.)43
b(The)30 b Fg(text)35 b Fh(should)30 b(b)s(e)g(supplied)g(to)1110
1664 y(the)44 b(user.)82 b(Compatibilit)m(y)46 b(note:)69
b Fd(cvs)43 b Fh(1.9.10)k(and)c(older)i(clien)m(ts)h(will)1110
1773 y(prin)m(t)30 b Ff(unrecognized)d(auth)i(response)f
Fh(and)i Fg(text)p Fh(,)h(and)f(then)g(exit,)i(up)s(on)1110
1883 y(receiving)42 b(this)e(resp)s(onse.)70 b(Note)42
b(that)f Fg(text)i Fh(for)e(this)f(resp)s(onse,)i(or)f(the)1110
1993 y Fg(text)e Fh(in)c(an)g Ff(E)h Fh(resp)s(onse,)g(is)f(not)h
(designed)g(for)f(mac)m(hine)h(parsing.)56 b(More)1110
2102 y(vigorous)32 b(use)f(of)h Fg(co)s(de)p Fh(,)g(or)g(future)e
(extensions,)j(will)f(b)s(e)f(needed)g(to)h(pro)m(v)m(e)1110
2212 y(a)f(cleaner)g(mac)m(hine-parseable)h(indication)f(of)g(what)f
(the)h(error)f(w)m(as.)630 2371 y(If)37 b(the)g(clien)m(t)i(wishes)d
(to)i(merely)g(authen)m(ticate)h(without)e(starting)h(the)f(cvs)h
(proto)s(col,)630 2481 y(the)33 b(pro)s(cedure)e(is)i(the)g(same,)g
(except)h(BEGIN)f(A)m(UTH)g(REQUEST)f(is)g(replaced)h(with)630
2590 y(BEGIN)24 b(VERIFICA)-8 b(TION)23 b(REQUEST,)f(END)h(A)m(UTH)h
(REQUEST)e(is)i(replaced)f(with)630 2700 y(END)k(VERIFICA)-8
b(TION)26 b(REQUEST,)f(and)h(up)s(on)e(receipt)k(of)e(I)g(LO)m(VE)g
(YOU)h(the)f(con-)630 2809 y(nection)31 b(is)g(closed)g(rather)f(than)g
(con)m(tin)m(uing.)630 2944 y(Another)i(mec)m(hanism)h(is)f(GSSAPI)f
(authen)m(tication.)49 b(GSSAPI)31 b(is)i(a)f(generic)h(in)m(terface)
630 3054 y(to)24 b(securit)m(y)f(services)h(suc)m(h)e(as)h(k)m(erb)s
(eros.)38 b(GSSAPI)22 b(is)h(sp)s(eci\014ed)f(in)g(RF)m(C2078)j
(\(GSSAPI)630 3163 y(v)m(ersion)35 b(2\))h(and)e(RF)m(C1508)j(\(GSSAPI)
d(v)m(ersion)h(1\);)j(w)m(e)d(are)h(not)f(a)m(w)m(are)h(of)f
(di\013erences)630 3273 y(b)s(et)m(w)m(een)i(the)g(t)m(w)m(o)h(whic)m
(h)f(a\013ect)h(the)f(proto)s(col)h(in)e(incompatible)i(w)m(a)m(ys,)i
(so)d(w)m(e)g(mak)m(e)630 3382 y(no)32 b(attempt)g(to)h(sp)s(ecify)e
(one)h(v)m(ersion)g(or)g(the)f(other.)45 b(The)31 b(pro)s(cedure)g
(here)g(is)h(to)g(start)630 3492 y(with)e(`)p Ff(BEGIN)f(GSSAPI)g
(REQUEST)p Fh('.)39 b(GSSAPI)29 b(authen)m(tication)j(information)e(is)
h(then)e(ex-)630 3601 y(c)m(hanged)f(b)s(et)m(w)m(een)h(the)e(clien)m
(t)j(and)d(the)h(serv)m(er.)40 b(Eac)m(h)28 b(pac)m(k)m(et)i(of)d
(information)h(consists)630 3711 y(of)37 b(a)g(t)m(w)m(o)i(b)m(yte)e
(big)g(endian)g(length,)i(follo)m(w)m(ed)g(b)m(y)d(that)i(man)m(y)f(b)m
(ytes)g(of)h(data.)61 b(After)630 3821 y(the)24 b(GSSAPI)f(authen)m
(tication)k(is)d(complete,)j(the)d(serv)m(er)g(con)m(tin)m(ues)h(with)f
(the)g(resp)s(onses)630 3930 y(describ)s(ed)29 b(ab)s(o)m(v)m(e)j(\(`)p
Ff(I)e(LOVE)g(YOU)p Fh(',)g(etc.\).)150 4090 y(future)f(p)s
(ossibilities)630 4199 y(There)c(are)i(a)f(nearly)g(unlimited)g(n)m(um)
m(b)s(er)e(of)i(w)m(a)m(ys)h(to)g(connect)g(and)e(authen)m(ticate.)41
b(One)630 4309 y(migh)m(t)22 b(w)m(an)m(t)h(to)f(allo)m(w)h(access)g
(based)e(on)g(IP)h(address)e(\(similar)i(to)h(the)f(usual)f(rsh)f
(proto)s(col)630 4418 y(but)31 b(with)g(di\013eren)m(t/no)i
(restrictions)g(on)e(p)s(orts)g Ff(<)h Fh(1024\),)i(to)e(adopt)g(mec)m
(hanisms)g(suc)m(h)630 4528 y(as)i(Pluggable)h(Authen)m(tication)g(Mo)s
(dules)f(\(P)-8 b(AM\),)35 b(to)g(allo)m(w)g(users)e(to)h(run)e(their)i
(o)m(wn)630 4638 y(serv)m(ers)27 b(under)f(their)h(o)m(wn)h(usernames)e
(without)h(ro)s(ot)h(access,)h(or)f(an)m(y)f(n)m(um)m(b)s(er)f(of)i
(other)630 4747 y(p)s(ossibilities.)44 b(The)31 b(w)m(a)m(y)i(to)f(add)
e(future)h(mec)m(hanisms,)h(for)f(the)h(most)f(part,)h(should)f(b)s(e)
630 4857 y(to)26 b(con)m(tin)m(ue)g(to)g(use)e(p)s(ort)h(2401,)j(but)c
(to)h(use)g(di\013eren)m(t)h(strings)e(in)h(place)h(of)f(`)p
Ff(BEGIN)k(AUTH)630 4966 y(REQUEST)p Fh('.)p eop end
%%Page: 6 6
TeXDict begin 6 5 bop 150 299 a Fi(4)80 b(P)l(assw)l(ord)52
b(scram)l(bling)g(algorithm)275 533 y Fh(The)39 b(pserv)m(er)h(authen)m
(tication)i(proto)s(col,)i(as)c(describ)s(ed)f(in)h(Chapter)f(3)i
([Connection)g(and)e(Au-)150 643 y(then)m(tication],)e(page)c(4,)i
(trivially)f(enco)s(des)g(the)f(passw)m(ords.)48 b(This)33
b(is)g(only)g(to)h(prev)m(en)m(t)g(inadv)m(erten)m(t)150
752 y(compromise;)42 b(it)c(pro)m(vides)g(no)f(protection)i(against)g
(ev)m(en)f(a)g(relativ)m(ely)i(unsophisticated)e(attac)m(k)m(er.)150
862 y(F)-8 b(or)32 b(comparison,)g(HTTP)f(Basic)i(Authen)m(tication)g
(\(as)f(describ)s(ed)e(in)h(RF)m(C2068\))j(uses)d(BASE64)h(for)150
971 y(a)f(similar)f(purp)s(ose.)40 b(CVS)29 b(uses)h(its)h(o)m(wn)f
(algorithm,)i(describ)s(ed)d(here.)275 1106 y(The)20
b(scram)m(bled)h(passw)m(ord)f(starts)i(with)f(`)p Ff(A)p
Fh(',)i(whic)m(h)e(serv)m(es)g(to)h(iden)m(tify)f(the)g(scram)m(bling)h
(algorithm)150 1215 y(in)31 b(use.)44 b(After)32 b(that)h(follo)m(ws)f
(a)g(single)h(o)s(ctet)g(for)e(eac)m(h)i(c)m(haracter)g(in)e(the)h
(passw)m(ord,)g(according)g(to)h(a)150 1325 y(\014xed)i(enco)s(ding.)57
b(The)36 b(v)-5 b(alues)36 b(are)g(sho)m(wn)g(here,)h(with)f(the)g
(enco)s(ded)f(v)-5 b(alues)36 b(in)g(decimal.)58 b(Con)m(trol)150
1435 y(c)m(haracters,)28 b(space,)f(and)e(c)m(haracters)i(outside)f
(the)g(in)m(v)-5 b(arian)m(t)26 b(ISO)f(646)i(c)m(haracter)g(set)f(are)
g(not)f(sho)m(wn;)150 1544 y(suc)m(h)35 b(c)m(haracters)i(are)f(not)f
(recommended)g(for)h(use)f(in)g(passw)m(ords.)55 b(There)35
b(is)g(a)h(long)g(discussion)f(of)150 1654 y(c)m(haracter)d(set)f
(issues)f(in)g(Chapter)g(6)h([Proto)s(col)g(Notes],)i(page)e(33.)772
1782 y Ff(0)47 b(111)524 b(P)48 b(125)524 b(p)95 b(58)390
1886 y(!)47 b(120)143 b(1)95 b(52)143 b(A)95 b(57)142
b(Q)96 b(55)142 b(a)48 b(121)142 b(q)48 b(113)390 1990
y(")95 b(53)143 b(2)95 b(75)143 b(B)95 b(83)142 b(R)96
b(54)142 b(b)48 b(117)142 b(r)95 b(32)772 2094 y(3)47
b(119)143 b(C)95 b(43)142 b(S)96 b(66)142 b(c)48 b(104)142
b(s)95 b(90)772 2198 y(4)g(49)143 b(D)95 b(46)142 b(T)48
b(124)142 b(d)48 b(101)142 b(t)95 b(44)390 2301 y(\045)47
b(109)143 b(5)95 b(34)143 b(E)47 b(102)142 b(U)48 b(126)142
b(e)48 b(100)142 b(u)95 b(98)390 2405 y(&)g(72)143 b(6)95
b(82)143 b(F)95 b(40)142 b(V)96 b(59)142 b(f)95 b(69)143
b(v)95 b(60)390 2509 y(')47 b(108)143 b(7)95 b(81)143
b(G)95 b(89)142 b(W)96 b(47)142 b(g)95 b(73)143 b(w)95
b(51)390 2613 y(\()g(70)143 b(8)95 b(95)143 b(H)95 b(38)142
b(X)96 b(92)142 b(h)95 b(99)143 b(x)95 b(33)390 2716
y(\))g(64)143 b(9)95 b(65)143 b(I)47 b(103)142 b(Y)96
b(71)142 b(i)95 b(63)143 b(y)95 b(97)390 2820 y(*)g(76)143
b(:)47 b(112)143 b(J)95 b(45)142 b(Z)48 b(115)142 b(j)95
b(94)143 b(z)95 b(62)390 2924 y(+)g(67)143 b(;)95 b(86)143
b(K)95 b(50)524 b(k)95 b(93)390 3028 y(,)47 b(116)143
b(<)47 b(118)143 b(L)95 b(42)524 b(l)95 b(39)390 3132
y(-)g(74)143 b(=)47 b(110)143 b(M)47 b(123)524 b(m)95
b(37)390 3235 y(.)g(68)143 b(>)47 b(122)143 b(N)95 b(91)524
b(n)95 b(61)390 3339 y(/)g(87)143 b(?)47 b(105)143 b(O)95
b(35)142 b(_)96 b(56)142 b(o)95 b(48)p eop end
%%Page: 7 7
TeXDict begin 7 6 bop 150 299 a Fi(5)80 b(The)54 b(CVS)f(clien)l
(t/serv)l(er)d(proto)t(col)275 537 y Fh(In)28 b(the)h(follo)m(wing,)i
(`)p Ff(\\n)p Fh(')e(refers)g(to)g(a)h(linefeed)f(and)g(`)p
Ff(\\t)p Fh(')f(refers)h(to)h(a)f(horizon)m(tal)i(tab;)f
Fg(requests)j Fh(are)150 647 y(what)26 b(the)h(clien)m(t)g(sends)f(and)
f Fg(resp)s(onses)k Fh(are)e(what)f(the)g(serv)m(er)h(sends.)38
b(In)26 b(general,)i(the)e(connection)i(is)150 756 y(go)m(v)m(erned)k
(b)m(y)e(the)h(clien)m(t|the)h(serv)m(er)f(do)s(es)g(not)f(send)g(resp)
s(onses)g(without)g(\014rst)g(receiving)i(requests)150
866 y(to)f(do)f(so;)h(see)g(Section)g(5.9)h([Resp)s(onse)e(in)m(tro],)h
(page)g(22)h(for)e(more)g(details)i(of)e(this)g(con)m(v)m(en)m(tion.)
275 1002 y(It)44 b(is)f(t)m(ypical,)49 b(early)c(in)f(the)g
(connection,)k(for)c(the)g(clien)m(t)h(to)g(transmit)f(a)g
Ff(Valid-responses)150 1111 y Fh(request,)39 b(con)m(taining)g(all)f
(the)g(resp)s(onses)e(it)h(supp)s(orts,)h(follo)m(w)m(ed)h(b)m(y)e(a)g
Ff(valid-requests)d Fh(request,)150 1221 y(whic)m(h)44
b(elicits)i(from)e(the)g(serv)m(er)h(a)g Ff(Valid-requests)40
b Fh(resp)s(onse)k(con)m(taining)h(all)h(the)e(requests)g(it)150
1330 y(understands.)37 b(In)25 b(this)h(w)m(a)m(y)-8
b(,)28 b(the)e(clien)m(t)h(and)e(serv)m(er)h(eac)m(h)h(\014nd)d(out)i
(what)g(the)g(other)g(supp)s(orts)d(b)s(efore)150 1440
y(exc)m(hanging)32 b(large)f(amoun)m(ts)g(of)f(data)h(\(suc)m(h)g(as)f
(\014le)h(con)m(ten)m(ts\).)150 1701 y Fc(5.1)68 b(En)l(tries)46
b(Lines)275 1895 y Fh(En)m(tries)30 b(lines)h(are)g(transmitted)f(as:)
390 2025 y Ff(/)47 b Fg(name)53 b Ff(/)48 b Fg(v)m(ersion)g
Ff(/)g Fg(con\015ict)i Ff(/)e Fg(options)j Ff(/)d Fg(tag)p
2266 2025 28 4 v 34 w(or)p 2381 2025 V 33 w(date)275
2161 y(tag)p 405 2161 V 34 w(or)p 520 2161 V 32 w(date)40
b Fh(is)34 b(either)g(`)p Ff(T)p Fh(')g Fg(tag)43 b Fh(or)34
b(`)p Ff(D)p Fh(')g Fg(date)39 b Fh(or)34 b(empt)m(y)-8
b(.)52 b(If)33 b(it)i(is)e(follo)m(w)m(ed)j(b)m(y)e(a)g(slash,)h(an)m
(ything)150 2270 y(after)c(the)f(slash)h(shall)f(b)s(e)g(silen)m(tly)i
(ignored.)275 2406 y Fg(v)m(ersion)h Fh(can)g(b)s(e)f(empt)m(y)-8
b(,)35 b(or)e(start)g(with)g(`)p Ff(0)p Fh(')g(or)f(`)p
Ff(-)p Fh(',)i(for)f(no)g(user)f(\014le,)i(new)e(user)g(\014le,)i(or)f
(user)f(\014le)150 2516 y(to)f(b)s(e)f(remo)m(v)m(ed,)h(resp)s(ectiv)m
(ely)-8 b(.)275 2651 y Fg(con\015ict)p Fh(,)28 b(if)f(it)h(starts)f
(with)f(`)p Ff(+)p Fh(',)i(indicates)g(that)g(the)f(\014le)g(had)f
(con\015icts)i(in)e(it.)41 b(The)26 b(rest)h(of)g Fg(con\015ict)150
2761 y Fh(is)34 b(`)p Ff(=)p Fh(')h(if)f(the)g(timestamp)h(matc)m(hes)h
(the)e(\014le,)i(or)e(an)m(ything)h(else)g(if)f(it)h(do)s(esn't.)52
b(If)34 b Fg(con\015ict)j Fh(do)s(es)d(not)150 2871 y(start)d(with)f(a)
h(`)p Ff(+)p Fh(',)g(it)f(is)h(silen)m(tly)h(ignored.)275
3006 y Fg(options)26 b Fh(signi\014es)d(the)g(k)m(eyw)m(ord)g
(expansion)f(options)h(\(for)g(example)g(`)p Ff(-ko)p
Fh('\).)38 b(In)22 b(an)g Ff(Entry)g Fh(request,)150
3116 y(this)34 b(indicates)h(the)f(options)g(that)g(w)m(ere)h(sp)s
(eci\014ed)e(with)g(the)h(\014le)g(from)g(the)g(previous)f(\014le)h(up)
s(dating)150 3226 y(resp)s(onse)c(\(see)i(Section)g(5.9)g([Resp)s(onse)
f(in)m(tro],)i(page)f(22,)g(for)f(a)g(list)h(of)g(\014le)f(up)s(dating)
f(resp)s(onses\);)h(if)150 3335 y(the)g(clien)m(t)h(is)e(sp)s(ecifying)
g(the)h(`)p Ff(-k)p Fh(')f(or)h(`)p Ff(-A)p Fh(')f(option)h(to)g
Ff(update)p Fh(,)e(then)h(it)h(is)f(the)h(serv)m(er)g(whic)m(h)f
(\014gures)150 3445 y(out)h(what)f(o)m(v)m(errides)h(what.)150
3706 y Fc(5.2)68 b(File)46 b(Mo)t(des)275 3899 y Fh(A)30
b(mo)s(de)g(is)g(an)m(y)h(n)m(um)m(b)s(er)e(of)i(rep)s(etitions)f(of)
390 4029 y Fg(mo)s(de-t)m(yp)s(e)53 b Ff(=)47 b Fg(data)275
4165 y Fh(separated)30 b(b)m(y)h(`)p Ff(,)p Fh('.)275
4301 y Fg(mo)s(de-t)m(yp)s(e)f Fh(is)25 b(an)g(iden)m(ti\014er)h(comp)s
(osed)f(of)g(alphan)m(umeric)g(c)m(haracters.)41 b(Curren)m(tly)24
b(sp)s(eci\014ed:)38 b(`)p Ff(u)p Fh(')150 4411 y(for)e(user,)i(`)p
Ff(g)p Fh(')e(for)h(group,)g(`)p Ff(o)p Fh(')g(for)f(other)h(\(see)g(b)
s(elo)m(w)g(for)f(discussion)g(of)g(whether)g(these)h(ha)m(v)m(e)h
(their)150 4520 y(POSIX)26 b(meaning)h(or)g(are)g(more)g(lo)s(ose\).)40
b(Unrecognized)28 b(v)-5 b(alues)27 b(of)g Fg(mo)s(de-t)m(yp)s(e)32
b Fh(are)c(silen)m(tly)g(ignored.)275 4656 y Fg(data)f
Fh(consists)g(of)f(an)m(y)h(data)g(not)g(con)m(taining)h(`)p
Ff(,)p Fh(',)g(`)p Ff(\\0)p Fh(')e(or)g(`)p Ff(\\n)p
Fh('.)40 b(F)-8 b(or)27 b(`)p Ff(u)p Fh(',)g(`)p Ff(g)p
Fh(',)h(and)e(`)p Ff(o)p Fh(')h(mo)s(de)f(t)m(yp)s(es,)150
4766 y(data)31 b(consists)f(of)g(alphan)m(umeric)g(c)m(haracters,)i
(where)d(`)p Ff(r)p Fh(')h(means)g(read,)g(`)p Ff(w)p
Fh(')h(means)e(write,)i(`)p Ff(x)p Fh(')f(means)150 4875
y(execute,)i(and)e(unrecognized)g(letters)i(are)f(silen)m(tly)g
(ignored.)275 5011 y(The)k(t)m(w)m(o)j(most)e(ob)m(vious)h(w)m(a)m(ys)f
(in)g(whic)m(h)g(the)g(mo)s(de)g(matters)h(are:)52 b(\(1\))38
b(is)e(it)g(writeable?)59 b(This)150 5121 y(is)34 b(used)f(b)m(y)h(the)
g(dev)m(elop)s(er)g(comm)m(unication)i(features,)f(and)e(is)h(implemen)
m(ted)h(ev)m(en)f(on)g(OS/2)g(\(and)150 5230 y(could)28
b(b)s(e)f(implemen)m(ted)h(on)f(DOS\),)h(whose)g(notion)g(of)g(mo)s(de)
f(is)h(limited)g(to)g(a)g(readonly)g(bit.)40 b(\(2\))29
b(is)e(it)150 5340 y(executable?)42 b(Unix)30 b(CVS)f(users)h(need)f
(CVS)h(to)h(store)f(this)g(setting)i(\(for)e(shell)g(scripts)g(and)g
(the)g(lik)m(e\).)p eop end
%%Page: 8 8
TeXDict begin 8 7 bop 150 299 a Fh(The)34 b(curren)m(t)h(CVS)e
(implemen)m(tation)k(on)d(unix)g(do)s(es)g(a)h(little)i(bit)e(more)f
(than)h(just)f(main)m(tain)h(these)150 408 y(t)m(w)m(o)30
b(settings,)g(but)e(it)h(do)s(esn't)g(really)g(ha)m(v)m(e)h(a)f(nice)g
(general)h(facilit)m(y)g(to)g(store)f(or)g(v)m(ersion)g(con)m(trol)h
(the)150 518 y(mo)s(de,)25 b(ev)m(en)g(on)f(unix,)h(m)m(uc)m(h)f(less)g
(across)h(op)s(erating)f(systems)h(with)e(div)m(erse)i(protection)g
(features.)39 b(So)150 628 y(all)33 b(the)f(ins)f(and)g(outs)h(of)g
(what)g(the)g(mo)s(de)f(means)h(across)h(op)s(erating)f(systems)g(ha)m
(v)m(en't)h(really)g(b)s(een)150 737 y(w)m(ork)m(ed)e(out)f(\(e.g.)43
b(should)29 b(the)i(VMS)f(p)s(ort)g(use)g(A)m(CLs)g(to)h(get)h(POSIX)d
(seman)m(tics)j(for)e(groups?\).)150 995 y Fc(5.3)68
b(Con)l(v)l(en)l(tions)47 b(regarding)e(transmission)h(of)g(\014le)f
(names)275 1187 y Fh(In)31 b(most)h(con)m(texts,)i(`)p
Ff(/)p Fh(')e(is)g(used)g(to)g(separate)h(directory)g(and)e(\014le)h
(names)g(in)g(\014lenames,)g(and)g(an)m(y)150 1297 y(use)j(of)h(other)g
(con)m(v)m(en)m(tions)i(\(for)d(example,)j(that)e(the)g(user)f(migh)m
(t)h(t)m(yp)s(e)g(on)f(the)h(command)g(line\))g(is)150
1406 y(con)m(v)m(erted)43 b(to)g(that)f(form.)74 b(The)42
b(only)f(exceptions)i(migh)m(t)g(b)s(e)e(a)h(few)f(cases)i(in)e(whic)m
(h)h(the)g(serv)m(er)150 1516 y(pro)m(vides)33 b(a)g(magic)h(co)s(okie)
h(whic)m(h)d(the)h(clien)m(t)i(then)d(rep)s(eats)h(v)m(erbatim,)i(but)d
(as)h(the)g(serv)m(er)g(has)g(not)150 1626 y(y)m(et)38
b(b)s(een)f(p)s(orted)g(b)s(ey)m(ond)f(unix,)j(the)e(t)m(w)m(o)i(rules)
e(pro)m(vide)g(the)h(same)f(answ)m(er)g(\(and)h(what)f(to)h(do)f(if)150
1735 y(future)25 b(serv)m(er)i(p)s(orts)e(are)i(op)s(erating)f(on)g(a)h
(rep)s(ository)f(lik)m(e)h(e:/fo)s(o)h(or)e(CVS)p 2795
1735 28 4 v 32 w(R)m(OOT:[F)m(OO.BAR])h(has)150 1845
y(not)k(b)s(een)e(carefully)i(though)m(t)g(out\).)275
1979 y(Characters)i(outside)h(the)f(in)m(v)-5 b(arian)m(t)35
b(ISO)d(646)i(c)m(haracter)h(set)f(should)e(b)s(e)h(a)m(v)m(oided)i(in)
e(\014lenames.)150 2089 y(This)25 b(restriction)h(ma)m(y)h(need)e(to)h
(b)s(e)f(relaxed)i(to)f(allo)m(w)h(for)e(c)m(haracters)i(suc)m(h)f(as)g
(`)p Ff([)p Fh(')f(and)g(`)p Ff(])p Fh(')h(\(see)h(ab)s(o)m(v)m(e)150
2198 y(ab)s(out)h(non-unix)f(serv)m(ers\);)i(this)f(has)g(not)g(b)s
(een)f(carefully)i(considered)f(\(and)g(curren)m(tly)g(implemen)m(ta-)
150 2308 y(tions)i(probably)e(use)h(whatev)m(er)h(c)m(haracter)h(sets)f
(that)g(the)f(op)s(erating)h(systems)f(they)h(are)f(running)f(on)150
2418 y(allo)m(w,)i(and/or)e(that)g(users)f(sp)s(ecify\).)40
b(Of)27 b(course)h(the)g(most)g(p)s(ortable)g(practice)h(is)e(to)i
(restrict)f(oneself)150 2527 y(further,)h(to)i(the)g(POSIX)e(p)s
(ortable)i(\014lename)f(c)m(haracter)i(set)f(as)g(sp)s(eci\014ed)f(in)g
(POSIX.1.)150 2785 y Fc(5.4)68 b(File)46 b(transmissions)275
2977 y Fh(File)37 b(con)m(ten)m(ts)h(\(noted)f(b)s(elo)m(w)f(as)g
Fg(\014le)h(transmission)p Fh(\))f(can)g(b)s(e)g(sen)m(t)h(in)e(one)i
(of)f(t)m(w)m(o)i(forms.)57 b(The)150 3087 y(simpler)29
b(form)h(is)f(a)i(n)m(um)m(b)s(er)d(of)i(b)m(ytes,)h(follo)m(w)m(ed)g
(b)m(y)f(a)g(linefeed,)g(follo)m(w)m(ed)i(b)m(y)d(the)h(sp)s(eci\014ed)
f(n)m(um)m(b)s(er)150 3196 y(of)i(b)m(ytes)h(of)g(\014le)f(con)m(ten)m
(ts.)45 b(These)31 b(are)h(the)g(en)m(tire)g(con)m(ten)m(ts)h(of)e(the)
h(sp)s(eci\014ed)e(\014le.)44 b(Second,)31 b(if)h(b)s(oth)150
3306 y(clien)m(t)42 b(and)d(serv)m(er)h(supp)s(ort)f(`)p
Ff(gzip-file-contents)p Fh(',)f(a)i(`)p Ff(z)p Fh(')g(ma)m(y)h(precede)
f(the)g(length,)j(and)d(the)150 3416 y(`\014le)30 b(con)m(ten)m(ts')i
(sen)m(t)e(are)g(actually)h(compressed)f(with)f(`)p Ff(gzip)p
Fh(')g(\(RF)m(C1952/1951\))35 b(compression.)40 b(The)150
3525 y(length)31 b(sp)s(eci\014ed)e(is)i(that)g(of)f(the)h(compressed)f
(v)m(ersion)h(of)f(the)h(\014le.)275 3660 y(In)c(neither)i(case)g(are)g
(the)g(\014le)g(con)m(ten)m(t)h(follo)m(w)m(ed)g(b)m(y)e(an)m(y)h
(additional)h(data.)41 b(The)28 b(transmission)g(of)150
3769 y(a)j(\014le)f(will)h(end)f(with)g(a)g(linefeed)h(i\013)g(that)g
(\014le)f(\(or)h(its)g(compressed)f(form\))g(ends)g(with)g(a)h
(linefeed.)275 3904 y(The)23 b(enco)s(ding)h(of)h(\014le)f(con)m(ten)m
(ts)i(dep)s(ends)c(on)i(the)g(v)-5 b(alue)25 b(for)f(the)g(`)p
Ff(-k)p Fh(')g(option.)39 b(If)24 b(the)g(\014le)h(is)f(binary)150
4013 y(\(as)31 b(sp)s(eci\014ed)f(b)m(y)g(the)h(`)p Ff(-kb)p
Fh(')f(option)h(in)f(the)h(appropriate)f(place\),)i(then)f(it)g(is)f
(just)g(a)h(certain)g(n)m(um)m(b)s(er)150 4123 y(of)38
b(o)s(ctets,)j(and)d(the)g(proto)s(col)g(con)m(tributes)h(nothing)f(to)
m(w)m(ards)g(determining)g(the)g(enco)s(ding)g(\(using)150
4232 y(the)c(\014le)f(name)h(is)f(one)h(widespread,)f(if)h(not)g(univ)m
(ersally)f(p)s(opular,)h(mec)m(hanism\).)50 b(If)33 b(the)h(\014le)f
(is)h(text)150 4342 y(\(not)c(binary\),)f(then)g(the)h(\014le)f(is)h
(sen)m(t)g(as)f(a)h(series)g(of)f(lines,)h(separated)g(b)m(y)f
(linefeeds.)41 b(If)29 b(the)g(k)m(eyw)m(ord)150 4452
y(expansion)h(is)h(set)f(to)h(something)g(other)g(than)f(`)p
Ff(-ko)p Fh(',)g(then)g(it)h(is)f(exp)s(ected)h(that)g(the)g(\014le)f
(conform)g(to)150 4561 y(the)f(R)m(CS)f(exp)s(ectations)j(regarding)e
(k)m(eyw)m(ord)g(expansion|in)f(particular,)i(that)f(it)h(is)f(in)f(a)h
(c)m(haracter)150 4671 y(set)i(suc)m(h)f(as)h(ASCI)s(I)d(in)i(whic)m(h)
h(0x24)g(is)g(a)f(dollar)h(sign)g(\(`)p Ff($)p Fh('\).)150
4928 y Fc(5.5)68 b(Strings)275 5121 y Fh(In)24 b(v)-5
b(arious)26 b(con)m(texts,)j(for)c(example)h(the)g Ff(Argument)d
Fh(request)j(and)f(the)h Ff(M)f Fh(resp)s(onse,)h(one)g(transmits)150
5230 y(what)32 b(is)g(essen)m(tially)j(an)d(arbitrary)g(string.)46
b(Often)32 b(this)g(will)h(ha)m(v)m(e)g(b)s(een)f(supplied)f(b)m(y)h
(the)g(user)g(\(for)150 5340 y(example,)e(the)g(`)p Ff(-m)p
Fh(')f(option)h(to)g(the)f Ff(ci)g Fh(request\).)41 b(The)29
b(proto)s(col)h(has)f(no)g(mec)m(hanism)h(to)g(sp)s(ecify)f(the)p
eop end
%%Page: 9 9
TeXDict begin 9 8 bop 150 299 a Fh(c)m(haracter)23 b(set)e(of)h(suc)m
(h)e(strings;)25 b(it)c(w)m(ould)g(b)s(e)g(fairly)g(safe)g(to)h(stic)m
(k)h(to)e(the)h(in)m(v)-5 b(arian)m(t)22 b(ISO)e(646)i(c)m(haracter)150
408 y(set)35 b(but)f(the)h(existing)g(practice)h(is)f(probably)e(to)j
(just)e(transmit)g(whatev)m(er)h(the)g(user)f(sp)s(eci\014es,)i(and)150
518 y(hop)s(e)i(that)h(ev)m(ery)m(one)g(in)m(v)m(olv)m(ed)h(agrees)g
(whic)m(h)e(c)m(haracter)i(set)f(is)f(in)g(use,)i(or)f(stic)m(ks)g(to)g
(a)g(common)150 628 y(subset.)150 896 y Fc(5.6)68 b(Dates)275
1093 y Fh(The)29 b(proto)s(col)j(con)m(tains)f(times)g(and)f(dates)h
(in)f(v)-5 b(arious)30 b(places.)275 1231 y(F)-8 b(or)39
b(the)g(`)p Ff(-D)p Fh(')g(option)g(to)h(the)e Ff(annotate)p
Fh(,)h Ff(co)p Fh(,)i Ff(diff)p Fh(,)f Ff(export)p Fh(,)f
Ff(history)p Fh(,)g Ff(rannotate)p Fh(,)g Ff(rdiff)p
Fh(,)150 1341 y Ff(rtag)p Fh(,)29 b Ff(tag)p Fh(,)h(and)g
Ff(update)f Fh(requests,)h(the)h(serv)m(er)f(should)g(supp)s(ort)e(t)m
(w)m(o)k(formats:)390 1474 y Ff(26)47 b(May)g(1997)g(13:01:40)e(-0000)
94 b(;)48 b Fh(RF)m(C)30 b(822)i(as)f(mo)s(di\014ed)e(b)m(y)h(RF)m(C)h
(1123)390 1578 y Ff(5/26/1997)45 b(13:01:40)h(GMT)190
b(;)47 b Fh(traditional)275 1717 y(The)37 b(former)h(format)g(is)g
(preferred;)j(the)d(latter)h(ho)m(w)m(ev)m(er)h(is)e(sen)m(t)g(b)m(y)g
(the)h(CVS)e(command)h(line)150 1826 y(clien)m(t)32 b(\(v)m(ersions)f
(1.5)g(through)f(at)h(least)h(1.9\).)275 1965 y(F)-8
b(or)33 b(the)h(`)p Ff(-d)p Fh(')f(option)g(to)h(the)g
Ff(log)e Fh(and)g Ff(rlog)g Fh(requests,)i(serv)m(ers)g(should)e(at)i
(least)g(supp)s(ort)e(RF)m(C)150 2074 y(822/1123)39 b(format.)57
b(Clien)m(ts)37 b(are)f(encouraged)g(to)g(use)g(this)f(format)i(to)s(o)
f(\(the)g(command)g(line)g(CVS)150 2184 y(clien)m(t,)49
b(v)m(ersion)c(1.10)g(and)e(older,)48 b(just)c(passed)f(along)i(the)f
(date)h(format)f(sp)s(eci\014ed)f(b)m(y)h(the)g(user,)150
2294 y(ho)m(w)m(ev)m(er\).)275 2432 y(The)33 b Ff(Mod-time)e
Fh(resp)s(onse)i(and)g Ff(Checkin-time)e Fh(request)j(use)f(RF)m(C)h
(822/1123)k(format)c(\(see)h(the)150 2542 y(descriptions)30
b(of)h(that)g(resp)s(onse)e(and)h(request)g(for)h(details\).)275
2681 y(F)-8 b(or)31 b Ff(Notify)p Fh(,)e(see)i(the)f(description)h(of)f
(that)h(request.)150 2949 y Fc(5.7)68 b(Request)46 b(in)l(tro)275
3146 y Fh(By)33 b(con)m(v)m(en)m(tion,)i(requests)e(whic)m(h)g(b)s
(egin)f(with)g(a)i(capital)g(letter)g(do)f(not)g(elicit)h(a)g(resp)s
(onse)d(from)150 3255 y(the)f(serv)m(er,)g(while)g(all)h(others)f(do)f
({)h(sa)m(v)m(e)i(one.)41 b(The)29 b(exception)i(is)f(`)p
Ff(gzip-file-contents)p Fh('.)36 b(Unrec-)150 3365 y(ognized)h
(requests)e(will)h(alw)m(a)m(ys)i(elicit)f(a)f(resp)s(onse)f(from)h
(the)g(serv)m(er,)h(ev)m(en)g(if)e(that)i(request)e(b)s(egins)150
3475 y(with)30 b(a)h(capital)h(letter.)275 3613 y(The)21
b(term)h Fg(command)j Fh(means)d(a)g(request)g(whic)m(h)g(exp)s(ects)g
(a)g(resp)s(onse)f(\(except)i Ff(valid-requests)p Fh(\).)150
3723 y(The)40 b(general)h(mo)s(del)g(is)f(that)h(the)g(clien)m(t)h
(transmits)f(a)f(great)i(n)m(um)m(b)s(er)d(of)i(requests,)i(but)d
(nothing)150 3832 y(happ)s(ens)30 b(un)m(til)i(the)g(v)m(ery)g(end)f
(when)f(the)i(clien)m(t)i(transmits)d(a)h(command.)45
b(Although)32 b(the)f(in)m(ten)m(tion)150 3942 y(is)k(that)g
(transmitting)h(sev)m(eral)g(commands)e(in)h(one)g(connection)h(should)
e(b)s(e)g(legal,)k(existing)e(serv)m(ers)150 4052 y(probably)22
b(ha)m(v)m(e)h(some)g(bugs)f(with)g(some)h(com)m(binations)h(of)f(more)
g(than)f(one)h(command,)h(and)e(so)g(clien)m(ts)150 4161
y(ma)m(y)28 b(\014nd)e(it)i(necessary)g(to)g(mak)m(e)h(sev)m(eral)f
(connections)h(in)e(some)h(cases.)41 b(This)26 b(should)h(b)s(e)g
(though)m(t)h(of)150 4271 y(as)j(a)f(w)m(ork)-5 b(around)30
b(rather)g(than)g(a)h(desired)f(attribute)h(of)f(the)h(proto)s(col.)150
4539 y Fc(5.8)68 b(Requests)275 4736 y Fh(Here)30 b(are)h(the)g
(requests:)150 4902 y Ff(Root)e Fg(pathname)36 b Ff(\\n)630
5011 y Fh(Resp)s(onse)29 b(exp)s(ected:)40 b(no.)h(T)-8
b(ell)30 b(the)f(serv)m(er)h(whic)m(h)f Ff(CVSROOT)e
Fh(to)j(use.)40 b(Note)31 b(that)f Fg(path-)630 5121
y(name)j Fh(is)c(a)f(lo)s(cal)i(directory)f(and)f Fb(not)37
b Fh(a)29 b(fully)f(quali\014ed)g Ff(CVSROOT)e Fh(v)-5
b(ariable.)41 b Fg(pathname)630 5230 y Fh(m)m(ust)23
b(already)h(exist;)j(if)c(creating)i(a)f(new)f(ro)s(ot,)i(use)e(the)h
Ff(init)e Fh(request,)j(not)f Ff(Root)p Fh(.)37 b Fg(path-)630
5340 y(name)43 b Fh(do)s(es)37 b(not)g(include)g(the)h(hostname)g(of)f
(the)h(serv)m(er,)i(ho)m(w)d(to)h(access)h(the)e(serv)m(er,)p
eop end
%%Page: 10 10
TeXDict begin 10 9 bop 630 299 a Fh(etc.;)38 b(b)m(y)c(the)g(time)h
(the)f(CVS)g(proto)s(col)h(is)f(in)g(use,)h(connection,)i(authen)m
(tication,)g(etc.,)630 408 y(are)31 b(already)g(tak)m(en)g(care)g(of.)
630 541 y(The)44 b Ff(Root)g Fh(request)g(m)m(ust)h(b)s(e)f(sen)m(t)h
(only)g(once,)k(and)44 b(it)h(m)m(ust)g(b)s(e)f(sen)m(t)h(b)s(efore)g
(an)m(y)630 650 y(requests)34 b(other)h(than)f Ff(Valid-responses)p
Fh(,)d Ff(valid-requests)p Fh(,)g Ff(UseUnchanged)p Fh(,)i
Ff(Set)p Fh(,)630 760 y Ff(Global_option)p Fh(,)27 b
Ff(init)p Fh(,)i Ff(noop)p Fh(,)h(or)g Ff(version)p Fh(.)150
915 y Ff(Valid-responses)c Fg(request-list)34 b Ff(\\n)630
1024 y Fh(Resp)s(onse)g(exp)s(ected:)51 b(no.)j(T)-8
b(ell)36 b(the)f(serv)m(er)g(what)g(resp)s(onses)f(the)h(clien)m(t)i
(will)e(accept.)630 1134 y(request-list)30 b(is)f(a)g(space)g
(separated)g(list)h(of)f(tok)m(ens.)41 b(The)28 b Ff(Root)f
Fh(request)i(need)g(not)g(ha)m(v)m(e)630 1244 y(b)s(een)h(previously)g
(sen)m(t.)150 1399 y Ff(valid-requests)c(\\n)630 1508
y Fh(Resp)s(onse)37 b(exp)s(ected:)57 b(y)m(es.)64 b(Ask)38
b(the)g(serv)m(er)g(to)h(send)e(bac)m(k)h(a)h Ff(Valid-requests)34
b Fh(re-)630 1618 y(sp)s(onse.)40 b(The)30 b Ff(Root)f
Fh(request)h(need)g(not)h(ha)m(v)m(e)h(b)s(een)d(previously)h(sen)m(t.)
150 1773 y Ff(Directory)e Fg(lo)s(cal-directory)40 b
Ff(\\n)630 1882 y Fh(Additional)34 b(data:)48 b Fg(rep)s(ository)42
b Ff(\\)p Fh(n.)49 b(Resp)s(onse)33 b(exp)s(ected:)48
b(no.)j(T)-8 b(ell)34 b(the)g(serv)m(er)g(what)630 1992
y(directory)i(to)f(use.)55 b(The)34 b Fg(rep)s(ository)43
b Fh(should)34 b(b)s(e)g(a)i(directory)f(name)g(from)g(a)g(previous)630
2101 y(serv)m(er)h(resp)s(onse.)56 b(Note)37 b(that)f(this)g(b)s(oth)e
(giv)m(es)j(a)g(default)e(for)h Ff(Entry)e Fh(and)h Ff(Modified)630
2211 y Fh(and)f(also)h(for)f Ff(ci)g Fh(and)g(the)g(other)h(commands;)h
(normal)e(usage)h(is)g(to)g(send)e Ff(Directory)630 2321
y Fh(for)25 b(eac)m(h)h(directory)f(in)g(whic)m(h)g(there)g(will)g(b)s
(e)g(an)f Ff(Entry)g Fh(or)h Ff(Modified)p Fh(,)f(and)g(then)h(a)g
(\014nal)630 2430 y Ff(Directory)33 b Fh(for)j(the)g(original)g
(directory)-8 b(,)39 b(then)c(the)h(command.)57 b(The)35
b Fg(lo)s(cal-directory)630 2540 y Fh(is)k(relativ)m(e)j(to)e(the)f
(top)h(lev)m(el)h(at)f(whic)m(h)f(the)g(command)h(is)f(o)s(ccurring)g
(\(i.e.)69 b(the)39 b(last)630 2649 y Ff(Directory)33
b Fh(whic)m(h)j(is)g(sen)m(t)g(b)s(efore)g(the)g(command\);)j(to)e
(indicate)g(that)f(top)h(lev)m(el,)i(`)p Ff(.)p Fh(')630
2759 y(should)29 b(b)s(e)h(sen)m(t)h(for)f Fg(lo)s(cal-directory)p
Fh(.)630 2891 y(Here)j(is)f(an)g(example)g(of)h(where)e(a)h(clien)m(t)i
(gets)f Fg(rep)s(ository)40 b Fh(and)31 b Fg(lo)s(cal-directory)p
Fh(.)48 b(Sup-)630 3001 y(p)s(ose)30 b(that)h(there)g(is)f(a)h(mo)s
(dule)e(de\014ned)h(b)m(y)870 3127 y Ff(moddir)46 b(1dir)630
3260 y Fh(That)32 b(is,)g(one)g(can)h(c)m(hec)m(k)g(out)f
Ff(moddir)e Fh(and)h(it)i(will)f(tak)m(e)h Ff(1dir)e
Fh(in)h(the)g(rep)s(ository)g(and)630 3369 y(c)m(hec)m(k)27
b(it)e(out)g(to)h Ff(moddir)e Fh(in)g(the)i(w)m(orking)f(directory)-8
b(.)40 b(Then)24 b(an)h(initial)h(c)m(hec)m(k)h(out)e(could)630
3479 y(pro)s(ceed)30 b(lik)m(e)i(this:)870 3605 y Ff(C:)47
b(Root)g(/home/kingdon/zwork/cvsr)o(oot)870 3709 y(.)g(.)h(.)870
3813 y(C:)f(Argument)f(moddir)870 3916 y(C:)h(Directory)e(.)870
4020 y(C:)i(/home/kingdon/zwork/cvsro)o(ot)870 4124 y(C:)g(co)870
4228 y(S:)g(Clear-sticky)e(moddir/)870 4332 y(S:)i
(/home/kingdon/zwork/cvsro)o(ot/1)o(dir)o(/)870 4435
y(.)g(.)h(.)870 4539 y(S:)f(ok)630 4671 y Fh(In)32 b(this)g(example)h
(the)g(resp)s(onse)f(sho)m(wn)g(is)g Ff(Clear-sticky)p
Fh(,)e(but)i(it)h(could)g(b)s(e)f(another)630 4781 y(resp)s(onse)23
b(instead.)39 b(Note)25 b(that)f(it)h(returns)d(t)m(w)m(o)k(pathnames.)
38 b(The)23 b(\014rst)g(one,)j(`)p Ff(moddir/)p Fh(',)630
4891 y(indicates)37 b(the)e(w)m(orking)h(directory)h(to)f(c)m(hec)m(k)h
(out)f(in)m(to.)58 b(The)35 b(second)h(one,)h(ending)e(in)630
5000 y(`)p Ff(1dir/)p Fh(',)48 b(indicates)f(the)e(directory)h(to)g
(pass)f(bac)m(k)h(to)g(the)f(serv)m(er)h(in)f(a)h(subsequen)m(t)630
5110 y Ff(Directory)25 b Fh(request.)39 b(F)-8 b(or)28
b(example,)h(a)f(subsequen)m(t)e Ff(update)g Fh(request)h(migh)m(t)h
(lo)s(ok)f(lik)m(e:)870 5236 y Ff(C:)47 b(Directory)e(moddir)870
5340 y(C:)i(/home/kingdon/zwork/cvsro)o(ot/1)o(dir)p
eop end
%%Page: 11 11
TeXDict begin 11 10 bop 870 299 a Ff(.)47 b(.)h(.)870
403 y(C:)f(update)630 536 y Fh(F)-8 b(or)44 b(a)h(giv)m(en)f
Fg(lo)s(cal-directory)p Fh(,)50 b(the)44 b(rep)s(ository)f(will)h(b)s
(e)f(the)h(same)g(for)g(eac)m(h)h(of)f(the)630 646 y(resp)s(onses,)31
b(so)h(one)g(can)h(use)e(the)h(rep)s(ository)g(from)f(whic)m(hev)m(er)h
(resp)s(onse)f(is)h(most)g(con-)630 755 y(v)m(enien)m(t.)50
b(T)m(ypically)34 b(a)f(clien)m(t)i(will)e(store)g(the)h(rep)s(ository)
e(along)i(with)f(the)g(sources)g(for)630 865 y(eac)m(h)38
b Fg(lo)s(cal-directory)p Fh(,)i(use)d(that)g(same)g(setting)h(whenev)m
(er)e(op)s(erating)i(on)e(that)h Fg(lo)s(cal-)630 974
y(directory)p Fh(,)31 b(and)f(not)h(up)s(date)e(the)i(setting)g(as)g
(long)g(as)f(the)h Fg(lo)s(cal-directory)40 b Fh(exists.)630
1108 y(A)24 b(clien)m(t)h(is)f(free)f(to)i(rename)f(a)g
Fg(lo)s(cal-directory)33 b Fh(at)25 b(an)m(y)f(time)g(\(for)g(example,)
i(in)d(resp)s(onse)630 1218 y(to)37 b(an)f(explicit)h(user)e
(request\).)58 b(While)37 b(it)g(is)f(true)g(that)g(the)h(serv)m(er)f
(supplies)f(a)h Fg(lo)s(cal-)630 1327 y(directory)h Fh(to)29
b(the)g(clien)m(t,)i(as)e(noted)f(ab)s(o)m(v)m(e,)j(this)d(is)h(only)f
(the)h(default)g(place)h(to)f(put)f(the)630 1437 y(directory)-8
b(.)41 b(Of)26 b(course,)i(the)f(v)-5 b(arious)27 b Ff(Directory)e
Fh(requests)i(for)g(a)g(single)h(command)f(\(for)630
1546 y(example,)41 b Ff(update)36 b Fh(or)i Ff(ci)g Fh(request\))g
(should)f(name)i(a)f(particular)g(directory)h(with)f(the)630
1656 y(same)31 b Fg(lo)s(cal-directory)p Fh(.)630 1789
y(Eac)m(h)j Ff(Directory)c Fh(request)j(sp)s(eci\014es)g(a)g(brand-new)
f Fg(lo)s(cal-directory)43 b Fh(and)32 b Fg(rep)s(ository)8
b Fh(;)630 1899 y(that)37 b(is,)g Fg(lo)s(cal-directory)46
b Fh(and)35 b Fg(rep)s(ository)44 b Fh(are)36 b(nev)m(er)h(relativ)m(e)
h(to)e(paths)g(sp)s(eci\014ed)f(in)630 2009 y(an)m(y)c(previous)f
Ff(Directory)d Fh(request.)630 2142 y(Here's)36 b(a)f(more)g(complex)h
(example,)h(in)e(whic)m(h)g(w)m(e)h(request)f(an)g(up)s(date)f(of)h(a)h
(w)m(orking)630 2252 y(directory)31 b(whic)m(h)f(has)g(b)s(een)g(c)m
(hec)m(k)m(ed)i(out)f(from)f(m)m(ultiple)h(places)g(in)f(the)g(rep)s
(ository)-8 b(.)870 2379 y Ff(C:)47 b(Argument)f(dir1)870
2483 y(C:)h(Directory)e(dir1)870 2587 y(C:)i(/home/foo/repos/mod1)870
2691 y(.)g(.)h(.)870 2794 y(C:)f(Argument)f(dir2)870
2898 y(C:)h(Directory)e(dir2)870 3002 y(C:)i(/home/foo/repos/mod2)870
3106 y(.)g(.)h(.)870 3209 y(C:)f(Argument)f(dir3)870
3313 y(C:)h(Directory)e(dir3/subdir3)870 3417 y(C:)i
(/home/foo/repos/mod3)870 3521 y(.)g(.)h(.)870 3625 y(C:)f(update)630
3758 y Fh(While)28 b(directories)h Ff(dir1)e Fh(and)g
Ff(dir2)f Fh(will)j(b)s(e)e(handled)f(in)i(similar)g(fashion)f(to)i
(the)f(other)630 3868 y(examples)38 b(giv)m(en)g(ab)s(o)m(v)m(e,)j
Ff(dir3)36 b Fh(is)h(sligh)m(tly)i(di\013eren)m(t)f(from)f(the)g(serv)m
(er's)h(standp)s(oin)m(t.)630 3977 y(Notice)c(that)f(mo)s(dule)e
Ff(mod3)g Fh(is)h(actually)i(c)m(hec)m(k)m(ed)g(out)e(in)m(to)h
Ff(dir3/subdir3)p Fh(,)d(meaning)630 4087 y(that)h(directory)g
Ff(dir3)f Fh(is)g(either)h(empt)m(y)g(or)g(do)s(es)f(not)h(con)m(tain)h
(data)f(c)m(hec)m(k)m(ed)i(out)d(from)630 4196 y(this)g(rep)s(ository)
-8 b(.)630 4330 y(The)28 b(ab)s(o)m(v)m(e)j(example)e(will)g(w)m(ork)g
(correctly)i(in)d Fd(cvs)g Fh(1.10.1)j(and)e(later.)41
b(The)28 b(serv)m(er)i(will)630 4439 y(descend)k(the)g(tree)h(starting)
h(from)d(all)j(directories)f(men)m(tioned)g(in)f Ff(Argument)e
Fh(requests)630 4549 y(and)e(up)s(date)f(those)i(directories)h(sp)s
(eci\014cally)f(men)m(tioned)g(in)f Ff(Directory)e Fh(requests.)630
4682 y(Previous)g(v)m(ersions)h(of)g Fd(cvs)e Fh(\(1.10)k(and)d
(earlier\))i(do)e(not)h(b)s(eha)m(v)m(e)g(the)g(same)g(w)m(a)m(y)-8
b(.)41 b(While)630 4792 y(the)25 b(descen)m(t)h(of)f(the)g(tree)h(b)s
(egins)e(at)h(all)h(directories)g(men)m(tioned)g(in)e
Ff(Argument)f Fh(requests,)630 4902 y(descen)m(t)34 b(in)m(to)h(sub)s
(directories)e(only)g(o)s(ccurs)h(if)f(a)h(directory)g(has)f(b)s(een)g
(men)m(tioned)h(in)g(a)630 5011 y Ff(Directory)e Fh(request.)53
b(Therefore,)35 b(the)f(ab)s(o)m(v)m(e)i(example)f(w)m(ould)f(succeed)h
(in)f(up)s(dating)630 5121 y Ff(dir1)25 b Fh(and)g Ff(dir2)p
Fh(,)h(but)f(w)m(ould)g(skip)h Ff(dir3)e Fh(b)s(ecause)i(that)h
(directory)f(w)m(as)g(not)g(sp)s(eci\014cally)630 5230
y(men)m(tioned)44 b(in)f(a)g Ff(Directory)e Fh(request.)79
b(A)43 b(functional)h(v)m(ersion)f(of)h(the)f(ab)s(o)m(v)m(e)h(that)630
5340 y(w)m(ould)30 b(run)f(on)h(a)h(1.10)h(or)e(earlier)i(serv)m(er)e
(is)h(as)f(follo)m(ws:)p eop end
%%Page: 12 12
TeXDict begin 12 11 bop 870 299 a Ff(C:)47 b(Argument)f(dir1)870
403 y(C:)h(Directory)e(dir1)870 506 y(C:)i(/home/foo/repos/mod1)870
610 y(.)g(.)h(.)870 714 y(C:)f(Argument)f(dir2)870 818
y(C:)h(Directory)e(dir2)870 922 y(C:)i(/home/foo/repos/mod2)870
1025 y(.)g(.)h(.)870 1129 y(C:)f(Argument)f(dir3)870
1233 y(C:)h(Directory)e(dir3)870 1337 y(C:)i(/home/foo/repos/.)870
1440 y(.)g(.)h(.)870 1544 y(C:)f(Directory)e(dir3/subdir3)870
1648 y(C:)i(/home/foo/repos/mod3)870 1752 y(.)g(.)h(.)870
1856 y(C:)f(update)630 2025 y Fh(Note)28 b(the)f(extra)h
Ff(Directory)g(dir3)e Fh(request.)39 b(It)28 b(migh)m(t)f(b)s(e)g(b)s
(etter)g(to)g(use)g Ff(Emptydir)e Fh(as)630 2134 y(the)31
b(rep)s(ository)f(for)g(the)h Ff(dir3)e Fh(directory)-8
b(,)31 b(but)f(the)h(ab)s(o)m(v)m(e)g(will)g(certainly)g(w)m(ork.)630
2304 y(One)55 b(more)h(p)s(eculiarit)m(y)h(of)f(the)g(1.10)h(and)e
(earlier)i(proto)s(col)g(is)e(the)h(ordering)g(of)630
2413 y Ff(Directory)36 b Fh(argumen)m(ts.)64 b(In)37
b(order)h(for)g(a)g(sub)s(directory)f(to)i(b)s(e)f(registered)h
(correctly)630 2523 y(for)48 b(descen)m(t)h(b)m(y)g(the)f(recursion)g
(pro)s(cessor,)53 b(its)c(paren)m(t)f(m)m(ust)h(b)s(e)e(sen)m(t)i
(\014rst.)94 b(F)-8 b(or)630 2633 y(example,)31 b(the)g(follo)m(wing)h
(w)m(ould)e(not)g(w)m(ork)h(to)g(up)s(date)f Ff(dir3/subdir3)p
Fh(:)870 2796 y Ff(.)47 b(.)h(.)870 2900 y(C:)f(Argument)f(dir3)870
3004 y(C:)h(Directory)e(dir3/subdir3)870 3108 y(C:)i
(/home/foo/repos/mod3)870 3211 y(.)g(.)h(.)870 3315 y(C:)f(Directory)e
(dir3)870 3419 y(C:)i(/home/foo/repos/.)870 3523 y(.)g(.)h(.)870
3626 y(C:)f(update)630 3796 y Fh(The)30 b(implemen)m(tation)i(of)f(the)
f(serv)m(er)h(in)f(1.10)i(and)e(earlier)h(writes)g(the)f
(administration)630 3905 y(\014les)36 b(for)h(a)g(giv)m(en)g(directory)
g(at)h(the)e(time)i(of)e(the)h Ff(Directory)d Fh(request.)59
b(It)37 b(also)h(tries)630 4015 y(to)33 b(register)f(the)g(directory)g
(with)g(its)g(paren)m(t)g(to)h(mark)e(it)i(for)e(recursion.)45
b(In)31 b(the)h(ab)s(o)m(v)m(e)630 4125 y(example,)g(at)f(the)g(time)g
Ff(dir3/subdir3)d Fh(is)i(created,)i(the)f(ph)m(ysical)h(directory)f
(for)f Ff(dir3)630 4234 y Fh(will)f(b)s(e)f(created)h(on)g(disk,)f(but)
g(the)h(administration)g(\014les)f(will)h(not)g(ha)m(v)m(e)h(b)s(een)e
(created.)630 4344 y(Therefore,)43 b(when)c(the)h(serv)m(er)h(tries)f
(to)h(register)g Ff(dir3/subdir3)c Fh(for)j(recursion,)j(the)630
4453 y(op)s(eration)33 b(will)f(silen)m(tly)i(fail)f(b)s(ecause)f(the)h
(administration)g(\014les)f(do)g(not)h(y)m(et)g(exist)g(for)630
4563 y Ff(dir3)p Fh(.)150 4792 y Ff(Max-dotdot)28 b Fg(lev)m(el)35
b Ff(\\n)630 4902 y Fh(Resp)s(onse)27 b(exp)s(ected:)39
b(no.)h(T)-8 b(ell)28 b(the)g(serv)m(er)g(that)g Fg(lev)m(el)k
Fh(lev)m(els)d(of)f(directories)g(ab)s(o)m(v)m(e)h(the)630
5011 y(directory)24 b(whic)m(h)f Ff(Directory)d Fh(requests)k(are)f
(relativ)m(e)j(to)e(will)f(b)s(e)g(needed.)38 b(F)-8
b(or)24 b(example,)630 5121 y(if)37 b(the)g(clien)m(t)i(is)e(planning)g
(to)h(use)e(a)i Ff(Directory)c Fh(request)k(for)e(`)p
Ff(../../foo)p Fh(',)h(it)h(m)m(ust)630 5230 y(send)27
b(a)h Ff(Max-dotdot)d Fh(request)j(with)f(a)h Fg(lev)m(el)33
b Fh(of)28 b(at)h(least)g(2.)40 b Ff(Max-dotdot)25 b
Fh(m)m(ust)i(b)s(e)g(sen)m(t)630 5340 y(b)s(efore)j(the)h(\014rst)e
Ff(Directory)f Fh(request.)p eop end
%%Page: 13 13
TeXDict begin 13 12 bop 150 299 a Ff(Static-directory)26
b(\\n)630 408 y Fh(Resp)s(onse)20 b(exp)s(ected:)36 b(no.)h(T)-8
b(ell)22 b(the)e(serv)m(er)h(that)g(the)g(directory)g(most)g(recen)m
(tly)h(sp)s(eci\014ed)630 518 y(with)36 b Ff(Directory)d
Fh(should)i(not)h(ha)m(v)m(e)h(additional)g(\014les)e(c)m(hec)m(k)m(ed)
j(out)e(unless)f(explicitly)630 628 y(requested.)69 b(The)39
b(clien)m(t)j(sends)d(this)g(if)h(the)g Ff(Entries.Static)c
Fh(\015ag)k(is)g(set,)j(whic)m(h)d(is)630 737 y(con)m(trolled)j(b)m(y)f
(the)f Ff(Set-static-directory)36 b Fh(and)41 b Ff
(Clear-static-directory)36 b Fh(re-)630 847 y(sp)s(onses.)150
1007 y Ff(Sticky)29 b Fg(tagsp)s(ec)36 b Ff(\\n)630 1117
y Fh(Resp)s(onse)20 b(exp)s(ected:)36 b(no.)h(T)-8 b(ell)22
b(the)e(serv)m(er)h(that)g(the)g(directory)g(most)g(recen)m(tly)h(sp)s
(eci\014ed)630 1226 y(with)k Ff(Directory)e Fh(has)i(a)h(stic)m(ky)h
(tag)g(or)e(date)h Fg(tagsp)s(ec)p Fh(.)41 b(The)26 b(\014rst)f(c)m
(haracter)j(of)f Fg(tagsp)s(ec)630 1336 y Fh(is)45 b(`)p
Ff(T)p Fh(')g(for)g(a)g(tag,)50 b(`)p Ff(D)p Fh(')c(for)e(a)i(date,)j
(or)c(some)h(other)f(c)m(haracter)h(supplied)e(b)m(y)h(a)g(Set-)630
1445 y(stic)m(ky)26 b(resp)s(onse)e(from)h(a)h(previous)e(request)h(to)
h(the)f(serv)m(er.)40 b(The)24 b(remainder)h(of)g Fg(tagsp)s(ec)630
1555 y Fh(con)m(tains)32 b(the)e(actual)i(tag)f(or)g(date,)g(again)g
(as)g(supplied)e(b)m(y)h(Set-stic)m(ky)-8 b(.)630 1690
y(The)24 b(serv)m(er)g(should)g(remem)m(b)s(er)g Ff(Static-directory)c
Fh(and)j Ff(Sticky)g Fh(requests)h(for)g(a)h(par-)630
1799 y(ticular)c(directory;)k(the)c(clien)m(t)h(need)f(not)g(resend)f
(them)g(eac)m(h)i(time)f(it)h(sends)d(a)i Ff(Directory)630
1909 y Fh(request)34 b(for)g(a)g(giv)m(en)i(directory)-8
b(.)52 b(Ho)m(w)m(ev)m(er,)38 b(the)c(serv)m(er)g(is)h(not)f(obliged)h
(to)g(remem)m(b)s(er)630 2019 y(them)30 b(b)s(ey)m(ond)g(the)h(con)m
(text)h(of)e(a)h(single)g(command.)150 2179 y Ff(Checkin-prog)c
Fg(program)j Ff(\\n)630 2288 y Fh(Resp)s(onse)20 b(exp)s(ected:)36
b(no.)h(T)-8 b(ell)22 b(the)e(serv)m(er)h(that)g(the)g(directory)g
(most)g(recen)m(tly)h(sp)s(eci\014ed)630 2398 y(with)32
b Ff(Directory)e Fh(has)i(a)h(c)m(hec)m(kin)h(program)e
Fg(program)p Fh(.)47 b(Suc)m(h)31 b(a)i(program)f(w)m(ould)h(ha)m(v)m
(e)630 2508 y(b)s(een)d(previously)g(set)h(with)f(the)g
Ff(Set-checkin-prog)c Fh(resp)s(onse.)150 2668 y Ff(Update-prog)h
Fg(program)j Ff(\\n)630 2777 y Fh(Resp)s(onse)20 b(exp)s(ected:)36
b(no.)h(T)-8 b(ell)22 b(the)e(serv)m(er)h(that)g(the)g(directory)g
(most)g(recen)m(tly)h(sp)s(eci\014ed)630 2887 y(with)29
b Ff(Directory)e Fh(has)j(an)f(up)s(date)g(program)g
Fg(program)p Fh(.)40 b(Suc)m(h)29 b(a)h(program)f(w)m(ould)h(ha)m(v)m
(e)630 2996 y(b)s(een)g(previously)g(set)h(with)f(the)g
Ff(Set-update-prog)d Fh(resp)s(onse.)150 3157 y Ff(Entry)i
Fg(en)m(try-line)36 b Ff(\\n)630 3266 y Fh(Resp)s(onse)h(exp)s(ected:)
56 b(no.)63 b(T)-8 b(ell)38 b(the)g(serv)m(er)g(what)g(v)m(ersion)g(of)
g(a)g(\014le)g(is)g(on)g(the)g(lo)s(cal)630 3376 y(mac)m(hine.)84
b(The)44 b(name)h(in)f Fg(en)m(try-line)51 b Fh(is)44
b(a)h(name)g(relativ)m(e)h(to)g(the)f(directory)g(most)630
3485 y(recen)m(tly)36 b(sp)s(eci\014ed)e(with)h Ff(Directory)p
Fh(.)52 b(If)34 b(the)h(user)g(is)g(op)s(erating)g(on)g(only)g(some)g
(\014les)630 3595 y(in)27 b(a)h(directory)-8 b(,)29 b
Ff(Entry)e Fh(requests)g(for)g(only)h(those)g(\014les)g(need)f(b)s(e)g
(included.)39 b(If)27 b(an)g Ff(Entry)630 3705 y Fh(request)37
b(is)h(sen)m(t)f(without)h Ff(Modified)p Fh(,)f Ff(Is-modified)p
Fh(,)f(or)h Ff(Unchanged)p Fh(,)g(it)h(means)f(the)630
3814 y(\014le)c(is)f(lost)i(\(do)s(es)e(not)h(exist)h(in)e(the)h(w)m
(orking)g(directory\).)48 b(If)32 b(b)s(oth)g Ff(Entry)f
Fh(and)h(one)h(of)630 3924 y Ff(Modified)p Fh(,)22 b
Ff(Is-modified)p Fh(,)f(or)h Ff(Unchanged)e Fh(are)i(sen)m(t)h(for)f
(the)g(same)h(\014le,)h Ff(Entry)d Fh(m)m(ust)h(b)s(e)630
4033 y(sen)m(t)j(\014rst.)38 b(F)-8 b(or)25 b(a)f(giv)m(en)i(\014le,)f
(one)g(can)f(send)g Ff(Modified)p Fh(,)f Ff(Is-modified)p
Fh(,)g(or)h Ff(Unchanged)p Fh(,)630 4143 y(but)30 b(not)g(more)h(than)f
(one)h(of)f(these)h(three.)150 4303 y Ff(Kopt)e Fg(option)i
Ff(\\n)630 4413 y Fh(This)c(indicates)h(to)g(the)g(serv)m(er)g(whic)m
(h)f(k)m(eyw)m(ord)h(expansion)f(options)h(to)g(use)f(for)g(the)h
(\014le)630 4522 y(sp)s(eci\014ed)i(b)m(y)h(the)h(next)f
Ff(Modified)e Fh(or)i Ff(Is-modified)d Fh(request)j(\(for)g(example)h
(`)p Ff(-kb)p Fh(')e(for)630 4632 y(a)i(binary)e(\014le\).)44
b(This)31 b(is)g(similar)h(to)g Ff(Entry)p Fh(,)e(but)h(is)g(used)g
(for)g(a)h(\014le)f(for)g(whic)m(h)g(there)h(is)630 4741
y(no)h(en)m(tries)g(line.)48 b(T)m(ypically)34 b(this)f(will)g(b)s(e)f
(a)h(\014le)g(b)s(eing)f(added)g(via)h(an)g Ff(add)f
Fh(or)h Ff(import)630 4851 y Fh(request.)41 b(The)30
b(clien)m(t)i(ma)m(y)f(not)f(send)g(b)s(oth)f Ff(Kopt)h
Fh(and)f Ff(Entry)g Fh(for)h(the)h(same)g(\014le.)150
5011 y Ff(Checkin-time)c Fg(time)36 b Ff(\\n)630 5121
y Fh(F)-8 b(or)40 b(the)g(\014le)f(sp)s(eci\014ed)g(b)m(y)g(the)h(next)
f Ff(Modified)e Fh(request,)42 b(use)d Fg(time)46 b Fh(as)39
b(the)h(time)g(of)630 5230 y(the)f(c)m(hec)m(kin.)69
b(The)38 b Fg(time)45 b Fh(is)39 b(in)g(the)g(format)h(sp)s(eci\014ed)e
(b)m(y)h(RF)m(C822)i(as)e(mo)s(di\014ed)f(b)m(y)630 5340
y(RF)m(C1123.)k(The)29 b(clien)m(t)h(ma)m(y)g(sp)s(ecify)e(an)m(y)h
(timezone)i(it)e(c)m(ho)s(oses;)h(serv)m(ers)f(will)h(w)m(an)m(t)f(to)p
eop end
%%Page: 14 14
TeXDict begin 14 13 bop 630 299 a Fh(con)m(v)m(ert)33
b(that)f(to)g(their)f(o)m(wn)g(timezone)i(as)e(appropriate.)43
b(An)31 b(example)h(of)f(this)h(format)630 408 y(is:)870
542 y Ff(26)47 b(May)g(1997)g(13:01:40)e(-0400)630 681
y Fh(There)27 b(is)h(no)g(requiremen)m(t)g(that)h(the)f(clien)m(t)i
(and)d(serv)m(er)h(clo)s(c)m(ks)h(b)s(e)f(sync)m(hronized.)39
b(The)630 791 y(clien)m(t)28 b(just)e(sends)f(its)i(recommendation)g
(for)f(a)h(timestamp)g(\(based)g(on)f(\014le)g(timestamps)630
900 y(or)36 b(whatev)m(er\),)k(and)c(the)g(serv)m(er)h(should)f(just)g
(b)s(eliev)m(e)h(it)g(\(this)g(means)f(that)i(the)e(time)630
1010 y(migh)m(t)31 b(b)s(e)f(in)g(the)g(future,)g(for)g(example\).)630
1149 y(Note)i(that)g(this)f(is)g(not)h(a)f(general-purp)s(ose)g(w)m(a)m
(y)h(to)g(tell)g(the)g(serv)m(er)f(ab)s(out)g(the)g(times-)630
1259 y(tamp)f(of)g(a)h(\014le;)f(that)h(w)m(ould)f(b)s(e)f(a)i
(separate)g(request)f(\(if)g(there)g(are)h(serv)m(ers)f(whic)m(h)g(can)
630 1368 y(main)m(tain)h(timestamp)g(and)f(time)h(of)g(c)m(hec)m(kin)g
(separately\).)630 1507 y(This)25 b(request)i(should)e(a\013ect)i(the)g
Ff(import)d Fh(request,)k(and)d(ma)m(y)i(optionally)g(a\013ect)h(the)f
Ff(ci)630 1617 y Fh(request)j(or)h(other)f(relev)-5 b(an)m(t)32
b(requests)e(if)h(an)m(y)-8 b(.)150 1786 y Ff(Modified)28
b Fg(\014lename)36 b Ff(\\n)630 1895 y Fh(Resp)s(onse)i(exp)s(ected:)57
b(no.)65 b(Additional)40 b(data:)57 b(mo)s(de,)41 b Ff(\\)p
Fh(n,)f(\014le)e(transmission.)65 b(Send)630 2005 y(the)30
b(serv)m(er)g(a)g(cop)m(y)h(of)f(one)g(lo)s(cally)h(mo)s(di\014ed)e
(\014le.)40 b Fg(\014lename)35 b Fh(is)30 b(a)g(\014le)g(within)g(the)g
(most)630 2115 y(recen)m(t)39 b(directory)f(sen)m(t)h(with)e
Ff(Directory)p Fh(;)j(it)e(m)m(ust)g(not)g(con)m(tain)i(`)p
Ff(/)p Fh('.)63 b(If)38 b(the)g(user)f(is)630 2224 y(op)s(erating)28
b(on)g(only)g(some)g(\014les)g(in)g(a)g(directory)-8
b(,)30 b(only)e(those)g(\014les)g(need)g(to)g(b)s(e)f(included.)630
2334 y(This)j(can)g(also)i(b)s(e)d(sen)m(t)i(without)g
Ff(Entry)p Fh(,)e(if)h(there)h(is)f(no)g(en)m(try)h(for)f(the)h
(\014le.)150 2503 y Ff(Is-modified)c Fg(\014lename)36
b Ff(\\n)630 2612 y Fh(Resp)s(onse)27 b(exp)s(ected:)40
b(no.)g(Additional)29 b(data:)40 b(none.)f(Lik)m(e)29
b Ff(Modified)p Fh(,)e(but)g(used)g(if)h(the)630 2722
y(serv)m(er)j(only)f(needs)g(to)h(kno)m(w)g(whether)e(the)i(\014le)f
(is)h(mo)s(di\014ed,)e(not)i(the)f(con)m(ten)m(ts.)630
2861 y(The)47 b(commands)g(whic)m(h)h(can)f(tak)m(e)i
Ff(Is-modified)c Fh(instead)j(of)f Ff(Modified)f Fh(with)h(no)630
2971 y(kno)m(wn)41 b(c)m(hange)h(in)f(b)s(eha)m(vior)h(are:)63
b Ff(admin)p Fh(,)43 b Ff(diff)d Fh(\(if)i(and)f(only)g(if)h(t)m(w)m(o)
g(`)p Ff(-r)p Fh(')g(or)f(`)p Ff(-D)p Fh(')630 3080 y(options)62
b(are)f(sp)s(eci\014ed\),)69 b Ff(watch-on)p Fh(,)e Ff(watch-off)p
Fh(,)g Ff(watch-add)p Fh(,)g Ff(watch-remove)p Fh(,)630
3190 y Ff(watchers)p Fh(,)28 b Ff(editors)p Fh(,)h Ff(log)p
Fh(,)h(and)g Ff(annotate)p Fh(.)630 3329 y(F)-8 b(or)31
b(the)f Ff(status)f Fh(command,)h(one)g(can)h(send)e
Ff(Is-modified)e Fh(but)j(if)g(the)g(clien)m(t)i(is)e(using)630
3438 y(imp)s(erfect)i(mec)m(hanisms)g(suc)m(h)f(as)h(timestamps)h(to)f
(determine)g(whether)f(to)i(consider)f(a)630 3548 y(\014le)23
b(mo)s(di\014ed,)g(then)f(the)h(b)s(eha)m(vior)g(will)g(b)s(e)f
(di\013eren)m(t.)39 b(That)22 b(is,)j(if)d(one)h(sends)f
Ff(Modified)p Fh(,)630 3658 y(then)32 b(the)h(serv)m(er)g(will)f
(actually)i(compare)f(the)g(con)m(ten)m(ts)h(of)f(the)g(\014le)f(sen)m
(t)h(and)f(the)h(one)630 3767 y(it)f(deriv)m(es)g(from)g(to)g
(determine)g(whether)f(the)h(\014le)g(is)g(gen)m(uinely)g(mo)s
(di\014ed.)44 b(But)32 b(if)g(one)630 3877 y(sends)38
b Ff(Is-modified)p Fh(,)f(then)i(the)f(serv)m(er)h(tak)m(es)h(the)f
(clien)m(t's)h(w)m(ord)e(for)g(it.)66 b(A)39 b(similar)630
3986 y(situation)31 b(exists)g(for)f Ff(tag)p Fh(,)g(if)h(the)f(`)p
Ff(-c)p Fh(')g(option)h(is)g(sp)s(eci\014ed.)630 4126
y(Commands)e(for)h(whic)m(h)g Ff(Modified)f Fh(is)h(necessary)h(are)g
Ff(co)p Fh(,)f Ff(ci)p Fh(,)g Ff(update)p Fh(,)f(and)g
Ff(import)p Fh(.)630 4265 y(Commands)h(whic)m(h)h(do)g(not)g(need)g(to)
h(inform)e(the)i(serv)m(er)f(ab)s(out)g(a)g(w)m(orking)h(directory)-8
b(,)630 4374 y(and)26 b(th)m(us)g(should)f(not)i(b)s(e)e(sending)h
(either)h Ff(Modified)d Fh(or)i Ff(Is-modified)p Fh(:)36
b Ff(rdiff)p Fh(,)26 b Ff(rtag)p Fh(,)630 4484 y Ff(history)p
Fh(,)j Ff(init)p Fh(,)g(and)h Ff(release)p Fh(.)630 4623
y(Commands)g(for)h(whic)m(h)g(further)f(in)m(v)m(estigation)35
b(is)c(w)m(arran)m(ted)h(are:)43 b Ff(remove)p Fh(,)30
b Ff(add)p Fh(,)h(and)630 4733 y Ff(export)p Fh(.)48
b(P)m(ending)34 b(suc)m(h)f(in)m(v)m(estigation,)38 b(the)33
b(more)h(conserv)-5 b(ativ)m(e)36 b(course)d(of)h(action)h(is)630
4842 y(to)c(stic)m(k)h(to)f Ff(Modified)p Fh(.)150 5011
y Ff(Unchanged)d Fg(\014lename)36 b Ff(\\n)630 5121 y
Fh(Resp)s(onse)30 b(exp)s(ected:)41 b(no.)f(T)-8 b(ell)32
b(the)e(serv)m(er)h(that)g Fg(\014lename)36 b Fh(has)30
b(not)g(b)s(een)g(mo)s(di\014ed)f(in)630 5230 y(the)23
b(c)m(hec)m(k)m(ed)h(out)e(directory)-8 b(.)39 b(The)22
b Fg(\014lename)28 b Fh(is)22 b(a)h(\014le)f(within)g(the)g(most)h
(recen)m(t)g(directory)630 5340 y(sen)m(t)31 b(with)f
Ff(Directory)p Fh(;)e(it)j(m)m(ust)f(not)h(con)m(tain)h(`)p
Ff(/)p Fh('.)p eop end
%%Page: 15 15
TeXDict begin 15 14 bop 150 299 a Ff(UseUnchanged)27
b(\\n)630 408 y Fh(Resp)s(onse)g(exp)s(ected:)40 b(no.)g(T)-8
b(o)28 b(sp)s(ecify)g(the)g(v)m(ersion)g(of)h(the)f(proto)s(col)h
(describ)s(ed)d(in)i(this)630 518 y(do)s(cumen)m(t,)d(serv)m(ers)g(m)m
(ust)e(supp)s(ort)g(this)h(request)g(\(although)h(it)f(need)g(not)g(do)
g(an)m(ything\))630 628 y(and)i(clien)m(ts)i(m)m(ust)e(issue)g(it.)40
b(The)26 b Ff(Root)f Fh(request)h(need)g(not)h(ha)m(v)m(e)g(b)s(een)f
(previously)g(sen)m(t.)150 783 y Ff(Notify)j Fg(\014lename)35
b Ff(\\n)630 893 y Fh(Resp)s(onse)d(exp)s(ected:)44 b(no.)j(T)-8
b(ell)33 b(the)f(serv)m(er)h(that)f(an)g Ff(edit)f Fh(or)i
Ff(unedit)d Fh(command)i(has)630 1003 y(tak)m(en)24 b(place.)39
b(The)22 b(serv)m(er)h(needs)f(to)i(send)e(a)h Ff(Notified)d
Fh(resp)s(onse,)k(but)e(suc)m(h)g(resp)s(onse)g(is)630
1112 y(deferred)29 b(un)m(til)h(the)g(next)g(time)h(that)f(the)g(serv)m
(er)h(is)f(sending)f(resp)s(onses.)39 b(The)30 b Fg(\014lename)630
1222 y Fh(is)42 b(a)g(\014le)h(within)e(the)h(most)h(recen)m(t)g
(directory)f(sen)m(t)h(with)f Ff(Directory)p Fh(;)j(it)e(m)m(ust)f(not)
630 1331 y(con)m(tain)32 b(`)p Ff(/)p Fh('.)41 b(Additional)31
b(data:)870 1458 y Fg(noti\014cation-t)m(yp)s(e)55 b
Ff(\\t)47 b Fg(time)54 b Ff(\\t)47 b Fg(clien)m(thost)k
Ff(\\t)870 1562 y Fg(w)m(orking-dir)j Ff(\\t)47 b Fg(w)m(atc)m(hes)54
b Ff(\\n)630 1695 y Fh(where)33 b Fg(noti\014cation-t)m(yp)s(e)40
b Fh(is)33 b(`)p Ff(E)p Fh(')g(for)g(edit,)h(`)p Ff(U)p
Fh(')f(for)g(unedit,)h(unde\014ned)c(b)s(eha)m(vior)k(if)f(`)p
Ff(C)p Fh(',)630 1804 y(and)38 b(all)h(other)f(letters)i(should)d(b)s
(e)h(silen)m(tly)i(ignored)e(for)g(future)f(expansion.)65
b Fg(time)44 b Fh(is)630 1914 y(the)36 b(time)h(at)g(whic)m(h)e(the)i
(edit)f(or)g(unedit)g(to)s(ok)g(place,)j(in)d(a)g(user-readable)g
(format)h(of)630 2023 y(the)31 b(clien)m(t's)i(c)m(hoice)g(\(the)e
(serv)m(er)g(should)f(treat)i(the)f(time)h(as)f(an)g(opaque)g(string)g
(rather)630 2133 y(than)k(in)m(terpreting)h(it\).)57
b Fg(clien)m(thost)39 b Fh(is)c(the)h(name)f(of)h(the)g(host)f(on)g
(whic)m(h)h(the)f(edit)h(or)630 2243 y(unedit)g(to)s(ok)i(place,)h(and)
d Fg(w)m(orking-dir)43 b Fh(is)37 b(the)g(pathname)g(of)g(the)f(w)m
(orking)h(directory)630 2352 y(where)32 b(the)g(edit)h(or)f(unedit)g
(to)s(ok)h(place.)48 b Fg(w)m(atc)m(hes)37 b Fh(are)c(the)g(temp)s
(orary)f(w)m(atc)m(hes,)i(zero)630 2462 y(or)h(more)g(of)h(the)f(follo)
m(wing)i(c)m(haracters)f(in)f(the)g(follo)m(wing)i(order:)50
b(`)p Ff(E)p Fh(')35 b(for)g(edit,)i(`)p Ff(U)p Fh(')e(for)630
2571 y(unedit,)26 b(`)p Ff(C)p Fh(')g(for)g(commit,)i(and)d(all)i
(other)f(letters)h(should)e(b)s(e)g(silen)m(tly)i(ignored)f(for)g
(future)630 2681 y(expansion.)48 b(If)33 b Fg(noti\014cation-t)m(yp)s
(e)39 b Fh(is)33 b(`)p Ff(E)p Fh(')g(the)h(temp)s(orary)e(w)m(atc)m
(hes)i(are)g(set;)h(if)d(it)i(is)f(`)p Ff(U)p Fh(')630
2791 y(they)i(are)h(cleared.)56 b(If)35 b Fg(w)m(atc)m(hes)40
b Fh(is)35 b(follo)m(w)m(ed)i(b)m(y)e Ff(\\)p Fh(t)h(then)e(the)i
Ff(\\)p Fh(t)f(and)g(the)g(rest)g(of)h(the)630 2900 y(line)31
b(should)e(b)s(e)h(ignored,)h(for)f(future)f(expansion.)630
3033 y(The)e Fg(time)p Fh(,)i Fg(clien)m(thost)p Fh(,)h(and)d
Fg(w)m(orking-dir)34 b Fh(\014elds)27 b(ma)m(y)h(not)g(con)m(tain)h
(the)f(c)m(haracters)h(`)p Ff(+)p Fh(',)630 3142 y(`)p
Ff(,)p Fh(',)i(`)p Ff(>)p Fh(',)g(`)p Ff(;)p Fh(',)f(or)h(`)p
Ff(=)p Fh('.)630 3275 y(Note)i(that)f(a)f(clien)m(t)i(ma)m(y)f(b)s(e)f
(capable)h(of)g(p)s(erforming)e(an)h Ff(edit)f Fh(or)i
Ff(unedit)d Fh(op)s(eration)630 3385 y(without)36 b(connecting)i(to)f
(the)f(serv)m(er)h(at)g(that)g(time,)i(and)d(instead)g(connecting)i(to)
f(the)630 3494 y(serv)m(er)27 b(when)f(it)h(is)g(con)m(v)m(enien)m(t)i
(\(for)d(example,)j(when)d(a)h(laptop)g(is)g(on)f(the)h(net)g(again\))h
(to)630 3604 y(send)i(the)h Ff(Notify)e Fh(requests.)41
b(Ev)m(en)31 b(if)f(a)h(clien)m(t)h(is)f(capable)h(of)e(deferring)g
(noti\014cations,)630 3713 y(it)41 b(should)e(attempt)i(to)g(send)f
(them)g(immediately)i(\(one)e(can)h(send)e Ff(Notify)g
Fh(requests)630 3823 y(together)32 b(with)f(a)g Ff(noop)e
Fh(request,)i(for)g(example\),)h(unless)e(p)s(erhaps)f(if)h(it)i(can)f
(kno)m(w)f(that)630 3933 y(a)h(connection)g(w)m(ould)f(b)s(e)g(imp)s
(ossible.)150 4088 y Ff(Questionable)d Fg(\014lename)36
b Ff(\\n)630 4198 y Fh(Resp)s(onse)31 b(exp)s(ected:)43
b(no.)g(Additional)32 b(data:)43 b(no.)g(T)-8 b(ell)33
b(the)e(serv)m(er)h(to)g(c)m(hec)m(k)h(whether)630 4308
y Fg(\014lename)42 b Fh(should)35 b(b)s(e)h(ignored,)i(and)e(if)g(not,)
j(next)d(time)h(the)g(serv)m(er)f(sends)g(resp)s(onses,)630
4417 y(send)24 b(\(in)i(a)f Ff(M)g Fh(resp)s(onse\))g(`)p
Ff(?)p Fh(')g(follo)m(w)m(ed)i(b)m(y)e(the)g(directory)h(and)e
(\014lename.)40 b Fg(\014lename)30 b Fh(m)m(ust)630 4527
y(not)h(con)m(tain)g(`)p Ff(/)p Fh(';)g(it)g(needs)f(to)h(b)s(e)f(a)h
(\014le)f(in)g(the)h(directory)f(named)g(b)m(y)h(the)f(most)h(recen)m
(t)630 4636 y Ff(Directory)d Fh(request.)150 4792 y Ff(Case)h(\\n)163
b Fh(Resp)s(onse)37 b(exp)s(ected:)55 b(no.)63 b(T)-8
b(ell)38 b(the)g(serv)m(er)g(that)g(\014lenames)f(should)g(b)s(e)g
(matc)m(hed)h(in)630 4902 y(a)j(case-insensitiv)m(e)j(fashion.)72
b(Note)43 b(that)e(this)g(is)g(not)h(the)f(primary)f(mec)m(hanism)h
(for)630 5011 y(ac)m(hieving)30 b(case-insensitivit)m(y;)i(for)d(the)g
(most)g(part)f(the)h(clien)m(t)h(k)m(eeps)f(trac)m(k)h(of)f(the)g(case)
630 5121 y(whic)m(h)21 b(the)h(serv)m(er)g(w)m(an)m(ts)h(to)f(use)f
(and)g(tak)m(es)i(care)g(to)f(alw)m(a)m(ys)h(use)f(that)g(case)h
(regardless)f(of)630 5230 y(what)h(the)g(user)f(sp)s(eci\014es.)38
b(F)-8 b(or)24 b(example)f(the)g(\014lenames)g(giv)m(en)h(in)e
Ff(Entry)g Fh(and)g Ff(Modified)630 5340 y Fh(requests)36
b(for)g(the)h(same)g(\014le)f(m)m(ust)h(matc)m(h)g(in)f(case)h
(regardless)g(of)g(whether)f(the)g Ff(Case)p eop end
%%Page: 16 16
TeXDict begin 16 15 bop 630 299 a Fh(request)28 b(is)f(sen)m(t.)40
b(The)27 b(latter)i(mec)m(hanism)f(is)f(more)h(general)g(\(it)h(could)e
(also)i(b)s(e)d(used)h(for)630 408 y(8.3)e(\014lenames,)h(VMS)d
(\014lenames)h(with)g(more)g(than)g(one)g(`)p Ff(.)p
Fh(',)i(and)d(an)m(y)h(other)g(situation)h(in)630 518
y(whic)m(h)d(there)g(is)g(a)g(predictable)h(mapping)e(b)s(et)m(w)m(een)
i(\014lenames)f(in)g(the)g(w)m(orking)g(directory)630
628 y(and)32 b(\014lenames)g(in)g(the)h(proto)s(col\),)h(but)e(there)g
(are)h(some)g(situations)g(it)f(cannot)h(handle)630 737
y(\(ignore)27 b(patterns,)h(or)e(situations)i(where)e(the)g(user)g(sp)s
(eci\014es)g(a)h(\014lename)g(and)f(the)g(clien)m(t)630
847 y(do)s(es)k(not)h(kno)m(w)f(ab)s(out)g(that)h(\014le\).)630
996 y(Though)k(this)i(request)f(will)h(b)s(e)f(supp)s(orted)e(in)m(to)j
(the)g(forseeable)g(future,)h(it)f(has)f(b)s(een)630
1106 y(the)27 b(source)g(of)f(n)m(umerous)g(bug)g(rep)s(orts)g(in)g
(the)h(past)g(due)f(to)h(the)g(complexit)m(y)h(of)f(testing)630
1215 y(this)h(functionalit)m(y)i(via)f(the)g(test)g(suite)g(and)e
(clien)m(t)j(dev)m(elop)s(ers)f(are)g(encouraged)g(not)f(to)630
1325 y(use)34 b(it.)55 b(Instead,)36 b(please)g(consider)e(m)m(unging)h
(con\015icting)h(names)e(and)h(main)m(taining)h(a)630
1435 y(map)26 b(for)h(comm)m(unicating)h(with)e(the)h(serv)m(er.)40
b(F)-8 b(or)27 b(example,)i(supp)s(ose)c(the)i(serv)m(er)g(sends)630
1544 y(\014les)34 b(`)p Ff(case)p Fh(',)g(`)p Ff(CASE)p
Fh(',)g(and)f(`)p Ff(CaSe)p Fh('.)51 b(The)33 b(clien)m(t)i(could)f
(write)g(all)h(three)f(\014les)g(to)g(names)630 1654
y(suc)m(h)25 b(as,)i(`)p Ff(case)p Fh(',)e(`)p Ff(case_prefix_case)p
Fh(',)e(and)i(`)p Ff(case_prefix_2_case)p Fh(')20 b(and)25
b(main)m(tain)630 1763 y(a)31 b(mapping)e(b)s(et)m(w)m(een)j(the)e
(\014le)h(names)f(in,)g(for)g(instance)h(a)g(new)f(`)p
Ff(CVS/Map)p Fh(')f(\014le.)150 1953 y Ff(Argument)f
Fg(text)33 b Ff(\\n)630 2062 y Fh(Resp)s(onse)43 b(exp)s(ected:)69
b(no.)81 b(Sa)m(v)m(e)45 b(argumen)m(t)f(for)g(use)g(in)f(a)i
(subsequen)m(t)e(command.)630 2172 y(Argumen)m(ts)c(accum)m(ulate)j(un)
m(til)d(an)g(argumen)m(t-using)h(command)f(is)g(giv)m(en,)k(at)d(whic)m
(h)630 2281 y(p)s(oin)m(t)30 b(they)h(are)g(forgotten.)150
2471 y Ff(Argumentx)d Fg(text)33 b Ff(\\n)630 2580 y
Fh(Resp)s(onse)g(exp)s(ected:)48 b(no.)i(App)s(end)32
b Ff(\\)p Fh(n)h(follo)m(w)m(ed)i(b)m(y)f(text)h(to)f(the)g(curren)m(t)
f(argumen)m(t)630 2690 y(b)s(eing)d(sa)m(v)m(ed.)150
2879 y Ff(Global_option)d Fg(option)k Ff(\\n)630 2989
y Fh(Resp)s(onse)41 b(exp)s(ected:)64 b(no.)75 b(T)-8
b(ransmit)42 b(one)g(of)g(the)g(global)h(options)f(`)p
Ff(-q)p Fh(',)j(`)p Ff(-Q)p Fh(',)g(`)p Ff(-l)p Fh(',)630
3098 y(`)p Ff(-t)p Fh(',)36 b(`)p Ff(-r)p Fh(',)f(or)g(`)p
Ff(-n)p Fh('.)53 b Fg(option)35 b Fh(m)m(ust)f(b)s(e)g(one)h(of)g
(those)g(strings,)g(no)g(v)-5 b(ariations)35 b(\(suc)m(h)g(as)630
3208 y(com)m(bining)g(of)f(options\))g(are)h(allo)m(w)m(ed.)53
b(F)-8 b(or)35 b(graceful)g(handling)e(of)i Ff(valid-requests)p
Fh(,)630 3318 y(it)29 b(is)f(probably)f(b)s(etter)h(to)h(mak)m(e)g(new)
e(global)i(options)g(separate)g(requests,)f(rather)g(than)630
3427 y(trying)44 b(to)g(add)f(them)g(to)h(this)g(request.)80
b(The)43 b Ff(Root)f Fh(request)i(need)f(not)h(ha)m(v)m(e)h(b)s(een)630
3537 y(previously)30 b(sen)m(t.)150 3726 y Ff(Gzip-stream)d
Fg(lev)m(el)36 b Ff(\\n)630 3836 y Fh(Resp)s(onse)25
b(exp)s(ected:)39 b(no.)g(Use)27 b(zlib)f(\(RF)m(C)g(1950/1951\))31
b(compression)26 b(to)g(compress)g(all)630 3945 y(further)j(comm)m
(unication)j(b)s(et)m(w)m(een)g(the)e(clien)m(t)j(and)c(the)i(serv)m
(er.)42 b(After)31 b(this)f(request)h(is)630 4055 y(sen)m(t,)g(all)f
(further)e(comm)m(unication)j(m)m(ust)f(b)s(e)f(compressed.)40
b(All)30 b(further)e(data)j(receiv)m(ed)630 4164 y(from)37
b(the)g(serv)m(er)g(will)h(also)g(b)s(e)e(compressed.)61
b(The)36 b Fg(lev)m(el)43 b Fh(argumen)m(t)37 b(suggests)h(to)g(the)630
4274 y(serv)m(er)i(the)g(lev)m(el)h(of)f(compression)g(that)g(it)h
(should)d(apply;)45 b(it)40 b(should)f(b)s(e)g(an)h(in)m(teger)630
4384 y(b)s(et)m(w)m(een)27 b(1)g(and)f(9,)i(inclusiv)m(e,)h(where)d(a)h
(higher)f(n)m(um)m(b)s(er)f(indicates)j(more)f(compression.)150
4573 y Ff(Kerberos-encrypt)f(\\n)630 4682 y Fh(Resp)s(onse)d(exp)s
(ected:)38 b(no.)g(Use)24 b(Kerb)s(eros)f(encryption)h(to)g(encrypt)f
(all)i(further)d(comm)m(u-)630 4792 y(nication)j(b)s(et)m(w)m(een)g
(the)f(clien)m(t)h(and)f(the)g(serv)m(er.)39 b(This)23
b(will)h(only)h(w)m(ork)f(if)g(the)g(connection)630 4902
y(w)m(as)36 b(made)g(o)m(v)m(er)h(Kerb)s(eros)e(in)h(the)g(\014rst)f
(place.)58 b(If)35 b(b)s(oth)h(the)g Ff(Gzip-stream)c
Fh(and)k(the)630 5011 y Ff(Kerberos-encrypt)18 b Fh(requests)23
b(are)g(used,)h(the)f Ff(Kerberos-encrypt)18 b Fh(request)23
b(should)f(b)s(e)630 5121 y(used)34 b(\014rst.)53 b(This)34
b(will)h(mak)m(e)g(the)g(clien)m(t)h(and)e(serv)m(er)h(encrypt)g(the)g
(compressed)f(data,)630 5230 y(as)40 b(opp)s(osed)f(to)i(compressing)f
(the)g(encrypted)g(data.)70 b(Encrypted)39 b(data)i(is)f(generally)630
5340 y(incompressible.)p eop end
%%Page: 17 17
TeXDict begin 17 16 bop 630 299 a Fh(Note)25 b(that)e(this)h(request)f
(do)s(es)g(not)h(fully)e(prev)m(en)m(t)i(an)g(attac)m(k)m(er)i(from)d
(hijac)m(king)h(the)f(con-)630 408 y(nection,)30 b(in)f(the)g(sense)g
(that)g(it)g(do)s(es)g(not)g(prev)m(en)m(t)g(hijac)m(king)h(the)f
(connection)h(b)s(et)m(w)m(een)630 518 y(the)h(initial)g(authen)m
(tication)i(and)c(the)i Ff(Kerberos-encrypt)26 b Fh(request.)150
675 y Ff(Gssapi-encrypt)g(\\n)630 785 y Fh(Resp)s(onse)g(exp)s(ected:)
39 b(no.)g(Use)26 b(GSSAPI)g(encryption)g(to)h(encrypt)e(all)i(further)
e(comm)m(u-)630 895 y(nication)g(b)s(et)m(w)m(een)g(the)f(clien)m(t)h
(and)f(the)g(serv)m(er.)39 b(This)23 b(will)h(only)h(w)m(ork)f(if)g
(the)g(connection)630 1004 y(w)m(as)35 b(made)f(o)m(v)m(er)h(GSSAPI)f
(in)g(the)g(\014rst)g(place.)53 b(See)34 b Ff(Kerberos-encrypt)p
Fh(,)d(ab)s(o)m(v)m(e,)37 b(for)630 1114 y(the)31 b(relation)g(b)s(et)m
(w)m(een)g Ff(Gssapi-encrypt)c Fh(and)i Ff(Gzip-stream)p
Fh(.)630 1247 y(Note)c(that)e(this)h(request)f(do)s(es)g(not)h(fully)e
(prev)m(en)m(t)i(an)g(attac)m(k)m(er)i(from)d(hijac)m(king)h(the)f
(con-)630 1357 y(nection,)30 b(in)f(the)g(sense)g(that)g(it)g(do)s(es)g
(not)g(prev)m(en)m(t)g(hijac)m(king)h(the)f(connection)h(b)s(et)m(w)m
(een)630 1466 y(the)h(initial)g(authen)m(tication)i(and)c(the)i
Ff(Gssapi-encrypt)c Fh(request.)150 1624 y Ff(Gssapi-authenticate)e
(\\n)630 1733 y Fh(Resp)s(onse)38 b(exp)s(ected:)57 b(no.)65
b(Use)39 b(GSSAPI)f(authen)m(tication)i(to)g(authen)m(ticate)g(all)g
(fur-)630 1843 y(ther)34 b(comm)m(unication)i(b)s(et)m(w)m(een)f(the)f
(clien)m(t)i(and)e(the)g(serv)m(er.)53 b(This)34 b(will)g(only)h(w)m
(ork)f(if)630 1953 y(the)k(connection)h(w)m(as)f(made)f(o)m(v)m(er)i
(GSSAPI)e(in)h(the)f(\014rst)g(place.)64 b(Encrypted)37
b(data)h(is)630 2062 y(automatically)24 b(authen)m(ticated,)h(so)c
(using)g(b)s(oth)f Ff(Gssapi-authenticate)c Fh(and)k
Ff(Gssapi-)630 2172 y(encrypt)25 b Fh(has)i(no)f(e\013ect)j(b)s(ey)m
(ond)d(that)i(of)f Ff(Gssapi-encrypt)p Fh(.)36 b(Unlik)m(e)27
b(encrypted)g(data,)630 2281 y(it)k(is)f(reasonable)i(to)f(compress)f
(authen)m(ticated)i(data.)630 2415 y(Note)25 b(that)e(this)h(request)f
(do)s(es)g(not)h(fully)e(prev)m(en)m(t)i(an)g(attac)m(k)m(er)i(from)d
(hijac)m(king)h(the)f(con-)630 2524 y(nection,)30 b(in)f(the)g(sense)g
(that)g(it)g(do)s(es)g(not)g(prev)m(en)m(t)g(hijac)m(king)h(the)f
(connection)h(b)s(et)m(w)m(een)630 2634 y(the)h(initial)g(authen)m
(tication)i(and)c(the)i Ff(Gssapi-authenticate)25 b Fh(request.)150
2791 y Ff(Set)k Fg(v)-5 b(ariable)5 b Ff(=)p Fg(v)-5
b(alue)37 b Ff(\\n)630 2901 y Fh(Resp)s(onse)26 b(exp)s(ected:)39
b(no.)g(Set)26 b(a)h(user)e(v)-5 b(ariable)27 b Fg(v)-5
b(ariable)32 b Fh(to)27 b Fg(v)-5 b(alue)p Fh(.)40 b(The)26
b Ff(Root)f Fh(request)630 3011 y(need)30 b(not)h(ha)m(v)m(e)g(b)s(een)
f(previously)g(sen)m(t.)150 3168 y Ff(expand-modules)c(\\n)630
3278 y Fh(Resp)s(onse)31 b(exp)s(ected:)44 b(y)m(es.)i(Expand)31
b(the)h(mo)s(dules)f(whic)m(h)h(are)g(sp)s(eci\014ed)f(in)h(the)g
(argu-)630 3387 y(men)m(ts.)40 b(Returns)25 b(the)i(data)g(in)f
Ff(Module-expansion)21 b Fh(resp)s(onses.)39 b(Note)27
b(that)g(the)g(serv)m(er)630 3497 y(can)32 b(assume)g(that)h(this)f(is)
g(c)m(hec)m(k)m(out)j(or)d(exp)s(ort,)h(not)f(rtag)h(or)f(rdi\013;)h
(the)f(latter)i(do)e(not)630 3606 y(access)g(the)f(w)m(orking)g
(directory)g(and)f(th)m(us)g(ha)m(v)m(e)i(no)f(need)f(to)h(expand)f(mo)
s(dules)g(on)h(the)630 3716 y(clien)m(t)h(side.)630 3849
y(Expand)41 b(ma)m(y)i(not)f(b)s(e)g(the)g(b)s(est)g(w)m(ord)g(for)f
(what)i(this)f(request)g(do)s(es.)76 b(It)42 b(do)s(es)g(not)630
3959 y(necessarily)35 b(tell)g(y)m(ou)f(all)g(the)g(\014les)g(con)m
(tained)h(in)e(a)h(mo)s(dule,)h(for)e(example.)52 b(Basically)630
4069 y(it)38 b(is)f(a)g(w)m(a)m(y)h(of)g(telling)g(y)m(ou)f(whic)m(h)g
(w)m(orking)h(directories)g(the)f(serv)m(er)g(needs)g(to)h(kno)m(w)630
4178 y(ab)s(out)30 b(in)g(order)g(to)h(handle)f(a)h(c)m(hec)m(k)m(out)i
(of)d(the)h(sp)s(eci\014ed)e(mo)s(dules.)630 4312 y(F)-8
b(or)31 b(example,)g(supp)s(ose)e(that)i(the)g(serv)m(er)g(has)f(a)g
(mo)s(dule)g(de\014ned)f(b)m(y)870 4439 y Ff(aliasmodule)45
b(-a)i(1dir)630 4573 y Fh(That)27 b(is,)i(one)f(can)f(c)m(hec)m(k)j
(out)d Ff(aliasmodule)e Fh(and)i(it)h(will)g(tak)m(e)h
Ff(1dir)d Fh(in)h(the)h(rep)s(ository)630 4682 y(and)41
b(c)m(hec)m(k)j(it)e(out)g(to)h Ff(1dir)d Fh(in)i(the)g(w)m(orking)g
(directory)-8 b(.)76 b(No)m(w)43 b(supp)s(ose)d(the)i(clien)m(t)630
4792 y(already)36 b(has)g(this)f(mo)s(dule)g(c)m(hec)m(k)m(ed)j(out)e
(and)f(is)h(planning)f(on)h(using)f(the)h Ff(co)f Fh(request)630
4902 y(to)g(up)s(date)f(it.)54 b(Without)35 b(using)f
Ff(expand-modules)p Fh(,)e(the)j(clien)m(t)h(w)m(ould)e(ha)m(v)m(e)i(t)
m(w)m(o)g(bad)630 5011 y(c)m(hoices:)57 b(it)38 b(could)f(either)h
(send)f(information)h(ab)s(out)f Fb(al)5 b(l)47 b Fh(w)m(orking)38
b(directories)g(under)630 5121 y(the)25 b(curren)m(t)g(directory)-8
b(,)27 b(whic)m(h)e(could)g(b)s(e)f(unnecessarily)h(slo)m(w,)i(or)e(it)
h(could)f(b)s(e)f(ignoran)m(t)630 5230 y(of)30 b(the)g(fact)h(that)f
Ff(aliasmodule)d Fh(stands)i(for)g Ff(1dir)p Fh(,)g(and)h(neglect)h(to)
g(send)e(information)630 5340 y(for)h Ff(1dir)p Fh(,)g(whic)m(h)g(w)m
(ould)g(lead)h(to)g(incorrect)g(op)s(eration.)p eop end
%%Page: 18 18
TeXDict begin 18 17 bop 630 299 a Fh(With)22 b Ff(expand-modules)p
Fh(,)e(the)h(clien)m(t)i(w)m(ould)e(\014rst)g(ask)h(for)f(the)h(mo)s
(dule)e(to)j(b)s(e)d(expanded:)870 422 y Ff(C:)47 b(Root)g
(/home/kingdon/zwork/cvsr)o(oot)870 525 y(.)g(.)h(.)870
629 y(C:)f(Argument)f(aliasmodule)870 733 y(C:)h(Directory)e(.)870
837 y(C:)i(/home/kingdon/zwork/cvsro)o(ot)870 941 y(C:)g
(expand-modules)870 1044 y(S:)g(Module-expansion)d(1dir)870
1148 y(S:)j(ok)630 1277 y Fh(and)23 b(then)h(it)g(kno)m(ws)g(to)h(c)m
(hec)m(k)g(the)f(`)p Ff(1dir)p Fh(')f(directory)i(and)e(send)g
(requests)h(suc)m(h)f(as)h Ff(Entry)630 1386 y Fh(and)30
b Ff(Modified)e Fh(for)i(the)h(\014les)f(in)g(that)h(directory)-8
b(.)150 1534 y Ff(ci)30 b(\\n)150 1643 y(diff)f(\\n)150
1753 y(tag)g(\\n)150 1863 y(status)g(\\n)150 1972 y(admin)g(\\n)150
2082 y(history)f(\\n)150 2191 y(watchers)g(\\n)150 2301
y(editors)g(\\n)150 2410 y(annotate)g(\\n)630 2520 y
Fh(Resp)s(onse)k(exp)s(ected:)47 b(y)m(es.)i(Actually)34
b(do)f(a)g(cvs)g(command.)48 b(This)33 b(uses)f(an)m(y)h(previous)630
2630 y Ff(Argument)p Fh(,)40 b Ff(Directory)p Fh(,)g
Ff(Entry)p Fh(,)i(or)e Ff(Modified)d Fh(requests,)43
b(if)d(they)g(ha)m(v)m(e)h(b)s(een)e(sen)m(t.)630 2739
y(The)44 b(last)h Ff(Directory)d Fh(sen)m(t)j(sp)s(eci\014es)f(the)g(w)
m(orking)h(directory)g(at)g(the)f(time)h(of)g(the)630
2849 y(op)s(eration.)d(No)31 b(pro)m(vision)g(is)g(made)g(for)f(an)m(y)
h(input)f(from)g(the)h(user.)41 b(This)30 b(means)g(that)630
2958 y Ff(ci)g Fh(m)m(ust)g(use)g(a)h Ff(-m)f Fh(argumen)m(t)g(if)h(it)
g(w)m(an)m(ts)g(to)g(sp)s(ecify)f(a)h(log)g(message.)150
3106 y Ff(log)e(\\n)211 b Fh(Resp)s(onse)36 b(exp)s(ected:)55
b(y)m(es.)62 b(Sho)m(w)36 b(information)i(for)e(past)i(revisions.)61
b(This)36 b(uses)h(an)m(y)630 3216 y(previous)28 b Ff(Directory)p
Fh(,)f Ff(Entry)p Fh(,)h(or)h Ff(Modified)d Fh(requests,)j(if)g(they)g
(ha)m(v)m(e)h(b)s(een)e(sen)m(t.)40 b(The)630 3325 y(last)25
b Ff(Directory)c Fh(sen)m(t)k(sp)s(eci\014es)e(the)h(w)m(orking)g
(directory)h(at)f(the)g(time)h(of)f(the)g(op)s(eration.)630
3435 y(Also)36 b(uses)f(previous)g Ff(Argument)p Fh('s)e(of)j(whic)m(h)
f(the)g(canonical)i(forms)e(are)h(the)f(follo)m(wing)630
3544 y(\()p Fd(cvs)28 b Fh(1.10)i(and)e(older)g(clien)m(ts)i(sen)m(t)f
(what)g(the)f(user)g(sp)s(eci\014ed,)g(but)g(clien)m(ts)i(are)f
(encour-)630 3654 y(aged)i(to)g(use)f(the)h(canonical)h(forms)e(and)f
(other)i(forms)f(are)h(deprecated\):)630 3801 y Ff(-b,)e(-h,)h(-l,)f
(-N,)h(-R,)f(-t)1110 3911 y Fh(These)h(options)g(go)h(b)m(y)f(themselv)
m(es,)i(one)e(option)h(p)s(er)e Ff(Argument)f Fh(request.)630
4059 y Ff(-d)i Fg(date1)7 b Ff(<)p Fg(date2)1110 4168
y Fh(Select)24 b(revisions)e(b)s(et)m(w)m(een)h Fg(date1)31
b Fh(and)22 b Fg(date2)p Fh(.)39 b(Either)22 b(date)h(ma)m(y)g(b)s(e)f
(omit-)1110 4278 y(ted)38 b(in)f(whic)m(h)g(case)h(there)g(is)f(no)g
(date)h(limit)h(at)f(that)g(end)e(of)i(the)g(range)1110
4387 y(\(clien)m(ts)k(ma)m(y)f(sp)s(ecify)f(dates)h(suc)m(h)f(as)g(1)h
(Jan)f(1970)i(or)e(1)h(Jan)f(2038)i(for)1110 4497 y(similar)c(purp)s
(oses)e(but)h(this)h(is)f(problematic)i(as)f(it)g(mak)m(es)h
(assumptions)1110 4607 y(ab)s(out)28 b(what)g(dates)h(the)g(serv)m(er)g
(supp)s(orts\).)38 b(Dates)30 b(are)f(in)f(RF)m(C822/1123)1110
4716 y(format.)49 b(The)33 b(`)p Ff(-d)p Fh(')g(is)g(one)h
Ff(Argument)d Fh(request)i(and)g(the)g(date)h(range)f(is)h(a)1110
4826 y(second)c(one.)630 4973 y Ff(-d)g Fg(date1)7 b
Ff(<=)p Fg(date2)1110 5083 y Fh(Lik)m(ewise)31 b(but)f(compare)h(dates)
g(for)f(equalit)m(y)-8 b(.)630 5230 y Ff(-d)30 b Fg(singledate)1110
5340 y Fh(Select)i(the)e(single,)h(latest)h(revision)f(dated)g
Fg(singledate)36 b Fh(or)31 b(earlier.)p eop end
%%Page: 19 19
TeXDict begin 19 18 bop 1110 299 a Fh(T)-8 b(o)35 b(include)f(sev)m
(eral)i(date)e(ranges)h(and/or)f(singledates,)j(rep)s(eat)e(the)f(`)p
Ff(-d)p Fh(')1110 408 y(option)d(as)f(man)m(y)h(times)g(as)f(necessary)
-8 b(.)630 565 y Ff(-r)p Fg(rev1)7 b Ff(:)p Fg(rev2)630
675 y Ff(-r)p Fg(branc)m(h)630 784 y Ff(-r)p Fg(branc)m(h)p
Ff(.)630 894 y(-r)384 b Fh(Sp)s(ecify)38 b(revisions)g(\(note)i(that)f
Fg(rev1)46 b Fh(or)38 b Fg(rev2)46 b Fh(can)39 b(b)s(e)f(omitted,)j(or)
e(can)1110 1003 y(refer)27 b(to)h(branc)m(hes\).)39 b(Send)26
b(b)s(oth)g(the)i(`)p Ff(-r)p Fh(')f(and)f(the)h(revision)h
(information)1110 1113 y(in)d(a)h(single)g Ff(Argument)d
Fh(request.)39 b(T)-8 b(o)26 b(include)g(sev)m(eral)g(revision)g
(selections,)1110 1223 y(rep)s(eat)31 b(the)f(`)p Ff(-r)p
Fh(')g(option.)630 1379 y Ff(-s)g Fg(state)630 1489 y
Ff(-w)630 1598 y(-w)p Fg(login)193 b Fh(Select)35 b(on)e(states)i(or)e
(users.)49 b(T)-8 b(o)34 b(include)f(more)g(than)h(one)f(state)i(or)e
(user,)1110 1708 y(rep)s(eat)41 b(the)g(option.)72 b(Send)39
b(the)i(`)p Ff(-s)p Fh(')g(option)g(as)g(a)g(separate)g(argumen)m(t)
1110 1817 y(from)33 b(the)i(state)g(b)s(eing)e(selected.)53
b(Send)33 b(the)h(`)p Ff(-w)p Fh(')g(option)h(as)f(part)g(of)g(the)1110
1927 y(same)d(argumen)m(t)g(as)f(the)h(user)e(b)s(eing)h(selected.)150
2084 y Ff(co)g(\\n)258 b Fh(Resp)s(onse)31 b(exp)s(ected:)45
b(y)m(es.)h(Get)33 b(\014les)f(from)g(the)g(rep)s(ository)-8
b(.)46 b(This)31 b(uses)h(an)m(y)g(previous)630 2193
y Ff(Argument)p Fh(,)40 b Ff(Directory)p Fh(,)g Ff(Entry)p
Fh(,)i(or)e Ff(Modified)d Fh(requests,)43 b(if)d(they)g(ha)m(v)m(e)h(b)
s(een)e(sen)m(t.)630 2303 y(Argumen)m(ts)34 b(to)h(this)f(command)g
(are)g(mo)s(dule)f(names;)j(the)f(clien)m(t)g(cannot)g(kno)m(w)f(what)
630 2412 y(directories)j(they)e(corresp)s(ond)g(to)h(except)h(b)m(y)e
(\(1\))i(just)e(sending)g(the)g Ff(co)g Fh(request,)j(and)630
2522 y(then)e(seeing)g(what)g(directory)h(names)f(the)g(serv)m(er)g
(sends)f(bac)m(k)i(in)f(its)g(resp)s(onses,)h(and)630
2632 y(\(2\))31 b(the)g Ff(expand-modules)c Fh(request.)150
2788 y Ff(export)i(\\n)67 b Fh(Resp)s(onse)31 b(exp)s(ected:)45
b(y)m(es.)h(Get)33 b(\014les)f(from)g(the)g(rep)s(ository)-8
b(.)46 b(This)31 b(uses)h(an)m(y)g(previous)630 2898
y Ff(Argument)p Fh(,)40 b Ff(Directory)p Fh(,)g Ff(Entry)p
Fh(,)i(or)e Ff(Modified)d Fh(requests,)43 b(if)d(they)g(ha)m(v)m(e)h(b)
s(een)e(sen)m(t.)630 3007 y(Argumen)m(ts)24 b(to)i(this)e(command)g
(are)h(mo)s(dule)e(names,)j(as)f(describ)s(ed)e(for)h(the)h
Ff(co)f Fh(request.)630 3117 y(The)e(in)m(ten)m(tion)i(b)s(ehind)d
(this)i(command)f(is)h(that)g(a)g(clien)m(t)h(can)f(get)h(sources)e
(from)h(a)g(serv)m(er)630 3226 y(without)e(storing)h(CVS)e(information)
i(ab)s(out)f(those)g(sources.)38 b(That)21 b(is,)i(a)f(clien)m(t)h
(probably)630 3336 y(should)k(not)h(coun)m(t)g(on)g(b)s(eing)f(able)h
(to)h(tak)m(e)g(the)f(en)m(tries)h(line)f(returned)f(in)g(the)h
Ff(Created)630 3446 y Fh(resp)s(onse)k(from)h(an)g Ff(export)e
Fh(request)i(and)g(send)f(it)i(in)e(a)i(future)e Ff(Entry)g
Fh(request.)49 b(Note)630 3555 y(that)33 b(the)g(en)m(tries)g(line)g
(in)f(the)h Ff(Created)d Fh(resp)s(onse)i(m)m(ust)g(indicate)i(whether)
e(the)g(\014le)h(is)630 3665 y(binary)d(or)g(text,)i(so)e(the)h(clien)m
(t)h(can)e(create)i(it)f(correctly)-8 b(.)150 3821 y
Ff(rannotate)28 b(\\n)150 3931 y(rdiff)h(\\n)150 4041
y(rlog)g(\\n)150 4150 y(rtag)g(\\n)163 b Fh(Resp)s(onse)39
b(exp)s(ected:)59 b(y)m(es.)68 b(Actually)40 b(do)g(a)f(cvs)h(command.)
67 b(This)38 b(uses)h(an)m(y)h(previ-)630 4260 y(ous)i
Ff(Argument)e Fh(requests,)46 b(if)c(they)h(ha)m(v)m(e)h(b)s(een)d(sen)
m(t.)78 b(The)42 b(clien)m(t)i(should)d(not)i(send)630
4369 y Ff(Directory)p Fh(,)g Ff(Entry)p Fh(,)h(or)e Ff(Modified)e
Fh(requests)i(for)g(these)h(commands;)48 b(they)42 b(are)h(not)630
4479 y(used.)d(Argumen)m(ts)30 b(to)h(these)g(commands)f(are)h(mo)s
(dule)f(names,)g(as)h(describ)s(ed)e(for)h Ff(co)p Fh(.)150
4635 y Ff(init)f Fg(ro)s(ot-name)36 b Ff(\\n)630 4745
y Fh(Resp)s(onse)j(exp)s(ected:)60 b(y)m(es.)70 b(If)40
b(it)g(do)s(esn't)g(already)g(exist,)j(create)f(a)e Fd(cvs)f
Fh(rep)s(ository)630 4855 y Fg(ro)s(ot-name)p Fh(.)54
b(Note)36 b(that)f Fg(ro)s(ot-name)40 b Fh(is)35 b(a)g(lo)s(cal)g
(directory)g(and)f Fb(not)44 b Fh(a)35 b(fully)f(quali\014ed)630
4964 y Ff(CVSROOT)28 b Fh(v)-5 b(ariable.)42 b(The)30
b Ff(Root)f Fh(request)h(need)h(not)f(ha)m(v)m(e)i(b)s(een)d
(previously)h(sen)m(t.)150 5121 y Ff(update)f(\\n)67
b Fh(Resp)s(onse)34 b(exp)s(ected:)50 b(y)m(es.)55 b(Actually)36
b(do)f(a)g Ff(cvs)30 b(update)j Fh(command.)54 b(This)34
b(uses)h(an)m(y)630 5230 y(previous)25 b Ff(Argument)p
Fh(,)g Ff(Directory)p Fh(,)g Ff(Entry)p Fh(,)g(or)h Ff(Modified)e
Fh(requests,)j(if)f(they)g(ha)m(v)m(e)h(b)s(een)630 5340
y(sen)m(t.)40 b(The)25 b(last)h Ff(Directory)e Fh(sen)m(t)i(sp)s
(eci\014es)f(the)h(w)m(orking)g(directory)g(at)h(the)e(time)i(of)f(the)
p eop end
%%Page: 20 20
TeXDict begin 20 19 bop 630 299 a Fh(op)s(eration.)41
b(The)30 b Ff(-I)g Fh(option)h(is)f(not)h(used{\014les)f(whic)m(h)g
(the)g(clien)m(t)i(can)f(decide)g(whether)630 408 y(to)e(ignore)g(are)f
(not)h(men)m(tioned)g(and)e(the)i(clien)m(t)g(sends)f(the)g
Ff(Questionable)d Fh(request)j(for)630 518 y(others.)150
680 y Ff(import)h(\\n)67 b Fh(Resp)s(onse)34 b(exp)s(ected:)50
b(y)m(es.)55 b(Actually)36 b(do)f(a)g Ff(cvs)30 b(import)j
Fh(command.)54 b(This)34 b(uses)h(an)m(y)630 790 y(previous)25
b Ff(Argument)p Fh(,)g Ff(Directory)p Fh(,)g Ff(Entry)p
Fh(,)g(or)h Ff(Modified)e Fh(requests,)j(if)f(they)g(ha)m(v)m(e)h(b)s
(een)630 900 y(sen)m(t.)62 b(The)37 b(last)i Ff(Directory)c
Fh(sen)m(t)i(sp)s(eci\014es)h(the)f(w)m(orking)h(directory)g(at)g(the)g
(time)g(of)630 1009 y(the)31 b(op)s(eration)h(-)f(unlik)m(e)h(most)f
(commands,)h(the)f(rep)s(ository)g(\014eld)g(of)g(eac)m(h)h
Ff(Directory)630 1119 y Fh(request)21 b(is)h(ignored)f(\(it)i(merely)e
(m)m(ust)h(p)s(oin)m(t)f(somewhere)g(within)g(the)h(ro)s(ot\).)38
b(The)21 b(\014les)g(to)630 1228 y(b)s(e)28 b(imp)s(orted)g(are)i(sen)m
(t)f(in)g Ff(Modified)d Fh(requests)j(\(\014les)g(whic)m(h)g(the)g
(clien)m(t)h(kno)m(ws)f(should)630 1338 y(b)s(e)f(ignored)g(are)h(not)g
(sen)m(t;)h(the)f(serv)m(er)f(m)m(ust)h(still)g(pro)s(cess)f(the)h
(CVSR)m(OOT/cvsignore)630 1448 y(\014le)43 b(unless)f(-I)i(!)f(is)g
(sen)m(t\).)79 b(A)43 b(log)i(message)f(m)m(ust)f(ha)m(v)m(e)h(b)s(een)
e(sp)s(eci\014ed)g(with)h(a)h Ff(-m)630 1557 y Fh(argumen)m(t.)150
1719 y Ff(add)29 b(\\n)211 b Fh(Resp)s(onse)47 b(exp)s(ected:)74
b(y)m(es.)92 b(Add)46 b(a)i(\014le)f(or)g(directory)-8
b(.)92 b(This)46 b(uses)h(an)m(y)g(previous)630 1829
y Ff(Argument)p Fh(,)40 b Ff(Directory)p Fh(,)g Ff(Entry)p
Fh(,)i(or)e Ff(Modified)d Fh(requests,)43 b(if)d(they)g(ha)m(v)m(e)h(b)
s(een)e(sen)m(t.)630 1939 y(The)31 b(last)h Ff(Directory)c
Fh(sen)m(t)k(sp)s(eci\014es)f(the)g(w)m(orking)h(directory)g(at)g(the)f
(time)h(of)f(the)h(op-)630 2048 y(eration.)630 2184 y(T)-8
b(o)50 b(add)e(a)i(directory)-8 b(,)55 b(send)49 b(the)g(directory)h
(to)g(b)s(e)e(added)h(using)g Ff(Directory)e Fh(and)630
2294 y Ff(Argument)28 b Fh(requests.)41 b(F)-8 b(or)31
b(example:)870 2424 y Ff(C:)47 b(Root)g(/u/cvsroot)870
2528 y(.)g(.)h(.)870 2632 y(C:)f(Argument)f(nsdir)870
2735 y(C:)h(Directory)e(nsdir)870 2839 y(C:)i(/u/cvsroot/1dir/nsdir)870
2943 y(C:)g(Directory)e(.)870 3047 y(C:)i(/u/cvsroot/1dir)870
3150 y(C:)g(add)870 3254 y(S:)g(M)h(Directory)d(/u/cvsroot/1dir/nsdir)d
(added)k(to)h(the)g(repository)870 3358 y(S:)g(ok)630
3494 y Fh(Y)-8 b(ou)23 b(will)h(notice)g(that)f(the)g(serv)m(er)h(do)s
(es)e(not)h(signal)h(to)f(the)g(clien)m(t)i(in)e(an)m(y)g(particular)g
(w)m(a)m(y)630 3604 y(that)34 b(the)f(directory)g(has)g(b)s(een)f
(successfully)h(added.)48 b(The)33 b(clien)m(t)i(is)e(supp)s(osed)e(to)
j(just)630 3713 y(assume)f(that)g(the)g(directory)h(has)e(b)s(een)g
(added)h(and)f(up)s(date)g(its)h(records)g(accordingly)-8
b(.)630 3823 y(Note)42 b(also)h(that)e(adding)g(a)h(directory)f(is)g
(immediate;)48 b(it)42 b(do)s(es)f(not)g(w)m(ait)i(un)m(til)e(a)h
Ff(ci)630 3932 y Fh(request)30 b(as)h(\014les)f(do.)630
4068 y(T)-8 b(o)28 b(add)f(a)g(\014le,)i(send)d(the)i(\014le)f(to)h(b)s
(e)f(added)f(using)h(a)h Ff(Modified)d Fh(request.)40
b(F)-8 b(or)28 b(example:)870 4198 y Ff(C:)47 b(Argument)f(nfile)870
4302 y(C:)h(Directory)e(.)870 4406 y(C:)i(/u/cvsroot/1dir)870
4510 y(C:)g(Modified)f(nfile)870 4614 y(C:)h(u=rw,g=r,o=r)870
4717 y(C:)g(6)870 4821 y(C:)g(hello)870 4925 y(C:)g(add)870
5029 y(S:)g(E)h(cvs)f(server:)e(scheduling)g(file)i(`nfile')f(for)h
(addition)870 5132 y(S:)g(Mode)g(u=rw,g=r,o=r)870 5236
y(S:)g(Checked-in)e(./)870 5340 y(S:)i(/u/cvsroot/1dir/nfile)p
eop end
%%Page: 21 21
TeXDict begin 21 20 bop 870 299 a Ff(S:)47 b(/nfile/0///)870
403 y(S:)g(E)h(cvs)f(server:)e(use)i('cvs)g(commit')f(to)h(add)g(this)f
(file)h(permanently)870 506 y(S:)g(ok)630 642 y Fh(Note)40
b(that)f(the)g(\014le)f(has)g(not)h(b)s(een)f(added)g(to)h(the)g(rep)s
(ository;)k(the)38 b(only)h(e\013ect)h(of)f(a)630 752
y(successful)k Ff(add)e Fh(request,)47 b(for)42 b(a)h(\014le,)j(is)d
(to)h(supply)d(the)i(clien)m(t)h(with)f(a)g(new)f(en)m(tries)630
861 y(line)33 b(con)m(taining)h(`)p Ff(0)p Fh(')f(to)g(indicate)h(an)e
(added)g(\014le.)48 b(In)32 b(fact,)i(the)f(clien)m(t)h(probably)e
(could)630 971 y(p)s(erform)d(this)h(op)s(eration)h(without)g(con)m
(tacting)i(the)e(serv)m(er,)g(although)g(using)f Ff(add)f
Fh(do)s(es)630 1081 y(cause)i(the)f(serv)m(er)h(to)g(p)s(erform)e(a)i
(few)f(more)h(c)m(hec)m(ks.)630 1216 y(The)f(clien)m(t)i(sends)d(a)i
(subsequen)m(t)f Ff(ci)f Fh(to)j(actually)f(add)f(the)h(\014le)f(to)h
(the)g(rep)s(ository)-8 b(.)630 1352 y(Another)32 b(quirk)f(of)h(the)g
Ff(add)f Fh(request)g(is)h(that)h(with)e(CVS)g(1.9)i(and)e(older,)i(a)f
(pathname)630 1462 y(sp)s(eci\014ed)i(in)f(an)i Ff(Argument)c
Fh(request)k(cannot)g(con)m(tain)g(`)p Ff(/)p Fh('.)53
b(There)33 b(is)i(no)f(go)s(o)s(d)g(reason)630 1571 y(for)40
b(this)f(restriction,)44 b(and)39 b(in)h(fact)h(more)f(recen)m(t)h(CVS)
e(serv)m(ers)h(don't)g(ha)m(v)m(e)h(it.)70 b(But)630
1681 y(the)33 b(w)m(a)m(y)g(to)g(in)m(terop)s(erate)h(with)e(the)h
(older)g(serv)m(ers)f(is)h(to)g(ensure)f(that)h(all)g
Ff(Directory)630 1790 y Fh(requests)28 b(for)g Ff(add)g
Fh(\(except)i(those)e(used)g(to)h(add)f(directories,)i(as)e(describ)s
(ed)g(ab)s(o)m(v)m(e\),)i(use)630 1900 y(`)p Ff(.)p Fh(')41
b(for)f Fg(lo)s(cal-directory)p Fh(.)73 b(Sp)s(ecifying)39
b(another)i(string)f(for)g Fg(lo)s(cal-directory)51 b
Fh(ma)m(y)41 b(not)630 2010 y(get)32 b(an)e(error,)g(but)g(it)h(will)f
(get)i(y)m(ou)f(strange)g Ff(Checked-in)c Fh(resp)s(onses)j(from)g(the)
g(buggy)630 2119 y(serv)m(ers.)150 2281 y Ff(remove)f(\\n)67
b Fh(Resp)s(onse)42 b(exp)s(ected:)65 b(y)m(es.)77 b(Remo)m(v)m(e)44
b(a)f(\014le.)76 b(This)42 b(uses)g(an)m(y)g(previous)g
Ff(Argument)p Fh(,)630 2391 y Ff(Directory)p Fh(,)i Ff(Entry)p
Fh(,)h(or)e Ff(Modified)e Fh(requests,)46 b(if)d(they)g(ha)m(v)m(e)h(b)
s(een)e(sen)m(t.)80 b(The)42 b(last)630 2500 y Ff(Directory)28
b Fh(sen)m(t)j(sp)s(eci\014es)f(the)g(w)m(orking)h(directory)g(at)g
(the)g(time)g(of)f(the)h(op)s(eration.)630 2636 y(Note)c(that)g(this)e
(request)h(do)s(es)g(not)g(actually)h(do)f(an)m(ything)h(to)f(the)g
(rep)s(ository;)i(the)e(only)630 2746 y(e\013ect)34 b(of)f(a)f
(successful)h Ff(remove)d Fh(request)j(is)f(to)i(supply)d(the)h(clien)m
(t)i(with)e(a)h(new)f(en)m(tries)630 2855 y(line)e(con)m(taining)h(`)p
Ff(-)p Fh(')f(to)g(indicate)h(a)f(remo)m(v)m(ed)h(\014le.)40
b(In)29 b(fact,)i(the)f(clien)m(t)h(probably)e(could)630
2965 y(p)s(erform)36 b(this)h(op)s(eration)h(without)f(con)m(tacting)i
(the)f(serv)m(er,)h(although)f(using)f Ff(remove)630
3074 y Fh(ma)m(y)31 b(cause)g(the)f(serv)m(er)h(to)g(p)s(erform)e(a)i
(few)f(more)h(c)m(hec)m(ks.)630 3210 y(The)f(clien)m(t)i(sends)d(a)h
(subsequen)m(t)g Ff(ci)g Fh(request)g(to)h(actually)h(record)e(the)g
(remo)m(v)-5 b(al)32 b(in)e(the)630 3320 y(rep)s(ository)-8
b(.)150 3482 y Ff(watch-on)28 b(\\n)150 3591 y(watch-off)g(\\n)150
3701 y(watch-add)g(\\n)150 3811 y(watch-remove)f(\\n)630
3920 y Fh(Resp)s(onse)38 b(exp)s(ected:)56 b(y)m(es.)65
b(Actually)40 b(do)e(the)h Ff(cvs)29 b(watch)g(on)p Fh(,)40
b Ff(cvs)29 b(watch)g(off)p Fh(,)40 b Ff(cvs)630 4030
y(watch)29 b(add)p Fh(,)f(and)h Ff(cvs)g(watch)g(remove)e
Fh(commands,)i(resp)s(ectiv)m(ely)-8 b(.)42 b(This)28
b(uses)g(an)m(y)h(pre-)630 4139 y(vious)38 b Ff(Argument)p
Fh(,)g Ff(Directory)p Fh(,)g Ff(Entry)p Fh(,)h(or)f Ff(Modified)e
Fh(requests,)k(if)e(they)g(ha)m(v)m(e)i(b)s(een)630 4249
y(sen)m(t.)g(The)25 b(last)h Ff(Directory)e Fh(sen)m(t)i(sp)s
(eci\014es)f(the)h(w)m(orking)g(directory)g(at)h(the)e(time)i(of)f(the)
630 4359 y(op)s(eration.)150 4520 y Ff(release)i(\\n)630
4630 y Fh(Resp)s(onse)35 b(exp)s(ected:)51 b(y)m(es.)56
b(Note)36 b(that)g(a)g Ff(cvs)29 b(release)34 b Fh(command)h(has)g(tak)
m(en)h(place)630 4740 y(and)30 b(up)s(date)f(the)i(history)f(\014le)h
(accordingly)-8 b(.)150 4902 y Ff(noop)29 b(\\n)163 b
Fh(Resp)s(onse)41 b(exp)s(ected:)64 b(y)m(es.)76 b(This)41
b(request)h(is)g(a)g(n)m(ull)g(command)g(in)f(the)h(sense)g(that)630
5011 y(it)h(do)s(esn't)g(do)f(an)m(ything,)k(but)c(merely)h(\(as)h
(with)e(an)m(y)h(other)g(requests)f(exp)s(ecting)i(a)630
5121 y(resp)s(onse\))51 b(sends)f(bac)m(k)i(an)m(y)f(resp)s(onses)g(p)s
(ertaining)f(to)i(p)s(ending)e(errors,)56 b(p)s(ending)630
5230 y Ff(Notified)42 b Fh(resp)s(onses,)47 b(etc.)83
b(The)44 b Ff(Root)f Fh(request)i(need)f(not)g(ha)m(v)m(e)i(b)s(een)d
(previously)630 5340 y(sen)m(t.)p eop end
%%Page: 22 22
TeXDict begin 22 21 bop 150 299 a Ff(update-patches)26
b(\\n)630 408 y Fh(Resp)s(onse)h(exp)s(ected:)40 b(y)m(es.)h(This)27
b(request)h(do)s(es)g(not)g(actually)h(do)f(an)m(ything.)41
b(It)28 b(is)g(used)630 518 y(as)37 b(a)g(signal)g(that)g(the)f(serv)m
(er)h(is)g(able)g(to)g(generate)h(patc)m(hes)f(when)f(giv)m(en)h(an)g
Ff(update)630 628 y Fh(request.)51 b(The)34 b(clien)m(t)h(m)m(ust)f
(issue)g(the)g Ff(-u)f Fh(argumen)m(t)i(to)f Ff(update)e
Fh(in)i(order)f(to)i(receiv)m(e)630 737 y(patc)m(hes.)150
893 y Ff(gzip-file-contents)25 b Fg(lev)m(el)36 b Ff(\\n)630
1003 y Fh(Resp)s(onse)i(exp)s(ected:)57 b(no.)65 b(Note)39
b(that)g(this)g(request)f(do)s(es)g(not)h(follo)m(w)g(the)g(resp)s
(onse)630 1112 y(con)m(v)m(en)m(tion)47 b(stated)f(ab)s(o)m(v)m(e.)87
b Ff(Gzip-stream)42 b Fh(is)j(suggested)h(instead)f(of)h
Ff(gzip-file-)630 1222 y(contents)41 b Fh(as)j(it)g(giv)m(es)h(b)s
(etter)f(compression;)50 b(the)44 b(only)g(reason)f(to)i(implemen)m(t)f
(the)630 1331 y(latter)f(is)f(to)g(pro)m(vide)f(compression)h(with)f
Fd(cvs)g Fh(1.8)i(and)d(earlier.)76 b(The)41 b Ff(gzip-file-)630
1441 y(contents)31 b Fh(request)i(asks)h(the)f(serv)m(er)h(to)g
(compress)f(\014les)g(it)h(sends)e(to)i(the)g(clien)m(t)g(using)630
1551 y Ff(gzip)27 b Fh(\(RF)m(C1952/1951\))34 b(compression,)29
b(using)f(the)g(sp)s(eci\014ed)g(lev)m(el)i(of)e(compression.)40
b(If)630 1660 y(this)30 b(request)h(is)f(not)h(made,)f(the)h(serv)m(er)
g(m)m(ust)f(not)g(compress)h(\014les.)630 1793 y(This)i(is)g(only)h(a)g
(hin)m(t)g(to)g(the)g(serv)m(er.)50 b(It)34 b(ma)m(y)g(still)h(decide)f
(\(for)f(example,)j(in)d(the)h(case)630 1903 y(of)29
b(v)m(ery)h(small)g(\014les,)f(or)g(\014les)h(that)f(already)h(app)s
(ear)f(to)h(b)s(e)e(compressed\))h(not)h(to)g(do)f(the)630
2012 y(compression.)41 b(Compression)29 b(is)i(indicated)g(b)m(y)f(a)h
(`)p Ff(z)p Fh(')f(preceding)h(the)f(\014le)h(length.)630
2145 y(Av)-5 b(ailabilit)m(y)45 b(of)e(this)g(request)f(in)h(the)g
(serv)m(er)g(indicates)g(to)h(the)f(clien)m(t)h(that)f(it)g(ma)m(y)630
2255 y(compress)32 b(\014les)f(sen)m(t)i(to)f(the)g(serv)m(er,)h
(regardless)f(of)g(whether)f(the)i(clien)m(t)g(actually)g(uses)630
2364 y(this)d(request.)150 2520 y Ff(wrapper-sendme-rcsOption)o(s)24
b(\\n)630 2630 y Fh(Resp)s(onse)31 b(exp)s(ected:)43
b(y)m(es.)i(Request)32 b(that)g(the)g(serv)m(er)f(transmit)h(mappings)f
(from)g(\014le-)630 2739 y(names)f(to)h(k)m(eyw)m(ord)g(expansion)f(mo)
s(des)g(in)g Ff(Wrapper-rcsOption)c Fh(resp)s(onses.)150
2895 y Ff(version)i(\\n)630 3005 y Fh(Resp)s(onse)i(exp)s(ected:)42
b(y)m(es.)h(Request)31 b(that)g(the)g(serv)m(er)g(transmit)g(its)g(v)m
(ersion)h(message.)630 3114 y(The)e Ff(Root)f Fh(request)h(need)h(not)f
(ha)m(v)m(e)i(b)s(een)d(previously)i(sen)m(t.)150 3270
y Fg(other-request)i(text)g Ff(\\n)630 3380 y Fh(Resp)s(onse)20
b(exp)s(ected:)37 b(y)m(es.)h(An)m(y)21 b(unrecognized)h(request)f(exp)
s(ects)g(a)h(resp)s(onse,)g(and)e(do)s(es)630 3489 y(not)30
b(con)m(tain)h(an)m(y)f(additional)g(data.)41 b(The)29
b(resp)s(onse)g(will)h(normally)g(b)s(e)f(something)h(lik)m(e)630
3599 y(`)p Ff(error)f(unrecognized)e(request)p Fh(',)33
b(but)h(it)g(could)g(b)s(e)f(a)i(di\013eren)m(t)f(error)f(if)h(a)g
(previous)630 3709 y(request)c(whic)m(h)h(do)s(esn't)f(exp)s(ect)h(a)f
(resp)s(onse)g(pro)s(duced)e(an)j(error.)275 3864 y(When)f(the)g(clien)
m(t)i(is)f(done,)f(it)h(drops)e(the)i(connection.)150
4117 y Fc(5.9)68 b(In)l(tro)t(duction)45 b(to)g(Resp)t(onses)275
4307 y Fh(After)24 b(a)g(command)g(whic)m(h)g(exp)s(ects)g(a)h(resp)s
(onse,)g(the)f(serv)m(er)g(sends)f(ho)m(w)m(ev)m(er)j(man)m(y)e(of)g
(the)g(follo)m(w-)150 4417 y(ing)29 b(resp)s(onses)f(are)i
(appropriate.)40 b(The)29 b(serv)m(er)g(should)f(not)i(send)e(data)i
(at)f(other)h(times)f(\(the)h(curren)m(t)150 4527 y(implemen)m(tation)c
(ma)m(y)f(violate)h(this)e(principle)g(in)g(a)g(few)g(minor)g(places,)i
(where)e(the)g(serv)m(er)h(is)f(prin)m(ting)150 4636
y(an)30 b(error)g(message)i(and)e(exiting|this)h(should)e(b)s(e)h(in)m
(v)m(estigated)j(further\).)275 4769 y(An)m(y)d(set)i(of)f(resp)s
(onses)e(alw)m(a)m(ys)k(ends)d(with)g(`)p Ff(error)p
Fh(')g(or)h(`)p Ff(ok)p Fh('.)42 b(This)30 b(indicates)h(that)h(the)f
(resp)s(onse)150 4878 y(is)f(o)m(v)m(er.)275 5011 y(The)g(resp)s(onses)
g Ff(Checked-in)p Fh(,)e Ff(New-entry)p Fh(,)h Ff(Updated)p
Fh(,)h Ff(Created)p Fh(,)f Ff(Update-existing)p Fh(,)e
Ff(Merged)p Fh(,)150 5121 y(and)j Ff(Patched)e Fh(are)j(refered)f(to)h
(as)f Fg(\014le)g(up)s(dating)37 b Fh(resp)s(onses,)30
b(b)s(ecause)g(they)h(c)m(hange)g(the)g(status)f(of)h(a)150
5230 y(\014le)25 b(in)g(the)g(w)m(orking)g(directory)h(in)e(some)i(w)m
(a)m(y)-8 b(.)40 b(The)24 b(resp)s(onses)g Ff(Mode)p
Fh(,)h Ff(Mod-time)p Fh(,)f(and)h Ff(Checksum)e Fh(are)150
5340 y(referred)33 b(to)h(as)g Fg(\014le)f(up)s(date)g(mo)s(difying)41
b Fh(resp)s(onses)32 b(b)s(ecause)i(they)f(mo)s(dify)g(the)h(next)f
(\014le)h(up)s(dating)p eop end
%%Page: 23 23
TeXDict begin 23 22 bop 150 299 a Fh(resp)s(onse.)38
b(In)24 b(no)h(case)h(shall)g(a)f(\014le)g(up)s(date)f(mo)s(difying)h
(resp)s(onse)f(apply)h(to)g(a)h(\014le)f(up)s(dating)f(resp)s(onse)150
408 y(other)32 b(than)f(the)h(next)g(one.)45 b(Nor)32
b(can)f(the)h(same)g(\014le)g(up)s(date)f(mo)s(difying)g(resp)s(onse)g
(o)s(ccur)g(t)m(wice)i(for)150 518 y(a)c(giv)m(en)h(\014le)f(up)s
(dating)f(resp)s(onse)g(\(if)h(serv)m(ers)g(diagnose)g(this)g(problem,)
g(it)g(ma)m(y)h(aid)f(in)f(detecting)j(the)150 628 y(case)25
b(where)f(clien)m(ts)h(send)f(an)g(up)s(date)f(mo)s(difying)h(resp)s
(onse)f(without)h(follo)m(wing)i(it)e(b)m(y)g(a)h(\014le)f(up)s(dating)
150 737 y(resp)s(onse\).)150 992 y Fc(5.10)68 b(The)45
b Fa(")p Fc(pathname)p Fa(")f Fc(in)h(resp)t(onses)275
1183 y Fh(Man)m(y)f(of)f(the)h(resp)s(onses)e(con)m(tain)j(something)f
(called)g Fg(pathname)p Fh(.)80 b(The)43 b(name)g(is)h(somewhat)150
1293 y(misleading;)h(it)c(actually)g(indicates)g(a)f(pair)g(of)g
(pathnames.)68 b(First,)43 b(a)d(lo)s(cal)h(directory)g(name)e(rel-)150
1402 y(ativ)m(e)j(to)e(the)g(directory)h(in)e(whic)m(h)h(the)g(command)
f(w)m(as)h(giv)m(en)h(\(i.e.)70 b(the)40 b(last)h Ff(Directory)c
Fh(b)s(efore)150 1512 y(the)i(command\).)67 b(Then)38
b(a)i(linefeed)f(and)f(a)i(rep)s(ository)f(name.)67 b(Then)38
b(a)h(slash)g(and)f(the)i(\014lename)150 1622 y(\(without)d(a)g(`)p
Ff(,v)p Fh(')f(ending\).)59 b(F)-8 b(or)37 b(example,)i(for)d(a)h
(\014le)f(`)p Ff(i386.mh)p Fh(')f(whic)m(h)i(is)f(in)g(the)h(lo)s(cal)g
(directory)150 1731 y(`)p Ff(gas.clean/config)p Fh(')26
b(and)k(for)g(whic)m(h)g(the)h(rep)s(ository)f(is)h(`)p
Ff(/rel/cvsfiles/devo/gas/c)o(onfi)o(g)p Fh(':)390 1859
y Ff(gas.clean/config/)390 1963 y(/rel/cvsfiles/devo/gas/c)o(onfi)o
(g/i3)o(86.)o(mh)275 2096 y Fh(If)22 b(the)h(serv)m(er)h(w)m(an)m(ts)g
(to)g(tell)g(the)f(clien)m(t)i(to)f(create)g(a)g(directory)-8
b(,)26 b(then)c(it)i(merely)f(uses)g(the)g(directory)150
2206 y(in)j(an)m(y)i(resp)s(onse,)e(as)h(describ)s(ed)f(ab)s(o)m(v)m
(e,)j(and)d(the)h(clien)m(t)i(should)c(create)k(the)e(directory)g(if)g
(it)g(do)s(es)g(not)150 2315 y(exist.)54 b(Note)35 b(that)g(this)f
(should)g(only)g(b)s(e)g(done)g(one)h(directory)g(at)g(a)g(time,)h(in)e
(order)g(to)h(p)s(ermit)f(the)150 2425 y(clien)m(t)f(to)g(correctly)g
(store)f(the)g(rep)s(ository)g(for)g(eac)m(h)h(directory)-8
b(.)45 b(Serv)m(ers)32 b(can)g(use)g(requests)f(suc)m(h)h(as)150
2535 y Ff(Clear-sticky)p Fh(,)27 b Ff(Clear-static-directory)p
Fh(,)e(or)30 b(an)m(y)h(other)g(requests,)f(to)h(create)h(directories.)
275 2668 y(Some)f(serv)m(er)h(implemen)m(tations)g(ma)m(y)g(p)s(o)s
(orly)f(distinguish)f(b)s(et)m(w)m(een)i(a)g(directory)g(whic)m(h)f
(should)150 2778 y(not)36 b(exist)g(and)e(a)i(directory)g(whic)m(h)f
(con)m(tains)h(no)f(\014les;)j(in)d(order)g(to)h(refrain)f(from)g
(creating)i(empt)m(y)150 2887 y(directories)27 b(a)g(clien)m(t)g
(should)e(b)s(oth)h(send)f(the)h(`)p Ff(-P)p Fh(')g(option)h(to)g
Ff(update)d Fh(or)i Ff(co)p Fh(,)h(and)e(should)h(also)h(detect)150
2997 y(the)34 b(case)h(in)f(whic)m(h)f(the)h(serv)m(er)g(asks)g(to)h
(create)h(a)e(directory)g(but)f(not)i(an)m(y)f(\014les)g(within)f(it)h
(\(in)g(that)150 3106 y(case)k(the)e(clien)m(t)j(should)c(remo)m(v)m(e)
j(the)f(directory)g(or)g(refrain)f(from)g(creating)i(it)f(in)g(the)g
(\014rst)e(place\).)150 3216 y(Note)d(that)f(serv)m(ers)f(could)h
(clean)g(this)f(up)g(greatly)i(b)m(y)e(only)g(telling)i(the)f(clien)m
(t)h(to)f(create)h(directories)150 3326 y(if)f(the)h(directory)g(in)f
(question)h(should)e(exist,)j(but)d(un)m(til)i(serv)m(ers)g(do)f(this,)
h(clien)m(ts)g(will)g(need)f(to)i(o\013er)150 3435 y(the)e(`)p
Ff(-P)p Fh(')f(b)s(eha)m(vior)g(describ)s(ed)g(ab)s(o)m(v)m(e.)150
3690 y Fc(5.11)68 b(Resp)t(onses)275 3881 y Fh(Here)30
b(are)h(the)g(resp)s(onses:)150 4039 y Ff(Valid-requests)26
b Fg(request-list)34 b Ff(\\n)630 4148 y Fh(Indicate)46
b(what)f(requests)h(the)g(serv)m(er)f(will)h(accept.)88
b Fg(request-list)48 b Fh(is)e(a)f(space)h(sepa-)630
4258 y(rated)f(list)g(of)f(tok)m(ens.)84 b(If)43 b(the)i(serv)m(er)g
(supp)s(orts)d(sending)i(patc)m(hes,)49 b(it)c(will)f(include)630
4368 y(`)p Ff(update-patches)p Fh(')23 b(in)j(this)g(list.)40
b(The)26 b(`)p Ff(update-patches)p Fh(')d(request)j(do)s(es)g(not)g
(actually)630 4477 y(do)k(an)m(ything.)150 4635 y Ff(Checked-in)e
Fg(pathname)35 b Ff(\\n)630 4744 y Fh(Additional)g(data:)50
b(New)35 b(En)m(tries)f(line,)j Ff(\\)p Fh(n.)52 b(This)34
b(means)g(a)h(\014le)g Fg(pathname)k Fh(has)c(b)s(een)630
4854 y(successfully)e(op)s(erated)h(on)f(\(c)m(hec)m(k)m(ed)j(in,)e
(added,)g(etc.\).)52 b(name)34 b(in)f(the)g(En)m(tries)h(line)g(is)630
4963 y(the)d(same)f(as)h(the)g(last)g(comp)s(onen)m(t)f(of)h
Fg(pathname)p Fh(.)150 5121 y Ff(New-entry)d Fg(pathname)35
b Ff(\\n)630 5230 y Fh(Additional)30 b(data:)41 b(New)30
b(En)m(tries)g(line,)h Ff(\\)p Fh(n.)40 b(Lik)m(e)30
b Ff(Checked-in)p Fh(,)d(but)i(the)h(\014le)g(is)g(not)g(up)630
5340 y(to)h(date.)p eop end
%%Page: 24 24
TeXDict begin 24 23 bop 150 299 a Ff(Updated)28 b Fg(pathname)36
b Ff(\\n)630 408 y Fh(Additional)27 b(data:)39 b(New)26
b(En)m(tries)h(line,)g Ff(\\)p Fh(n,)g(mo)s(de,)g Ff(\\)p
Fh(n,)f(\014le)g(transmission.)39 b(A)27 b(new)e(cop)m(y)630
518 y(of)40 b(the)f(\014le)g(is)h(enclosed.)68 b(This)39
b(is)g(used)g(for)g(a)h(new)e(revision)i(of)f(an)h(existing)g(\014le,)i
(or)630 628 y(for)31 b(a)h(new)f(\014le,)h(or)f(for)h(an)m(y)f(other)h
(case)g(in)g(whic)m(h)f(the)g(lo)s(cal)i(\(clien)m(t-side\))h(cop)m(y)e
(of)g(the)630 737 y(\014le)f(needs)g(to)i(b)s(e)d(up)s(dated,)h(and)g
(after)h(b)s(eing)e(up)s(dated)h(it)g(will)h(b)s(e)f(up)f(to)i(date.)45
b(If)31 b(an)m(y)630 847 y(directory)38 b(in)g(pathname)f(do)s(es)h
(not)g(exist,)j(create)e(it.)63 b(This)37 b(resp)s(onse)g(is)h(not)g
(used)f(if)630 956 y Ff(Created)28 b Fh(and)i Ff(Update-existing)c
Fh(are)31 b(supp)s(orted.)150 1110 y Ff(Created)d Fg(pathname)36
b Ff(\\n)630 1219 y Fh(This)25 b(is)h(just)g(lik)m(e)h
Ff(Updated)d Fh(and)i(tak)m(es)h(the)g(same)f(additional)h(data,)h(but)
d(is)h(used)g(only)g(if)630 1329 y(no)d Ff(Entry)p Fh(,)g
Ff(Modified)p Fh(,)f(or)g Ff(Unchanged)f Fh(request)h(has)h(b)s(een)f
(sen)m(t)h(for)f(the)h(\014le)g(in)f(question.)630 1439
y(The)37 b(distinction)i(b)s(et)m(w)m(een)f Ff(Created)e
Fh(and)h Ff(Update-existing)c Fh(is)38 b(so)g(that)g(the)g(clien)m(t)
630 1548 y(can)h(giv)m(e)h(an)e(error)g(message)i(in)e(sev)m(eral)i
(cases:)58 b(\(1\))40 b(there)f(is)f(a)h(\014le)g(in)f(the)h(w)m
(orking)630 1658 y(directory)-8 b(,)32 b(but)f(not)g(one)h(for)f(whic)m
(h)f Ff(Entry)p Fh(,)h Ff(Modified)p Fh(,)e(or)i Ff(Unchanged)e
Fh(w)m(as)i(sen)m(t)h(\(for)630 1767 y(example,)g(a)e(\014le)h(whic)m
(h)f(w)m(as)h(ignored,)g(or)g(a)g(\014le)f(for)g(whic)m(h)h
Ff(Questionable)c Fh(w)m(as)k(sen)m(t\),)630 1877 y(\(2\))42
b(there)f(is)f(a)i(\014le)e(in)h(the)g(w)m(orking)g(directory)g(whose)f
(name)h(di\013ers)f(from)h(the)g(one)630 1987 y(men)m(tioned)d(in)f
Ff(Created)e Fh(in)i(w)m(a)m(ys)h(that)g(the)f(clien)m(t)i(is)e(unable)
g(to)h(use)f(to)h(distinguish)630 2096 y(\014les.)64
b(F)-8 b(or)39 b(example,)i(the)d(clien)m(t)i(is)e(case-insensitiv)m(e)
i(and)e(the)g(names)g(di\013er)g(only)g(in)630 2206 y(case.)150
2359 y Ff(Update-existing)26 b Fg(pathname)36 b Ff(\\n)630
2469 y Fh(This)25 b(is)h(just)g(lik)m(e)h Ff(Updated)d
Fh(and)i(tak)m(es)h(the)g(same)f(additional)h(data,)h(but)d(is)h(used)g
(only)g(if)630 2578 y(a)h Ff(Entry)p Fh(,)f Ff(Modified)p
Fh(,)g(or)g Ff(Unchanged)f Fh(request)h(has)h(b)s(een)f(sen)m(t)h(for)f
(the)h(\014le)g(in)f(question.)630 2710 y(This)36 b(resp)s(onse,)i(or)f
Ff(Merged)p Fh(,)h(indicates)g(that)f(the)h(serv)m(er)f(has)g
(determined)g(that)g(it)h(is)630 2819 y(OK)32 b(to)h(o)m(v)m(erwrite)h
(the)f(previous)f(con)m(ten)m(ts)i(of)f(the)g(\014le)f(sp)s(eci\014ed)g
(b)m(y)h Fg(pathname)p Fh(.)47 b(Pro-)630 2929 y(vided)31
b(that)g(the)h(clien)m(t)g(has)f(correctly)i(sen)m(t)e
Ff(Modified)e Fh(or)i Ff(Is-modified)d Fh(requests)j(for)630
3039 y(a)26 b(mo)s(di\014ed)e(\014le,)j(and)e(the)h(\014le)f(w)m(as)h
(not)g(mo)s(di\014ed)e(while)h(CVS)g(w)m(as)h(running,)f(the)h(serv)m
(er)630 3148 y(can)31 b(ensure)e(that)i(a)g(user's)f(mo)s
(di\014cations)g(are)h(not)g(lost.)150 3302 y Ff(Merged)e
Fg(pathname)35 b Ff(\\n)630 3411 y Fh(This)41 b(is)h(just)g(lik)m(e)h
Ff(Updated)d Fh(and)i(tak)m(es)h(the)f(same)h(additional)g(data,)j
(with)41 b(the)i(one)630 3521 y(di\013erence)33 b(that)g(after)h(the)e
(new)h(cop)m(y)g(of)g(the)g(\014le)f(is)h(enclosed,)h(it)f(will)h
(still)f(not)g(b)s(e)f(up)630 3630 y(to)f(date.)41 b(Used)31
b(for)f(the)g(results)h(of)f(a)h(merge,)g(with)f(or)g(without)h
(con\015icts.)630 3762 y(It)36 b(is)h(useful)e(to)i(preserv)m(e)f(an)g
(cop)m(y)h(of)g(what)f(the)g(\014le)g(lo)s(ok)m(ed)h(lik)m(e)h(b)s
(efore)e(the)g(merge.)630 3871 y(This)h(is)h(basically)h(handled)e(b)m
(y)g(the)h(serv)m(er;)k(b)s(efore)c(sending)f Ff(Merged)f
Fh(it)i(will)h(send)e(a)630 3981 y Ff(Copy-file)25 b
Fh(resp)s(onse.)39 b(F)-8 b(or)28 b(example,)h(if)f(the)g(\014le)f(is)h
(`)p Ff(aa)p Fh(')f(and)g(it)i(deriv)m(es)f(from)f(revision)630
4091 y(1.3,)j(the)e Ff(Copy-file)d Fh(resp)s(onse)i(will)h(tell)h(the)f
(clien)m(t)h(to)g(cop)m(y)g(`)p Ff(aa)p Fh(')e(to)i(`)p
Ff(.#aa.1.3)p Fh('.)38 b(It)28 b(is)630 4200 y(up)e(to)h(the)g(clien)m
(t)i(to)e(decide)h(ho)m(w)f(long)g(to)h(k)m(eep)f(this)g(\014le)g
(around;)g(traditionally)h(clien)m(ts)630 4310 y(ha)m(v)m(e)39
b(left)g(it)g(around)e(forev)m(er,)42 b(th)m(us)37 b(letting)j(the)f
(user)e(clean)i(it)g(up)e(as)i(desired.)64 b(But)630
4419 y(another)31 b(answ)m(er,)f(suc)m(h)g(as)h(un)m(til)f(the)h(next)g
(commit,)g(migh)m(t)g(b)s(e)f(preferable.)150 4573 y
Ff(Rcs-diff)e Fg(pathname)35 b Ff(\\n)630 4682 y Fh(This)41
b(is)h(just)g(lik)m(e)h Ff(Updated)d Fh(and)i(tak)m(es)h(the)f(same)h
(additional)g(data,)j(with)41 b(the)i(one)630 4792 y(di\013erence)38
b(that)g(instead)g(of)g(sending)f(a)h(new)g(cop)m(y)g(of)g(the)g
(\014le,)h(the)f(serv)m(er)g(sends)f(an)630 4902 y(R)m(CS)h(c)m(hange)i
(text.)66 b(This)38 b(c)m(hange)i(text)g(is)e(pro)s(duced)f(b)m(y)i(`)p
Ff(diff)29 b(-n)p Fh(')39 b(\(the)g(GNU)g(di\013)630
5011 y(`)p Ff(-a)p Fh(')c(option)g(ma)m(y)g(also)g(b)s(e)f(used\).)53
b(The)35 b(clien)m(t)h(m)m(ust)e(apply)g(this)h(c)m(hange)h(text)f(to)h
(the)630 5121 y(existing)i(\014le.)61 b(This)36 b(will)h(only)g(b)s(e)g
(used)f(when)g(the)h(clien)m(t)i(has)e(an)g(exact)h(cop)m(y)g(of)f(an)
630 5230 y(earlier)d(revision)f(of)g(a)g(\014le.)48 b(This)32
b(resp)s(onse)g(is)h(only)g(used)f(if)g(the)h Ff(update)e
Fh(command)i(is)630 5340 y(giv)m(en)e(the)g(`)p Ff(-u)p
Fh(')f(argumen)m(t.)p eop end
%%Page: 25 25
TeXDict begin 25 24 bop 150 299 a Ff(Patched)28 b Fg(pathname)36
b Ff(\\n)630 408 y Fh(This)e(is)i(just)e(lik)m(e)j Ff(Rcs-diff)c
Fh(and)h(tak)m(es)j(the)e(same)h(additional)g(data,)h(except)g(that)e
(it)630 518 y(sends)24 b(a)h(standard)e(patc)m(h)j(rather)e(than)g(an)h
(R)m(CS)f(c)m(hange)i(text.)40 b(The)24 b(patc)m(h)h(is)g(pro)s(duced)
630 628 y(b)m(y)d(`)p Ff(diff)30 b(-c)p Fh(')21 b(for)h
Fd(cvs)g Fh(1.6)h(and)e(later)j(\(see)f(POSIX.2)f(for)g(a)g
(description)h(of)f(this)g(format\),)630 737 y(or)i(`)p
Ff(diff)30 b(-u)p Fh(')23 b(for)h(previous)g(v)m(ersions)g(of)g
Fd(cvs)p Fh(;)i(clien)m(ts)f(are)g(encouraged)f(to)h(accept)g(either)
630 847 y(format.)58 b(Lik)m(e)36 b Ff(Rcs-diff)p Fh(,)g(this)f(resp)s
(onse)g(is)h(only)g(used)f(if)h(the)g Ff(update)e Fh(command)i(is)630
956 y(giv)m(en)31 b(the)g(`)p Ff(-u)p Fh(')f(argumen)m(t.)630
1100 y(The)j Ff(Patched)e Fh(resp)s(onse)h(is)h(deprecated)g(in)g(fa)m
(v)m(or)h(of)f(the)g Ff(Rcs-diff)e Fh(resp)s(onse.)48
b(Ho)m(w-)630 1210 y(ev)m(er,)31 b(older)g(clien)m(ts)h(\(CVS)e(1.9)h
(and)f(earlier\))i(only)e(supp)s(ort)f Ff(Patched)p Fh(.)150
1388 y Ff(Mode)g Fg(mo)s(de)35 b Ff(\\n)630 1497 y Fh(This)k
Fg(mo)s(de)45 b Fh(applies)40 b(to)h(the)f(next)g(\014le)g(men)m
(tioned)h(in)f Ff(Checked-in)p Fh(.)67 b Ff(Mode)38 b
Fh(is)i(a)h(\014le)630 1607 y(up)s(date)21 b(mo)s(difying)h(resp)s
(onse)g(as)g(describ)s(ed)f(in)h(Section)h(5.9)h([Resp)s(onse)e(in)m
(tro],)j(page)e(22.)150 1785 y Ff(Mod-time)28 b Fg(time)36
b Ff(\\n)630 1894 y Fh(Set)25 b(the)g(mo)s(di\014cation)g(time)h(of)f
(the)g(next)g(\014le)g(sen)m(t)h(to)f Fg(time)p Fh(.)40
b Ff(Mod-time)23 b Fh(is)h(a)i(\014le)f(up)s(date)630
2004 y(mo)s(difying)31 b(resp)s(onse)g(as)i(describ)s(ed)e(in)g
(Section)i(5.9)g([Resp)s(onse)f(in)m(tro],)h(page)g(22.)46
b(The)630 2114 y Fg(time)32 b Fh(is)25 b(in)h(the)g(format)g(sp)s
(eci\014ed)f(b)m(y)g(RF)m(C822)j(as)e(mo)s(di\014ed)e(b)m(y)i(RF)m
(C1123.)41 b(The)26 b(serv)m(er)630 2223 y(ma)m(y)33
b(sp)s(ecify)f(an)m(y)g(timezone)i(it)e(c)m(ho)s(oses;)j(clien)m(ts)e
(will)g(w)m(an)m(t)g(to)f(con)m(v)m(ert)i(that)f(to)g(their)630
2333 y(o)m(wn)d(timezone)i(as)f(appropriate.)41 b(An)30
b(example)h(of)f(this)g(format)h(is:)870 2471 y Ff(26)47
b(May)g(1997)g(13:01:40)e(-0400)630 2614 y Fh(There)27
b(is)h(no)g(requiremen)m(t)g(that)h(the)f(clien)m(t)i(and)d(serv)m(er)h
(clo)s(c)m(ks)h(b)s(e)f(sync)m(hronized.)39 b(The)630
2724 y(serv)m(er)31 b(just)e(sends)h(its)g(recommendation)h(for)f(a)h
(timestamp)g(\(based)f(on)g(its)h(o)m(wn)f(clo)s(c)m(k,)630
2834 y(presumably\),)41 b(and)e(the)h(clien)m(t)h(should)d(just)h(b)s
(eliev)m(e)i(it)f(\(this)g(means)f(that)i(the)e(time)630
2943 y(migh)m(t)31 b(b)s(e)f(in)g(the)g(future,)g(for)g(example\).)630
3087 y(If)35 b(the)g(serv)m(er)g(do)s(es)g(not)g(send)f
Ff(Mod-time)f Fh(for)i(a)g(giv)m(en)h(\014le,)h(the)e(clien)m(t)i
(should)d(pic)m(k)i(a)630 3197 y(mo)s(di\014cation)f(time)h(in)e(the)h
(usual)f(w)m(a)m(y)i(\(usually)-8 b(,)37 b(just)d(let)h(the)g(op)s
(erating)g(system)g(set)630 3306 y(the)c(mo)s(di\014cation)f(time)h(to)
g(the)g(time)g(that)g(the)g(CVS)e(command)h(is)h(running\).)150
3484 y Ff(Checksum)d Fg(c)m(hec)m(ksum)p Ff(\\n)630 3594
y Fh(The)34 b Fg(c)m(hec)m(ksum)i Fh(applies)f(to)h(the)f(next)g
(\014le)g(sen)m(t)g(\(that)h(is,)g Ff(Checksum)d Fh(is)i(a)g(\014le)g
(up)s(date)630 3703 y(mo)s(difying)f(resp)s(onse)g(as)h(describ)s(ed)f
(in)h(Section)g(5.9)h([Resp)s(onse)f(in)m(tro],)i(page)e(22\).)56
b(In)630 3813 y(the)25 b(case)h(of)g Ff(Patched)p Fh(,)e(the)h(c)m(hec)
m(ksum)h(applies)f(to)h(the)f(\014le)h(after)f(b)s(eing)g(patc)m(hed,)i
(not)e(to)630 3922 y(the)30 b(patc)m(h)g(itself.)42 b(The)29
b(clien)m(t)i(should)e(compute)h(the)g(c)m(hec)m(ksum)g(itself,)h
(after)g(receiving)630 4032 y(the)43 b(\014le)h(or)f(patc)m(h,)k(and)c
(signal)h(an)f(error)g(if)g(the)g(c)m(hec)m(ksums)h(do)f(not)g(matc)m
(h.)80 b(The)630 4142 y(c)m(hec)m(ksum)36 b(is)f(the)h(128)g(bit)f(MD5)
i(c)m(hec)m(ksum)f(represen)m(ted)f(as)g(32)h(hex)f(digits)h(\(MD5)h
(is)630 4251 y(describ)s(ed)26 b(in)h(RF)m(C1321\).)43
b(This)26 b(resp)s(onse)h(is)g(optional,)j(and)d(is)g(only)h(used)e(if)
i(the)f(clien)m(t)630 4361 y(supp)s(orts)h(it)j(\(as)g(judged)f(b)m(y)g
(the)h Ff(Valid-responses)26 b Fh(request\).)150 4539
y Ff(Copy-file)i Fg(pathname)35 b Ff(\\n)630 4648 y Fh(Additional)h
(data:)51 b Fg(newname)40 b Ff(\\)p Fh(n.)55 b(Cop)m(y)35
b(\014le)h Fg(pathname)k Fh(to)c Fg(newname)k Fh(in)35
b(the)h(same)630 4758 y(directory)31 b(where)f(it)h(already)g(is.)40
b(This)30 b(do)s(es)g(not)h(a\013ect)h Ff(CVS/Entries)p
Fh(.)630 4902 y(This)i(can)h(optionally)h(b)s(e)d(implemen)m(ted)j(as)e
(a)h(rename)g(instead)g(of)f(a)h(cop)m(y)-8 b(.)55 b(The)34
b(only)630 5011 y(use)f(for)g(it)h(whic)m(h)g(curren)m(tly)f(has)g(b)s
(een)g(iden)m(ti\014ed)h(is)f(prior)g(to)h(a)g Ff(Merged)e
Fh(resp)s(onse)h(as)630 5121 y(describ)s(ed)h(under)f
Ff(Merged)p Fh(.)53 b(Clien)m(ts)36 b(can)f(probably)f(assume)h(that)h
(is)f(ho)m(w)g(it)g(is)g(b)s(eing)630 5230 y(used,)i(if)e(they)i(w)m
(an)m(t)f(to)h(w)m(orry)e(ab)s(out)h(things)g(lik)m(e)h(ho)m(w)f(long)g
(to)h(k)m(eep)f(the)g Fg(newname)630 5340 y Fh(\014le)30
b(around.)p eop end
%%Page: 26 26
TeXDict begin 26 25 bop 150 299 a Ff(Removed)28 b Fg(pathname)36
b Ff(\\n)630 408 y Fh(The)26 b(\014le)h(has)f(b)s(een)g(remo)m(v)m(ed)h
(from)f(the)h(rep)s(ository)f(\(this)h(is)g(the)f(case)i(where)e(cvs)g
(prin)m(ts)630 518 y(`)p Ff(file)j(foobar.c)g(is)g(no)h(longer)f
(pertinent)p Fh('\).)150 701 y Ff(Remove-entry)e Fg(pathname)35
b Ff(\\n)630 810 y Fh(The)26 b(\014le)g(needs)g(its)g(en)m(try)g(remo)m
(v)m(ed)i(from)d Ff(CVS/Entries)p Fh(,)f(but)i(the)g(\014le)g(itself)h
(is)f(already)630 920 y(gone)33 b(\(this)g(happ)s(ens)d(in)i(resp)s
(onse)g(to)h(a)f Ff(ci)g Fh(request)g(whic)m(h)h(in)m(v)m(olv)m(es)h
(committing)g(the)630 1029 y(remo)m(v)-5 b(al)32 b(of)e(a)h(\014le\).)
150 1212 y Ff(Set-static-directory)25 b Fg(pathname)35
b Ff(\\n)630 1322 y Fh(This)c(instructs)g(the)h(clien)m(t)h(to)f(set)g
(the)g Ff(Entries.Static)c Fh(\015ag,)k(whic)m(h)g(it)g(should)e(then)
630 1431 y(send)c(bac)m(k)i(to)g(the)f(serv)m(er)h(in)f(a)g
Ff(Static-directory)c Fh(request)k(whenev)m(er)g(the)g(directory)630
1541 y(is)j(op)s(erated)h(on.)41 b Fg(pathname)35 b Fh(ends)30
b(in)g(a)h(slash;)g(its)f(purp)s(ose)f(is)i(to)g(sp)s(ecify)f(a)h
(directory)-8 b(,)630 1650 y(not)31 b(a)f(\014le)h(within)f(a)g
(directory)-8 b(.)150 1833 y Ff(Clear-static-directory)24
b Fg(pathname)36 b Ff(\\n)630 1943 y Fh(Lik)m(e)31 b
Ff(Set-static-directory)p Fh(,)25 b(but)30 b(clear,)i(not)e(set,)h(the)
g(\015ag.)150 2125 y Ff(Set-sticky)d Fg(pathname)35 b
Ff(\\n)630 2235 y Fh(Additional)e(data:)45 b Fg(tagsp)s(ec)39
b Ff(\\)p Fh(n.)46 b(T)-8 b(ell)33 b(the)g(clien)m(t)h(to)f(set)g(a)g
(stic)m(ky)g(tag)h(or)e(date,)i(whic)m(h)630 2345 y(should)h(b)s(e)h
(supplied)f(with)h(the)g Ff(Sticky)f Fh(request)h(for)g(future)f(op)s
(erations.)59 b Fg(pathname)630 2454 y Fh(ends)24 b(in)g(a)i(slash;)g
(its)f(purp)s(ose)f(is)g(to)i(sp)s(ecify)e(a)h(directory)-8
b(,)27 b(not)e(a)h(\014le)e(within)h(a)g(directory)-8
b(.)630 2564 y(The)27 b(clien)m(t)h(should)f(store)g
Fg(tagsp)s(ec)34 b Fh(and)27 b(pass)f(it)i(bac)m(k)g(to)g(the)f(serv)m
(er)h(as-is,)h(to)e(allo)m(w)i(for)630 2673 y(future)i(expansion.)46
b(The)31 b(\014rst)g(c)m(haracter)j(of)e Fg(tagsp)s(ec)38
b Fh(is)33 b(`)p Ff(T)p Fh(')f(for)f(a)i(tag,)h(`)p Ff(D)p
Fh(')e(for)g(a)g(date,)630 2783 y(or)e(something)h(else)g(for)f(future)
g(expansion.)40 b(The)30 b(remainder)g(of)g Fg(tagsp)s(ec)37
b Fh(con)m(tains)32 b(the)630 2892 y(actual)g(tag)f(or)g(date.)150
3075 y Ff(Clear-sticky)c Fg(pathname)35 b Ff(\\n)630
3185 y Fh(Clear)c(an)m(y)f(stic)m(ky)i(tag)g(or)e(date)h(set)g(b)m(y)f
Ff(Set-sticky)p Fh(.)150 3367 y Ff(Template)e Fg(pathname)35
b Ff(\\n)630 3477 y Fh(Additional)d(data:)42 b(\014le)31
b(transmission)g(\(note:)42 b(compressed)31 b(\014le)g(transmissions)f
(are)i(not)630 3587 y(supp)s(orted\).)67 b Fg(pathname)44
b Fh(ends)39 b(in)g(a)h(slash;)k(its)c(purp)s(ose)e(is)h(to)i(sp)s
(ecify)e(a)h(directory)-8 b(,)630 3696 y(not)29 b(a)h(\014le)f(within)f
(a)h(directory)-8 b(.)42 b(T)-8 b(ell)30 b(the)f(clien)m(t)h(to)g
(store)g(the)f(\014le)g(transmission)g(as)g(the)630 3806
y(template)c(log)f(message,)j(and)c(then)g(use)g(that)h(template)h(in)e
(the)h(future)e(when)h(prompting)630 3915 y(the)31 b(user)e(for)h(a)h
(log)h(message.)150 4098 y Ff(Set-checkin-prog)26 b Fg(dir)36
b Ff(\\n)630 4208 y Fh(Additional)23 b(data:)38 b Fg(prog)30
b Ff(\\)p Fh(n.)37 b(T)-8 b(ell)24 b(the)e(clien)m(t)i(to)g(set)f(a)g
(c)m(hec)m(kin)h(program,)g(whic)m(h)e(should)630 4317
y(b)s(e)30 b(supplied)f(with)h(the)g Ff(Checkin-prog)d
Fh(request)k(for)f(future)g(op)s(erations.)150 4500 y
Ff(Set-update-prog)c Fg(dir)36 b Ff(\\n)630 4609 y Fh(Additional)42
b(data:)62 b Fg(prog)49 b Ff(\\)p Fh(n.)72 b(T)-8 b(ell)42
b(the)f(clien)m(t)h(to)g(set)g(an)e(up)s(date)h(program,)i(whic)m(h)630
4719 y(should)29 b(b)s(e)h(supplied)f(with)h(the)h Ff(Update-prog)c
Fh(request)k(for)f(future)f(op)s(erations.)150 4902 y
Ff(Notified)f Fg(pathname)35 b Ff(\\n)630 5011 y Fh(Indicate)30
b(to)h(the)f(clien)m(t)h(that)f(the)g(noti\014cation)h(for)f
Fg(pathname)35 b Fh(has)29 b(b)s(een)g(done.)40 b(There)630
5121 y(should)20 b(b)s(e)g(one)h(suc)m(h)f(resp)s(onse)g(for)h(ev)m
(ery)g Ff(Notify)e Fh(request;)25 b(if)20 b(there)h(are)h(sev)m(eral)g
Ff(Notify)630 5230 y Fh(requests)39 b(for)f(a)i(single)f(\014le,)i(the)
e(requests)g(should)f(b)s(e)g(pro)s(cessed)g(in)h(order;)k(the)c
(\014rst)630 5340 y Ff(Notified)28 b Fh(resp)s(onse)i(p)s(ertains)f(to)
i(the)g(\014rst)f Ff(Notify)e Fh(request,)j(etc.)p eop
end
%%Page: 27 27
TeXDict begin 27 26 bop 150 299 a Ff(Module-expansion)26
b Fg(pathname)35 b Ff(\\n)630 408 y Fh(Return)c(a)i(\014le)f(or)g
(directory)g(whic)m(h)g(is)g(included)g(in)f(a)i(particular)f(mo)s
(dule.)45 b Fg(pathname)630 518 y Fh(is)36 b(relativ)m(e)i(to)e(cvsro)s
(ot,)j(unlik)m(e)d(most)g(pathnames)f(in)h(resp)s(onses.)56
b Fg(pathname)41 b Fh(should)630 628 y(b)s(e)31 b(used)f(to)i(lo)s(ok)g
(and)e(see)i(whether)f(some)g(or)h(all)g(of)f(the)g(mo)s(dule)g(exists)
h(on)f(the)g(clien)m(t)630 737 y(side;)38 b(it)e(is)g(not)g
(necessarily)g(suitable)g(for)f(passing)h(as)f(an)h(argumen)m(t)g(to)g
(a)g Ff(co)f Fh(request)630 847 y(\(for)25 b(example,)i(if)e(the)g(mo)s
(dules)f(\014le)g(con)m(tains)i(the)f(`)p Ff(-d)p Fh(')g(option,)i(it)e
(will)g(b)s(e)f(the)h(directory)630 956 y(sp)s(eci\014ed)30
b(with)g(`)p Ff(-d)p Fh(',)g(not)h(the)f(name)h(of)f(the)h(mo)s
(dule\).)150 1117 y Ff(Wrapper-rcsOption)26 b Fg(pattern)k
Ff(-k)g(')p Fg(option)p Ff(')g(\\n)630 1226 y Fh(T)-8
b(ransmit)33 b(to)h(the)f(clien)m(t)i(a)e(\014lename)g(pattern)g(whic)m
(h)g(implies)g(a)h(certain)g(k)m(eyw)m(ord)f(ex-)630
1336 y(pansion)h(mo)s(de.)54 b(The)35 b Fg(pattern)g
Fh(is)f(a)i(wildcard)e(pattern)h(\(for)g(example,)i(`)p
Ff(*.exe)p Fh('.)53 b(The)630 1445 y Fg(option)34 b Fh(is)f(`)p
Ff(b)p Fh(')g(for)g(binary)-8 b(,)34 b(and)e(so)h(on.)49
b(Note)35 b(that)e(although)h(the)f(syn)m(tax)h(happ)s(ens)d(to)630
1555 y(resem)m(ble)i(the)g(syn)m(tax)h(in)e(certain)i(CVS)e
(con\014guration)i(\014les,)f(it)h(is)e(more)h(constrained;)630
1665 y(there)44 b(m)m(ust)g(b)s(e)f(exactly)j(one)e(space)g(b)s(et)m(w)
m(een)h Fg(pattern)f Fh(and)f(`)p Ff(-k)p Fh(')h(and)f(exactly)j(one)
630 1774 y(space)34 b(b)s(et)m(w)m(een)g(`)p Ff(-k)p
Fh(')g(and)f(`)p Ff(')p Fh(',)i(and)e(no)g(string)h(is)f(p)s(ermitted)h
(in)f(place)h(of)g(`)p Ff(-k)p Fh(')g(\(exten-)630 1884
y(sions)24 b(should)f(b)s(e)h(done)g(with)f(new)h(resp)s(onses,)h(not)f
(b)m(y)g(extending)g(this)g(one,)i(for)e(graceful)630
1993 y(handling)30 b(of)g Ff(Valid-responses)p Fh(\).)150
2153 y Ff(M)g Fg(text)j Ff(\\n)115 b Fh(A)34 b(one-line)h(message)g
(for)e(the)h(user.)50 b(Note)35 b(that)g(the)f(format)g(of)g
Fg(text)i Fh(is)e(not)g(designed)630 2263 y(for)40 b(mac)m(hine)g
(parsing.)69 b(Although)40 b(sometimes)h(scripts)e(and)h(clien)m(ts)h
(will)f(ha)m(v)m(e)h(little)630 2373 y(c)m(hoice,)h(the)d(exact)h(text)
f(whic)m(h)f(is)g(output)g(is)g(sub)5 b(ject)38 b(to)h(v)-5
b(ary)39 b(at)g(the)f(discretion)h(of)630 2482 y(the)27
b(serv)m(er)g(and)f(the)h(example)g(output)g(giv)m(en)g(in)g(this)f(do)
s(cumen)m(t)h(is)g(just)f(that,)i(example)630 2592 y(output.)40
b(Serv)m(ers)29 b(are)h(encouraged)f(to)h(use)f(the)h(`)p
Ff(MT)p Fh(')f(resp)s(onse,)f(and)h(future)f(v)m(ersions)i(of)630
2701 y(this)d(do)s(cumen)m(t)g(will)g(hop)s(efully)f(standardize)i
(more)f(of)g(the)g(`)p Ff(MT)p Fh(')g(tags;)j(see)e(Section)f(5.12)630
2811 y([T)-8 b(ext)31 b(tags],)h(page)f(29.)150 2971
y Ff(Mbinary)d(\\n)630 3081 y Fh(Additional)k(data:)42
b(\014le)31 b(transmission)g(\(note:)42 b(compressed)31
b(\014le)g(transmissions)f(are)i(not)630 3190 y(supp)s(orted\).)70
b(This)40 b(is)h(lik)m(e)g(`)p Ff(M)p Fh(',)j(except)e(the)f(con)m(ten)
m(ts)h(of)f(the)g(\014le)f(transmission)h(are)630 3300
y(binary)c(and)g(should)g(b)s(e)g(copied)h(to)g(standard)f(output)g
(without)h(translation)g(to)h(lo)s(cal)630 3410 y(text)29
b(\014le)f(con)m(v)m(en)m(tions.)42 b(T)-8 b(o)28 b(transmit)g(a)g
(text)h(\014le)f(to)h(standard)e(output,)h(serv)m(ers)g(should)630
3519 y(use)i(a)h(series)g(of)f(`)p Ff(M)p Fh(')h(requests.)150
3679 y Ff(E)f Fg(text)j Ff(\\n)115 b Fh(Same)30 b(as)h
Ff(M)f Fh(but)g(send)f(to)i(stderr)f(not)h(stdout.)150
3839 y Ff(F)f(\\n)306 b Fh(Flush)24 b(stderr.)38 b(That)24
b(is,)i(mak)m(e)g(it)f(p)s(ossible)f(for)g(the)h(user)e(to)j(see)f
(what)f(has)g(b)s(een)g(written)630 3949 y(to)30 b(stderr)e(\(it)i(is)f
(up)f(to)h(the)h(implemen)m(tation)g(to)g(decide)f(exactly)i(ho)m(w)e
(far)g(it)g(should)f(go)630 4059 y(to)j(ensure)f(this\).)150
4219 y Ff(MT)g Fg(tagname)37 b(data)31 b Ff(\\n)630 4328
y Fh(This)d(resp)s(onse)h(pro)m(vides)g(for)g(tagged)i(text.)41
b(It)29 b(is)g(similar)h(to)g(SGML/HTML/XML)g(in)630
4438 y(that)d(the)g(data)g(is)g(structured)f(and)g(a)h(naiv)m(e)g
(application)h(can)f(also)h(mak)m(e)f(some)g(sense)g(of)630
4548 y(it)f(without)f(understanding)f(the)h(structure.)39
b(The)25 b(syn)m(tax)g(is)h(not)f(SGML-lik)m(e,)j(ho)m(w)m(ev)m(er,)630
4657 y(in)h(order)f(to)i(\014t)e(in)m(to)i(the)f(CVS)g(proto)s(col)g(b)
s(etter)g(and)g(\(more)g(imp)s(ortan)m(tly\))h(to)f(mak)m(e)h(it)630
4767 y(easier)h(to)g(parse,)g(esp)s(ecially)g(in)f(a)h(language)h(lik)m
(e)g(p)s(erl)d(or)i(a)m(wk.)630 4902 y(The)36 b Fg(tagname)43
b Fh(can)37 b(ha)m(v)m(e)h(sev)m(eral)g(forms.)59 b(If)36
b(it)h(starts)g(with)g(`)p Ff(a)p Fh(')g(to)g(`)p Ff(z)p
Fh(')g(or)f(`)p Ff(A)p Fh(')h(to)h(`)p Ff(Z)p Fh(',)630
5011 y(then)28 b(it)g(represen)m(ts)g(tagged)i(text.)41
b(If)27 b(the)i(implemen)m(tation)g(recognizes)h Fg(tagname)p
Fh(,)g(then)630 5121 y(it)37 b(ma)m(y)g(in)m(terpret)f
Fg(data)h Fh(in)f(some)h(particular)g(fashion.)58 b(If)36
b(the)g(implemen)m(tation)i(do)s(es)630 5230 y(not)24
b(recognize)h Fg(tagname)p Fh(,)i(then)c(it)h(should)f(simply)g(treat)i
Fg(data)f Fh(as)g(text)h(to)f(b)s(e)f(sen)m(t)h(to)h(the)630
5340 y(user)h(\(similar)g(to)h(an)f(`)p Ff(M)p Fh(')h(resp)s(onse\).)39
b(There)25 b(are)i(t)m(w)m(o)g(tags)h(whic)m(h)e(are)g(general)h(purp)s
(ose.)p eop end
%%Page: 28 28
TeXDict begin 28 27 bop 630 299 a Fh(The)30 b(`)p Ff(text)p
Fh(')g(tag)i(is)e(similar)h(to)h(an)e(unrecognized)h(tag)h(in)e(that)h
(it)g(pro)m(vides)g(text)g(whic)m(h)630 408 y(will)e(ordinarily)f(b)s
(e)f(sen)m(t)i(to)g(the)g(user.)39 b(The)28 b(`)p Ff(newline)p
Fh(')f(tag)i(is)g(used)e(without)i Fg(data)g Fh(and)630
518 y(indicates)d(that)h(a)e(newline)h(will)g(ordinarily)f(b)s(e)g(sen)
m(t)h(to)g(the)g(user)f(\(there)h(is)f(no)h(pro)m(vision)630
628 y(for)k(em)m(b)s(edding)g(newlines)g(in)g(the)h Fg(data)g
Fh(of)f(other)h(tagged)h(text)f(resp)s(onses\).)630 762
y(If)39 b Fg(tagname)46 b Fh(starts)40 b(with)f(`)p Ff(+)p
Fh(')g(it)h(indicates)g(a)g(start)g(tag)h(and)e(if)g(it)h(starts)g
(with)f(`)p Ff(-)p Fh(')g(it)630 871 y(indicates)27 b(an)f(end)f(tag.)
41 b(The)25 b(remainder)g(of)i Fg(tagname)32 b Fh(should)25
b(b)s(e)g(the)i(same)f(for)g(matc)m(h-)630 981 y(ing)31
b(start)g(and)e(end)h(tags,)i(and)e(tags)h(should)f(b)s(e)f(nested)i
(\(for)f(example)i(one)e(could)h(ha)m(v)m(e)630 1090
y(tags)f(in)g(the)f(follo)m(wing)i(order)e Ff(+bold)f(+italic)f(text)i
(-italic)e(-bold)h Fh(but)h(not)g Ff(+bold)630 1200 y(+italic)j(text)h
(-bold)f(-italic)p Fh(\).)50 b(A)34 b(particular)g(start)g(and)f(end)h
(tag)h(ma)m(y)f(b)s(e)f(do)s(cu-)630 1310 y(men)m(ted)e(to)g(constrain)
g(the)f(tagged)i(text)f(resp)s(onses)f(whic)m(h)g(are)h(v)-5
b(alid)30 b(b)s(et)m(w)m(een)h(them.)630 1444 y(Note)43
b(that)f(if)f Fg(data)h Fh(is)f(presen)m(t)h(there)f(will)h(alw)m(a)m
(ys)h(b)s(e)e(exactly)i(one)e(space)h(b)s(et)m(w)m(een)630
1553 y Fg(tagname)35 b Fh(and)27 b Fg(data)p Fh(;)j(if)e(there)h(is)f
(more)g(than)g(one)h(space,)g(then)f(the)h(spaces)f(b)s(ey)m(ond)g(the)
630 1663 y(\014rst)i(are)g(part)h(of)f Fg(data)p Fh(.)630
1797 y(Here)f(is)f(an)h(example)g(of)g(some)f(tagged)j(text)e(resp)s
(onses.)39 b(Note)30 b(that)f(there)g(is)f(a)h(trailing)630
1906 y(space)i(after)g(`)p Ff(Checking)d(in)p Fh(')j(and)f(`)p
Ff(initial)e(revision:)p Fh(')g(and)i(there)h(are)g(t)m(w)m(o)h
(trailing)630 2016 y(spaces)f(after)g(`)p Ff(<--)p Fh('.)40
b(Suc)m(h)30 b(trailing)h(spaces)g(are,)g(of)g(course,)f(part)h(of)f
Fg(data)p Fh(.)870 2144 y Ff(MT)47 b(+checking-in)870
2248 y(MT)g(text)g(Checking)e(in)870 2352 y(MT)i(fname)g(gz.tst)870
2456 y(MT)g(text)g(;)870 2559 y(MT)g(newline)870 2663
y(MT)g(rcsfile)f(/home/kingdon/zwork/cvsr)o(oot/)o(foo/)o(gz.)o(tst,)o
(v)870 2767 y(MT)h(text)142 b(<--)870 2871 y(MT)47 b(fname)g(gz.tst)870
2974 y(MT)g(newline)870 3078 y(MT)g(text)g(initial)f(revision:)870
3182 y(MT)h(init-rev)f(1.1)870 3286 y(MT)h(newline)870
3390 y(MT)g(text)g(done)870 3493 y(MT)g(newline)870 3597
y(MT)g(-checking-in)630 3731 y Fh(If)34 b(the)h(clien)m(t)h(do)s(es)f
(not)g(supp)s(ort)e(the)i(`)p Ff(MT)p Fh(')f(resp)s(onse,)h(the)g(same)
g(resp)s(onses)f(migh)m(t)i(b)s(e)630 3841 y(sen)m(t)31
b(as:)870 3969 y Ff(M)47 b(Checking)f(in)h(gz.tst;)870
4073 y(M)g(/home/kingdon/zwork/cvsroo)o(t/fo)o(o/g)o(z.ts)o(t,v)89
b(<--)95 b(gz.tst)870 4177 y(M)47 b(initial)f(revision:)g(1.1)870
4280 y(M)h(done)630 4414 y Fh(F)-8 b(or)31 b(a)g(list)g(of)f(sp)s
(eci\014c)h(tags,)g(see)g(Section)g(5.12)h([T)-8 b(ext)32
b(tags],)g(page)f(29.)150 4573 y Ff(error)e Fg(errno-co)s(de)36
b Ff(`)47 b(')30 b Fg(text)j Ff(\\n)630 4682 y Fh(The)k(command)h
(completed)g(with)f(an)h(error.)62 b Fg(errno-co)s(de)43
b Fh(is)37 b(a)h(sym)m(b)s(olic)g(error)g(co)s(de)630
4792 y(\(e.g.)h Ff(ENOENT)p Fh(\);)24 b(if)d(the)h(serv)m(er)g(do)s
(esn't)g(supp)s(ort)e(this)h(feature,)j(or)e(if)g(it's)g(not)g
(appropriate)630 4902 y(for)30 b(this)h(particular)f(message,)i(it)f
(just)f(omits)h(the)g(errno-co)s(de)g(\(in)f(that)h(case)h(there)f(are)
630 5011 y(t)m(w)m(o)37 b(spaces)f(after)g(`)p Ff(error)p
Fh('\).)56 b(T)-8 b(ext)36 b(is)g(an)g(error)f(message)h(suc)m(h)g(as)g
(that)g(pro)m(vided)f(b)m(y)630 5121 y(strerror\(\),)c(or)f(an)m(y)h
(other)g(message)g(the)g(serv)m(er)g(w)m(an)m(ts)g(to)g(use.)41
b(The)30 b Fg(text)j Fh(is)e(lik)m(e)h(the)e Ff(M)630
5230 y Fh(resp)s(onse,)c(in)g(the)h(sense)f(that)h(it)g(is)f(not)h
(particularly)g(in)m(tended)f(to)h(b)s(e)e(mac)m(hine-parsed;)630
5340 y(serv)m(ers)34 b(ma)m(y)h(wish)e(to)i(prin)m(t)e(an)h(error)g
(message)h(with)f Ff(MT)f Fh(resp)s(onses,)h(and)f(then)h(issue)p
eop end
%%Page: 29 29
TeXDict begin 29 28 bop 630 299 a Fh(a)33 b Ff(error)e
Fh(resp)s(onse)h(without)g Fg(text)k Fh(\(although)d(it)g(should)f(b)s
(e)g(noted)h(that)g Ff(MT)f Fh(curren)m(tly)630 408 y(has)e(no)f(w)m(a)
m(y)i(of)f(\015agging)h(the)f(output)g(as)g(in)m(tended)g(for)f
(standard)h(error,)f(the)h(w)m(a)m(y)h(that)630 518 y(the)g
Ff(E)f Fh(resp)s(onse)f(do)s(es\).)150 680 y Ff(ok)h(\\n)258
b Fh(The)30 b(command)g(completed)h(successfully)-8 b(.)150
942 y Fc(5.12)68 b(T)-11 b(ags)45 b(for)g(the)h(MT)d(tagged)k(text)e
(resp)t(onse)275 1137 y Fh(The)30 b Ff(MT)g Fh(resp)s(onse,)g(as)h
(describ)s(ed)e(in)i(Section)g(5.11)i([Resp)s(onses],)d(page)i(23,)g
(o\013ers)f(a)g(w)m(a)m(y)g(for)g(the)150 1247 y(serv)m(er)g(to)g(send)
f(tagged)i(text)g(to)f(the)g(clien)m(t.)43 b(This)30
b(section)i(describ)s(es)d(sp)s(eci\014c)i(tags.)42 b(The)30
b(in)m(ten)m(tion)150 1356 y(is)g(to)i(up)s(date)d(this)h(section)i(as)
f(serv)m(ers)f(add)g(new)g(tags.)275 1493 y(In)37 b(the)h(follo)m(wing)
i(descriptions,)h Ff(text)c Fh(and)g Ff(newline)f Fh(tags)k(are)e
(omitted.)66 b(Suc)m(h)37 b(tags)j(con)m(tain)150 1602
y(information)33 b(whic)m(h)f(is)h(in)m(tended)f(for)g(users)g(\(or)h
(to)g(b)s(e)f(discarded\),)h(and)f(are)h(sub)5 b(ject)32
b(to)i(c)m(hange)f(at)150 1712 y(the)28 b(whim)e(of)i(the)f(serv)m(er.)
40 b(T)-8 b(o)28 b(a)m(v)m(oid)h(b)s(eing)e(vulnerable)h(to)g(suc)m(h)f
(whim,)g(clien)m(ts)i(should)d(lo)s(ok)j(for)e(the)150
1822 y(tags)k(listed)g(here,)g(not)f Ff(text)p Fh(,)g
Ff(newline)p Fh(,)f(or)h(other)h(tags.)275 1958 y(The)d(follo)m(wing)j
(tag)f(means)f(to)h(indicate)g(to)g(the)g(user)e(that)i(a)g(\014le)f
(has)g(b)s(een)f(up)s(dated.)39 b(It)30 b(is)f(more)150
2068 y(or)k(less)h(redundan)m(t)d(with)i(the)h Ff(Created)d
Fh(and)h Ff(Update-existing)d Fh(resp)s(onses,)k(but)g(w)m(e)g(don't)g
(try)g(to)150 2177 y(sp)s(ecify)e(here)g(whether)f(it)i(o)s(ccurs)e(in)
h(exactly)i(the)e(same)g(circumstances)h(as)f Ff(Created)e
Fh(and)i Ff(Update-)150 2287 y(existing)p Fh(.)38 b(The)29
b Fg(name)34 b Fh(is)c(the)f(pathname)g(of)h(the)f(\014le)h(b)s(eing)f
(up)s(dated)f(relativ)m(e)j(to)f(the)f(directory)h(in)150
2397 y(whic)m(h)j(the)g(command)g(is)g(o)s(ccurring)f(\(that)i(is,)g
(the)g(last)f Ff(Directory)e Fh(request)i(whic)m(h)g(is)g(sen)m(t)g(b)s
(efore)150 2506 y(the)e(command\).)390 2637 y Ff(MT)47
b(+updated)390 2741 y(MT)g(fname)g Fg(name)390 2845 y
Ff(MT)g(-updated)275 2981 y Fh(The)30 b Ff(importmergecmd)d
Fh(tag)32 b(is)f(used)g(when)f(doing)h(an)g(imp)s(ort)f(whic)m(h)h(has)
g(con\015icts.)43 b(The)30 b(clien)m(t)150 3091 y(can)e(use)f(it)i(to)f
(rep)s(ort)f(ho)m(w)h(to)g(merge)h(in)e(the)h(newly)f(imp)s(orted)g(c)m
(hanges.)41 b(The)27 b Fg(coun)m(t)k Fh(is)c(the)h(n)m(um)m(b)s(er)150
3200 y(of)23 b(con\015icts.)39 b(The)23 b(newly)f(imp)s(orted)h(c)m
(hanges)h(can)f(b)s(e)f(merged)h(b)m(y)g(running)e(the)i(follo)m(wing)i
(command:)390 3331 y Ff(cvs)47 b(checkout)e(-j)j Fg(tag1)56
b Ff(-j)47 b Fg(tag2)57 b(rep)s(ository)390 3462 y Ff(MT)47
b(+importmergecmd)390 3566 y(MT)g(conflicts)e Fg(coun)m(t)390
3669 y Ff(MT)i(mergetag1)e Fg(tag1)390 3773 y Ff(MT)i(mergetag2)e
Fg(tag2)390 3877 y Ff(MT)i(repository)e Fg(rep)s(ository)390
3981 y Ff(MT)i(-importmergecmd)150 4244 y Fc(5.13)68
b(Example)275 4438 y Fh(Here)31 b(is)f(an)h(example;)g(lines)g(are)g
(pre\014xed)f(b)m(y)g(`)p Ff(C:)g Fh(')h(to)g(indicate)h(the)f(clien)m
(t)h(sends)e(them)g(or)h(`)p Ff(S:)f Fh(')150 4548 y(to)h(indicate)h
(the)e(serv)m(er)h(sends)e(them.)275 4684 y(The)h(clien)m(t)i(starts)g
(b)m(y)e(connecting,)j(sending)d(the)h(ro)s(ot,)h(and)e(completing)i
(the)f(proto)s(col)h(negotia-)150 4794 y(tion.)41 b(In)30
b(actual)i(practice)f(the)g(lists)g(of)f(v)-5 b(alid)31
b(resp)s(onses)e(and)h(requests)g(w)m(ould)g(b)s(e)g(longer.)390
4925 y Ff(C:)47 b(Root)g(/u/cvsroot)390 5029 y(C:)g(Valid-responses)d
(ok)j(error)f(Checked-in)f(M)j(E)390 5132 y(C:)f(valid-requests)390
5236 y(S:)g(Valid-requests)d(Root)j(Directory)e(Entry)h(Modified)g
(Argument)f(Argumentx)h(ci)h(co)390 5340 y(S:)g(ok)p
eop end
%%Page: 30 30
TeXDict begin 30 29 bop 390 299 a Ff(C:)47 b(UseUnchanged)275
433 y Fh(The)32 b(clien)m(t)j(w)m(an)m(ts)f(to)g(c)m(hec)m(k)h(out)e
(the)h Ff(supermunger)c Fh(mo)s(dule)i(in)m(to)i(a)g(fresh)e(w)m
(orking)i(directory)-8 b(.)150 543 y(Therefore)26 b(it)h(\014rst)f
(expands)g(the)h Ff(supermunger)c Fh(mo)s(dule;)28 b(this)e(step)h(w)m
(ould)f(b)s(e)g(omitted)i(if)f(the)f(clien)m(t)150 652
y(w)m(as)31 b(op)s(erating)g(on)f(a)h(directory)f(rather)h(than)f(a)h
(mo)s(dule.)390 781 y Ff(C:)47 b(Argument)f(supermunger)390
885 y(C:)h(Directory)e(.)390 988 y(C:)i(/u/cvsroot)390
1092 y(C:)g(expand-modules)275 1227 y Fh(The)28 b(serv)m(er)h(replies)f
(that)i(the)e Ff(supermunger)e Fh(mo)s(dule)i(expands)g(to)h(the)g
(directory)g Ff(supermunger)150 1336 y Fh(\(the)i(simplest)f(case\):)
390 1465 y Ff(S:)47 b(Module-expansion)d(supermunger)390
1569 y(S:)j(ok)275 1703 y Fh(The)28 b(clien)m(t)j(then)e(pro)s(ceeds)f
(to)i(c)m(hec)m(k)h(out)e(the)g(directory)-8 b(.)42 b(The)28
b(fact)i(that)g(it)f(sends)g(only)g(a)g(single)150 1812
y Ff(Directory)38 b Fh(request)i(whic)m(h)f(sp)s(eci\014es)h(`)p
Ff(.)p Fh(')g(for)g(the)h(w)m(orking)f(directory)h(means)f(that)g
(there)h(is)f(not)150 1922 y(already)31 b(a)g Ff(supermunger)c
Fh(directory)k(on)f(the)h(clien)m(t.)390 2051 y Ff(C:)47
b(Argument)f(-N)390 2154 y(C:)h(Argument)f(supermunger)390
2258 y(C:)h(Directory)e(.)390 2362 y(C:)i(/u/cvsroot)390
2466 y(C:)g(co)275 2600 y Fh(The)e(serv)m(er)h(replies)g(with)f(the)h
(requested)g(\014les.)86 b(In)45 b(this)h(example,)k(there)c(is)g(only)
g(one)g(\014le,)150 2710 y(`)p Ff(mungeall.c)p Fh('.)c(The)31
b Ff(Clear-sticky)d Fh(and)j Ff(Clear-static-directory)26
b Fh(requests)31 b(are)h(sen)m(t)g(b)m(y)g(the)150 2819
y(curren)m(t)f(implemen)m(tation)h(but)e(they)h(ha)m(v)m(e)h(no)f
(e\013ect)h(b)s(ecause)f(the)g(default)g(is)g(for)f(those)h(settings)h
(to)150 2929 y(b)s(e)e(clear)h(when)f(a)g(directory)h(is)g(newly)f
(created.)390 3057 y Ff(S:)47 b(Clear-sticky)e(supermunger/)390
3161 y(S:)i(/u/cvsroot/supermunger/)390 3265 y(S:)g
(Clear-static-directory)42 b(supermunger/)390 3369 y(S:)47
b(/u/cvsroot/supermunger/)390 3472 y(S:)g(E)h(cvs)f(server:)e(Updating)
h(supermunger)390 3576 y(S:)h(M)h(U)f(supermunger/mungeall.c)390
3680 y(S:)g(Created)f(supermunger/)390 3784 y(S:)h
(/u/cvsroot/supermunger/mu)o(ngea)o(ll.)o(c)390 3888
y(S:)g(/mungeall.c/1.1///)390 3991 y(S:)g(u=rw,g=r,o=r)390
4095 y(S:)g(26)390 4199 y(S:)g(int)g(mein)g(\(\))g({)g(abort)g(\(\);)g
(})390 4303 y(S:)g(ok)275 4437 y Fh(The)38 b(curren)m(t)i(clien)m(t)h
(implemen)m(tation)g(w)m(ould)e(break)g(the)h(connection)g(here)f(and)g
(mak)m(e)i(a)e(new)150 4547 y(connection)34 b(for)e(the)g(next)h
(command.)46 b(Ho)m(w)m(ev)m(er,)35 b(the)e(proto)s(col)g(allo)m(ws)h
(it)f(to)g(k)m(eep)g(the)g(connection)150 4656 y(op)s(en)d(and)f(con)m
(tin)m(ue,)j(whic)m(h)e(is)h(what)f(w)m(e)h(sho)m(w)f(here.)275
4791 y(After)k(the)h(user)f(mo)s(di\014es)f(the)i(\014le)g(and)e
(instructs)i(the)f(clien)m(t)i(to)f(c)m(hec)m(k)h(it)f(bac)m(k)h(in.)52
b(The)34 b(clien)m(t)150 4900 y(sends)29 b(argumen)m(ts)i(to)g(sp)s
(ecify)f(the)h(log)g(message)h(and)e(\014le)g(to)h(c)m(hec)m(k)h(in:)
390 5029 y Ff(C:)47 b(Argument)f(-m)390 5132 y(C:)h(Argument)f(Well,)g
(you)h(see,)g(it)g(took)f(me)i(hours)e(and)h(hours)f(to)h(find)390
5236 y(C:)g(Argumentx)e(this)i(typo)g(and)g(I)g(searched)f(and)h
(searched)e(and)i(eventually)390 5340 y(C:)g(Argumentx)e(had)i(to)h
(ask)e(John)h(for)g(help.)p eop end
%%Page: 31 31
TeXDict begin 31 30 bop 390 299 a Ff(C:)47 b(Argument)f(mungeall.c)275
431 y Fh(It)d(also)h(sends)e(information)h(ab)s(out)g(the)g(con)m(ten)m
(ts)h(of)f(the)h(w)m(orking)f(directory)-8 b(,)47 b(including)c(the)150
541 y(new)33 b(con)m(ten)m(ts)i(of)e(the)g(mo)s(di\014ed)f(\014le.)50
b(Note)34 b(that)g(the)g(user)e(has)h(c)m(hanged)h(in)m(to)g(the)g(`)p
Ff(supermunger)p Fh(')150 650 y(directory)i(b)s(efore)f(executing)h
(this)f(command;)j(the)d(top)h(lev)m(el)h(directory)f(is)f(a)h
(user-visible)f(concept)150 760 y(b)s(ecause)30 b(the)h(serv)m(er)g
(should)e(prin)m(t)h(\014lenames)g(in)g Ff(M)g Fh(and)g
Ff(E)g Fh(resp)s(onses)g(relativ)m(e)i(to)f(that)g(directory)-8
b(.)390 886 y Ff(C:)47 b(Directory)e(.)390 990 y(C:)i
(/u/cvsroot/supermunger)390 1094 y(C:)g(Entry)g(/mungeall.c/1.1///)390
1198 y(C:)g(Modified)f(mungeall.c)390 1301 y(C:)h(u=rw,g=r,o=r)390
1405 y(C:)g(26)390 1509 y(C:)g(int)g(main)g(\(\))g({)g(abort)g(\(\);)g
(})275 1641 y Fh(And)36 b(\014nally)-8 b(,)39 b(the)e(clien)m(t)h
(issues)f(the)g(c)m(hec)m(kin)h(command)f(\(whic)m(h)g(mak)m(es)h(use)f
(of)g(the)g(data)h(just)150 1751 y(sen)m(t\):)390 1877
y Ff(C:)47 b(ci)275 2009 y Fh(And)29 b(the)i(serv)m(er)f(tells)i(the)e
(clien)m(t)i(that)f(the)g(c)m(hec)m(kin)g(succeeded:)390
2136 y Ff(S:)47 b(M)h(Checking)d(in)i(mungeall.c;)390
2239 y(S:)g(E)h(/u/cvsroot/supermunger/)o(mung)o(eal)o(l.c,)o(v)90
b(<--)k(mungeall.c)390 2343 y(S:)47 b(E)h(new)f(revision:)e(1.2;)h
(previous)g(revision:)f(1.1)390 2447 y(S:)i(E)h(done)390
2551 y(S:)f(Mode)g(u=rw,g=r,o=r)390 2655 y(S:)g(Checked-in)e(./)390
2758 y(S:)i(/u/cvsroot/supermunger/mu)o(ngea)o(ll.)o(c)390
2862 y(S:)g(/mungeall.c/1.2///)390 2966 y(S:)g(ok)150
3216 y Fc(5.14)68 b(Required)46 b(v)l(ersus)f(optional)h(parts)g(of)f
(the)g(proto)t(col)275 3407 y Fh(The)d(follo)m(wing)j(are)e(part)g(of)h
(ev)m(ery)g(kno)m(wn)e(implemen)m(tation)j(of)f(the)f(CVS)f(proto)s
(col)j(\(except)150 3516 y(obsolete,)36 b(pre-1.5,)g(v)m(ersions)e(of)f
(CVS\))h(and)f(it)h(is)f(considered)h(reasonable)g(b)s(eha)m(vior)g(to)
g(completely)150 3626 y(fail)63 b(to)g(w)m(ork)f(if)g(y)m(ou)g(are)h
(connected)g(with)e(an)h(implemen)m(tation)i(whic)m(h)e(attempts)h(to)g
(not)150 3735 y(supp)s(ort)36 b(them.)65 b(Requests:)56
b Ff(Root)p Fh(,)39 b Ff(Valid-responses)p Fh(,)e Ff(valid-requests)p
Fh(,)f Ff(Directory)p Fh(,)i Ff(Entry)p Fh(,)150 3845
y Ff(Modified)p Fh(,)48 b Ff(Unchanged)p Fh(,)g Ff(Argument)p
Fh(,)g Ff(Argumentx)p Fh(,)g Ff(ci)p Fh(,)h Ff(co)p Fh(,)h
Ff(update)p Fh(.)86 b(Resp)s(onses:)71 b Ff(ok)p Fh(,)50
b Ff(error)p Fh(,)150 3955 y Ff(Valid-requests)p Fh(,)27
b Ff(Checked-in)p Fh(,)h Ff(Updated)p Fh(,)g Ff(Merged)p
Fh(,)h Ff(Removed)p Fh(,)g Ff(M)p Fh(,)h Ff(E)p Fh(.)275
4087 y(A)37 b(serv)m(er)g(need)g(not)g(implemen)m(t)h
Ff(Repository)p Fh(,)e(but)h(in)g(order)f(to)i(in)m(terop)s(erate)h
(with)d(CVS)h(1.5)150 4196 y(through)23 b(1.9)i(it)f(m)m(ust)g(claim)g
(to)h(implemen)m(t)f(it)g(\(in)g Ff(Valid-requests)p
Fh(\).)35 b(The)23 b(clien)m(t)i(will)f(not)g(actually)150
4306 y(send)30 b(the)g(request.)150 4556 y Fc(5.15)68
b(Obsolete)47 b(proto)t(col)e(elemen)l(ts)275 4747 y
Fh(This)27 b(section)i(brie\015y)e(describ)s(es)g(proto)s(col)i(elemen)
m(ts)h(whic)m(h)d(are)i(obsolete.)41 b(There)28 b(is)g(no)g(attempt)150
4856 y(to)j(do)s(cumen)m(t)f(them)h(in)f(full)g(detail.)275
4989 y(There)43 b(w)m(as)g(a)h Ff(Repository)d Fh(request)i(whic)m(h)h
(w)m(as)g(lik)m(e)g Ff(Directory)d Fh(except)k(it)f(only)f(pro)m(vided)
150 5098 y Fg(rep)s(ository)p Fh(,)31 b(and)e(the)i(lo)s(cal)h
(directory)e(w)m(as)h(assumed)f(to)h(b)s(e)f(similarly)h(named.)275
5230 y(If)39 b(the)i Ff(UseUnchanged)c Fh(request)j(w)m(as)h(not)g(sen)
m(t,)i(there)e(w)m(as)f(a)h Ff(Lost)e Fh(request)i(whic)m(h)f(w)m(as)g
(sen)m(t)150 5340 y(to)c(indicate)h(that)f(a)g(\014le)f(did)g(not)h
(exist)g(in)f(the)h(w)m(orking)g(directory)-8 b(,)38
b(and)c(the)i(meaning)g(of)g(sending)p eop end
%%Page: 32 32
TeXDict begin 32 31 bop 150 299 a Ff(Entries)32 b Fh(without)h
Ff(Lost)f Fh(or)i Ff(Modified)d Fh(w)m(as)j(di\013eren)m(t.)51
b(All)34 b(curren)m(t)f(clien)m(ts)i(\(CVS)e(1.5)i(and)e(later\))150
408 y(will)e(send)e Ff(UseUnchanged)e Fh(if)k(it)g(is)f(supp)s(orted.)p
eop end
%%Page: 33 33
TeXDict begin 33 32 bop 150 299 a Fi(6)80 b(Notes)53
b(on)g(the)g(Proto)t(col)275 558 y Fh(A)33 b(n)m(um)m(b)s(er)f(of)i
(enhancemen)m(ts)g(are)g(p)s(ossible.)50 b(Also)34 b(see)g(the)g
(\014le)f Fd(todo)g Fh(in)g(the)h Fd(cvs)e Fh(source)i(dis-)150
668 y(tribution,)29 b(whic)m(h)f(has)h(further)e(ideas)i(concerning)g
(v)-5 b(arious)28 b(asp)s(ects)h(of)g Fd(cvs)p Fh(,)f(some)h(of)g(whic)
m(h)f(impact)150 777 y(the)k(proto)s(col.)47 b(Similarly)-8
b(,)33 b(the)g Ff(http://www.cvshome.org)26 b Fh(site,)33
b(in)f(particular)g(the)h Fg(Dev)m(elopmen)m(t)150 887
y Fh(pages.)225 1030 y Fe(\017)60 b Fh(The)37 b Ff(Modified)f
Fh(request)i(could)g(b)s(e)f(sp)s(eeded)g(up)g(b)m(y)h(sending)f
(di\013s)h(rather)f(than)h(en)m(tire)h(\014les.)330 1140
y(The)e(clien)m(t)h(w)m(ould)f(need)g(some)h(w)m(a)m(y)g(to)g(k)m(eep)g
(the)f(v)m(ersion)h(of)f(the)h(\014le)f(whic)m(h)g(w)m(as)h(originally)
330 1249 y(c)m(hec)m(k)m(ed)c(out;)g(probably)e(requiring)g(the)h(use)f
(of)g Ff(")p Fh(cvs)h(edit)p Ff(")f Fh(in)g(this)h(case)g(is)g(the)f
(most)h(sensible)330 1359 y(course)f(\(the)g Ff(")p Fh(cvs)f(edit)p
Ff(")h Fh(could)f(b)s(e)g(handled)g(b)m(y)g(a)h(pac)m(k)-5
b(age)33 b(lik)m(e)g(V)m(C)f(for)f(emacs\).)45 b(This)31
b(w)m(ould)330 1468 y(also)g(allo)m(w)h(lo)s(cal)g(op)s(eration)f(of)f
Ff(cvs)g(diff)f Fh(without)h(argumen)m(ts.)225 1607 y
Fe(\017)60 b Fh(The)33 b(fact)h(that)g Ff(pserver)d Fh(requires)i(an)g
(extra)h(net)m(w)m(ork)g(turnaround)d(in)i(order)g(to)h(p)s(erform)e
(au-)330 1717 y(then)m(tication)47 b(w)m(ould)d(b)s(e)g(nice)h(to)h(a)m
(v)m(oid.)85 b(This)44 b(relates)i(to)f(the)g(issue)f(of)h(rep)s
(orting)f(errors;)330 1826 y(probably)36 b(the)g(clean)h(solution)g(is)
g(to)g(defer)f(the)g(error)g(un)m(til)h(the)f(clien)m(t)i(has)e(issued)
g(a)h(request)330 1936 y(whic)m(h)29 b(exp)s(ects)h(a)f(resp)s(onse.)40
b(T)-8 b(o)29 b(some)h(exten)m(t)h(this)e(migh)m(t)h(relate)h(to)f(the)
f(next)h(item)g(\(in)f(terms)330 2045 y(of)k(ho)m(w)f(easy)h(it)g(is)g
(to)g(skip)f(a)h(whole)g(bunc)m(h)e(of)i(requests)f(un)m(til)h(w)m(e)g
(get)h(to)f(one)g(that)g(exp)s(ects)g(a)330 2155 y(resp)s(onse\).)40
b(I)30 b(kno)m(w)h(that)f(the)h(k)m(erb)s(eros)f(co)s(de)h(do)s(esn't)f
(w)m(ait)h(in)f(this)g(fashion,)h(but)e(that)i(proba-)330
2265 y(bly)25 b(can)g(cause)h(net)m(w)m(ork)g(deadlo)s(c)m(ks)g(and)f
(p)s(erhaps)e(future)i(problems)f(running)g(o)m(v)m(er)i(a)g(transp)s
(ort)330 2374 y(whic)m(h)f(is)h(more)f(transaction)i(orien)m(ted)f
(than)f(TCP)-8 b(.)25 b(On)g(the)g(other)h(hand)e(I'm)h(not)h(sure)f
(it)g(is)h(wise)330 2484 y(to)39 b(mak)m(e)h(the)e(clien)m(t)i(conduct)
f(a)g(length)m(y)g(upload)f(only)h(to)g(\014nd)e(there)i(is)f(an)h
(authen)m(tication)330 2593 y(failure.)225 2732 y Fe(\017)60
b Fh(The)50 b(proto)s(col)i(uses)e(an)h(extra)h(net)m(w)m(ork)f
(turnaround)e(for)h(proto)s(col)i(negotiation)h(\()p
Ff(valid-)330 2842 y(requests)p Fh(\).)38 b(It)28 b(migh)m(t)h(b)s(e)e
(nice)h(to)h(a)m(v)m(oid)h(this)d(b)m(y)h(ha)m(ving)h(the)f(clien)m(t)h
(b)s(e)f(able)g(to)h(send)e(requests)330 2951 y(and)38
b(tell)i(the)e(serv)m(er)h(to)g(ignore)h(them)e(if)h(they)f(are)h
(unrecognized)g(\(di\013eren)m(t)g(requests)g(could)330
3061 y(pro)s(duce)33 b(a)i(fatal)h(error)e(if)h(unrecognized\).)54
b(T)-8 b(o)35 b(do)g(this)f(there)h(should)f(b)s(e)g(a)h(standard)e
(syn)m(tax)330 3170 y(for)39 b(requests.)69 b(F)-8 b(or)40
b(example,)j(p)s(erhaps)38 b(all)j(future)d(requests)i(should)e(b)s(e)h
(a)h(single)h(line,)h(with)330 3280 y(mec)m(hanisms)31
b(analogous)h(to)g Ff(Argumentx)p Fh(,)d(or)i(sev)m(eral)h(requests)f
(w)m(orking)g(together,)i(to)f(pro)m(vide)330 3390 y(greater)e(amoun)m
(ts)g(of)f(information.)41 b(Or)29 b(there)g(migh)m(t)h(b)s(e)f(a)g
(standard)g(mec)m(hanism)g(for)g(coun)m(ted)330 3499
y(data)40 b(\(analogous)h(to)f(that)g(used)e(b)m(y)h
Ff(Modified)p Fh(\))f(or)h(con)m(tin)m(uation)i(lines)f(\(lik)m(e)h(a)e
(generalized)330 3609 y Ff(Argumentx)p Fh(\).)45 b(It)32
b(w)m(ould)h(b)s(e)f(useful)f(to)i(compare)g(what)g(HTTP)f(is)g
(planning)g(in)g(this)g(area;)j(last)330 3718 y(I)j(lo)s(ok)m(ed)h
(they)f(w)m(ere)g(con)m(templating)i(something)f(called)g(Proto)s(col)g
(Extension)f(Proto)s(col)i(but)330 3828 y(I)d(ha)m(v)m(en't)h(lo)s(ok)m
(ed)f(at)h(the)f(relev)-5 b(an)m(t)38 b(IETF)f(do)s(cumen)m(ts)f(in)h
(an)m(y)g(detail.)61 b(Ob)m(viously)-8 b(,)39 b(w)m(e)e(w)m(an)m(t)330
3938 y(something)31 b(as)f(simple)h(as)f(p)s(ossible)g(\(but)g(no)h
(simpler\).)225 4076 y Fe(\017)60 b Fh(The)20 b(scram)m(bling)i
(algorithm)g(in)e(the)h(CVS)f(clien)m(t)j(and)d(serv)m(er)h(actually)h
(supp)s(ort)d(more)i(c)m(haracters)330 4186 y(than)32
b(those)h(do)s(cumen)m(ted)f(in)g(Chapter)f(4)i([P)m(assw)m(ord)g
(scram)m(bling],)g(page)g(6.)47 b(Someda)m(y)33 b(w)m(e)g(are)330
4295 y(going)42 b(to)f(either)g(ha)m(v)m(e)h(to)f(do)s(cumen)m(t)g
(them)g(all)g(\(but)f(this)h(is)g(not)g(as)f(easy)i(as)f(it)g(ma)m(y)g
(lo)s(ok,)330 4405 y(see)33 b(b)s(elo)m(w\),)h(or)f(\(gradually)g(and)f
(with)g(adequate)i(pro)s(cess\))f(phase)f(out)h(the)f(supp)s(ort)f(for)
i(other)330 4515 y(c)m(haracters)44 b(in)f(the)g(CVS)g(implemen)m
(tation.)80 b(This)42 b(business)g(of)h(ha)m(ving)g(the)g(feature)h
(partly)330 4624 y(undo)s(cumen)m(ted)29 b(isn't)i(a)f(desirable)h
(state)h(long-term.)330 4763 y(The)25 b(problem)g(with)g(do)s(cumen)m
(ting)g(other)g(c)m(haracters)i(is)f(that)f(unless)g(w)m(e)h(kno)m(w)f
(what)g(c)m(haracter)330 4872 y(set)k(is)f(in)g(use,)g(there)h(is)f(no)
g(w)m(a)m(y)h(to)g(mak)m(e)g(a)g(passw)m(ord)e(p)s(ortable)h(from)g
(one)g(system)h(to)f(another.)330 4982 y(F)-8 b(or)25
b(example,)h(a)f(with)f(a)g(circle)i(on)e(top)g(migh)m(t)h(ha)m(v)m(e)g
(di\013eren)m(t)g(enco)s(dings)f(in)g(di\013eren)m(t)g(c)m(haracter)330
5092 y(sets.)330 5230 y(It)f Fb(almost)33 b Fh(w)m(orks)23
b(to)g(sa)m(y)h(that)f(the)g(clien)m(t)h(pic)m(ks)g(an)e(arbitrary)-8
b(,)25 b(unkno)m(wn)c(c)m(haracter)k(set)e(\(indeed,)330
5340 y(ha)m(ving)28 b(the)g(CVS)f(clien)m(t)i(kno)m(w)e(what)h(c)m
(haracter)h(set)f(the)g(user)e(has)i(in)f(mind)f(is)i(a)g(hard)f
(problem)p eop end
%%Page: 34 34
TeXDict begin 34 33 bop 330 299 a Fh(otherwise\),)43
b(and)d(scram)m(bles)g(according)h(to)g(a)f(certain)h(o)s(ctet)p
Ff(<)p Fh(-)p Ff(>)p Fh(o)s(ctet)h(mapping.)69 b(There)40
b(are)330 408 y(t)m(w)m(o)32 b(problems)e(with)g(this.)42
b(One)30 b(is)h(that)g(the)g(proto)s(col)g(has)g(no)f(w)m(a)m(y)i(to)f
(transmit)g(c)m(haracter)h(10)330 518 y(decimal)e(\(linefeed\),)h(and)e
(the)h(curren)m(t)f(serv)m(er)g(and)g(clien)m(ts)i(ha)m(v)m(e)g(no)e(w)
m(a)m(y)h(to)g(handle)f(0)h(decimal)330 628 y(\(NUL\).)c(This)f(ma)m(y)
h(cause)g(problems)e(with)h(certain)h(m)m(ultib)m(yte)h(c)m(haracter)g
(sets,)g(in)e(whic)m(h)g(o)s(ctets)330 737 y(10)c(and)f(0)h(will)g(app)
s(ear)f(in)g(the)h(middle)f(of)h(other)g(c)m(haracters.)39
b(The)20 b(other)h(problem,)h(whic)m(h)e(is)h(more)330
847 y(minor)36 b(and)g(p)s(ossibly)g(not)h(w)m(orth)f(w)m(orrying)h(ab)
s(out,)h(is)e(that)i(someone)f(can)g(t)m(yp)s(e)g(a)g(passw)m(ord)330
956 y(on)c(one)g(system)g(and)g(then)g(go)g(to)h(another)f(system)h
(whic)m(h)e(uses)h(a)g(di\013eren)m(t)h(enco)s(ding)f(for)g(the)330
1066 y(same)e(c)m(haracters,)h(and)e(ha)m(v)m(e)h(their)g(passw)m(ord)e
(not)i(w)m(ork.)330 1200 y(The)j(restriction)h(to)g(the)g(ISO646)f(in)m
(v)-5 b(arian)m(t)36 b(subset)e(is)g(the)g(b)s(est)g(approac)m(h)h(for)
f(strings)g(whic)m(h)330 1310 y(are)44 b(not)g(particularly)h
(signi\014can)m(t)f(to)h(users.)80 b(P)m(assw)m(ords)44
b(are)g(visible)g(enough)g(that)g(this)g(is)330 1420
y(somewhat)c(doubtful)f(as)h(applied)g(here.)69 b(ISO646)40
b(do)s(es,)j(ho)m(w)m(ev)m(er,)h(ha)m(v)m(e)d(the)f(virtue)g(\(!?\))70
b(of)330 1529 y(o\013ending)30 b(ev)m(ery)m(one.)43 b(It)30
b(is)h(easy)g(to)g(sa)m(y)g Ff(")p Fh(But)g(the)f($)h(is)f(righ)m(t)h
(on)g(p)s(eople's)f(k)m(eyb)s(oards!)41 b(Surely)330
1639 y(w)m(e)33 b(can't)g(forbid)e(that)p Ff(")p Fh(.)47
b(F)-8 b(rom)33 b(a)g(h)m(uman)e(factors)j(p)s(oin)m(t)e(of)g(view,)i
(that)f(mak)m(es)g(quite)g(a)f(bit)h(of)330 1748 y(sense.)41
b(The)29 b(con)m(trary)i(argumen)m(t,)g(of)f(course,)g(is)g(that)h(a)f
(with)g(a)g(circle)i(on)e(top,)g(or)g(some)h(of)f(the)330
1858 y(c)m(haracters)i(p)s(o)s(orly)d(handled)h(b)m(y)g(Unico)s(de,)h
(are)g(on)f Fb(some)-5 b(one)7 b Fh('s)32 b(k)m(eyb)s(oard.)p
eop end
%%Trailer

userdict /end-hook known{end-hook}if
%%EOF