[net.sources.mac] Spline Demo

koch@uo-vax3.UUCP (06/07/85)

    Spline Demo:  an application for experimentation with splines

This application was written as an example for a course I taught at
the University of Oregon.  It is written in Aztec C on a 'fat' Mac.
Feel free to give it to anyone.  Also feel free to make comments
(be kind).  The source code (complete with RMaker file) is available
by contacting me at the address in the 'About ...' dialog box (or
by dropping me a note at uo-vax3!koch - but I am actually Steve
Splonskowski).

A short tutorial about splines (and Spline Demo) is contained in
'About Spline Demo ...'.  The 'Line' menu is a new addition
to the program and has not been tested thoroughly.  It is
implemented as a custom menu type (a new experience for me).
I have not run Spline Demo on a 128k Mac.



(This file must be converted with BinHex 4.0)

:#e0`E'PZC5"%C@e[!%&38%a68%a1)!#3"c6'SE)!N!3"!*!$-MJ!!$%i!!!#M[q
3m!#3!bi!!3#A!#!!!-[8rj!$q`%8%N&LEh9d)&0`E'PZC5"%C@e[b3#3"!%Y!*!
)(3%!!%S!%!!!bp6rN!3%4QPXC344G@Pd!&%!N!Cd!3%!T3"J!!$,e2q3!qm(6h"
dD@pZF`e5C@e[GQ8J8'pTER4c!*!%"N0XEh0PC!#3""91CAFJ8'pTER4c)%9fCA*
j)&4TE@8!N!3",3#3"!T1CAFJ8'pTER4c!%i!!!a&FQ&cC5"AD@jNEhF!43#3"MF
"!J#0!#!!!-[8rj!%"e0`E'PZCA-)3L"6F'aTEQ8!3J!!$N0KG'eeE'`J8h"XD@j
P!%-!N!CD!3-!)!#J!!$,e2q3"!K6C@GYC@jdF`%c!*!%!68!N!3"0`#3"!%j!*!
%!M%a!*!%!M%c!*!%!M%e!*!%!M%h!*!%!M%j!*!%!M)a!*!)%`%%!*!%!33!!2q
3"!4-D@jP!!!#ANj@rrj)jaJJ-#i!''!!!L`NEJ!30LS!!YCm!"3r!cmm!"kSNcm
m!#0#CkL52c`!!cmm!!1SQb4Z!"!f+J!#eR`!&$m$2c`!-DL62c`!)8*RU*)r2!!
&2c`!"DLE*'i!%$BU!!,@I!!82`-r2!"&U*-r2!!I3QHSNULH$'d!!IrqC`!!,!a
Y!!,rrQF!!#)-E3!$rrjR!!!B*'i!%$BU!!*D3cm$2c`!)kL6B!!!(L4Z!"!f+J!
#@N-r!cBYrrl'r!!8eR`!$cm$U*-r2!!5U)0)EIrQ*'i!%$mU!!)NEJ!32a)NEJ!
32bS!"L4Z!"!f%YCm!"3r!kLR5'hrlL4Z!"!r+J!#*'i!%$B5eR`!&$m$*'i!%$m
U!!BNEJ!30K,@I!!S2`1STdKYrrBNEJ!32bS!!L4Z!"!f%YCm!#Jr!b4Z!"!r+J!
'*'i!%$B5eR`!2$m$U+GJ!!$f3QF[,J!-,bi!%+LY%"p+!'F!!)Ti!,Km!!0X!!!
S3QF[,J!-5-3Q"1H$4HhrjYD+,`1SV4!I5J"R!!!'286rrP*%B0)NEJ!)0LlrrP*
$0"+d3fF!!%3NEJ!)5P*R!!!B*'i!#$B58d0)`qH$4HhrjYD+,`1ST$BZrrj)`qH
$4HhrjYD+,`1ST#4Z!!Jf,[rq8N-l3rrq0)0J!!!S*'i!#%T5C`!!'#4Z!!Jf%P0
$5-2RJdAYrqE@LLm$U+3NEJ!)3P*J!!!`*'i!&#*5-h`!33!#*'i!&#*5-h`!2!!
%B!!!&*!!I!!!C`$pd&0!C`$r%P0!Cp*-h`3B6PiJAplm!"*1d!!56Y!!N!-6!"i
!#J&+!I3!![rr!*!+eJ!(!*!&``!H!2m!N33)3fpZG'PZG@8!N!b)!9M!!*!&&!!
h!#S!ViJ,8h"XD@jP)%4PE@qX!*!&8!!+!'B!ViJ9BRNJ8h4PGQ8J8h"XEfjcDfp
hFfYTS!#3"@i!#J#%!+q)&&9ZDACPFR0TG(NJEfBJ6h*PCfpZ!*!&M!!+!+)!ViJ
*5R9ZC5!a16Je#!#3"I8")J%1!AN%$8jPH(3JN!Fq2K)!N!Ae!,3"$J%1"!Xm2#"
3FQ9fD@peF`J!N!-@!$)!2!&&!F)!!3#3#B%")!#3!`d-5@jdFQpNG@0dD@pZ!*!
$T+06F'aTEQ8J4'9YEb"hBA-JGh*TG(4PEL"dEb"PH("PFQPYC@jd)(GTG'JJG'K
P)("bEh"PFR4TCA-JEfBJC(*KGfPZCb"MGA*fCA-JGfPdD#"cF'aTEQ9c,L!J9'K
P)(*[GA4TEQ8JG'mJCf9ZCA*KG'8JFh"XD@jPFb"TFb"cD@e`E'8JBR9d)'KKFb"
`EhGPFQCeE#"KF("XD@0KG'P[ER-Z!*!$A9a6F'aTEQ8J4'9YEb"TFb"dD'8JF(*
PC'9MCA0cEh)JEfBJB5"`FQpRFQ&Y)'0KE'aPC#"0CA4KE@pbF'K[FfPc1L"KEL"
KEQPYBA4TEfiJCQPXE@PZCb"dEfpX,J#3!`)"-3#3!`S*3L"6F'aTEQ9c!*!$LSP
#)(0`E'PZCA-JC'pZ*h3JEQ9MCA0cBA*TE(NJF'&cFb"dD(*e)(4SC5"MEfjdFQp
X)("[D@jdFb"LGA3JBA"`FQpiD@eKG'8JG'KPE5"hDA4S)'%JFfe[Eh4S)'0eFRC
P)#KTG#"SBA-JBfpZG'PZG@peFb"cC@0[EQ3JC'9bGQPKG'PfCA-T,J#3!`)"-J#
3!a!23f&dEA9XE#"6F'aTEQ9c!*!$aX9$BA4YG@aX)(0`E'PZCA-JF'&cFb"dD(*
e)(4SC5"MEfjdFQpX)("[D@jdFb"LGA3JC'mJFfmJBA3JG'KP)'9iF'9ZFf8JEfB
JEhCPFQ&XE#"MGA*fC5"cE@p[G'KZCA0c,L!J3f&dEA9XE#"cF'aTEQ9c)'&bC5"
eFf9QG@`JGfKPEL"dD'8JFfPdG@&dD@pZ)(*PFA9TFQ9c)(4SC5"MGA*fC5"dEb"
`BA0c)(4SFR8JG'KP)'0[ER4bEf`JF'pTER4c,J#3!`)"-`#3!`J(6h"dD@pZF`#
3!c-b8Q9YEhCP)&"[D@jdFb!Y)'9bBA0P)("[D@jdFb"LC@C[FQ8JC(*KGfPZCb"
cF'aTEQ8!N!-G(%0XEh0PC#!Y)'4bBAFJBfa[Ff9N)(0`E'PZCA-!N!0*5%jPGb"
3EfPZG(-J4ACPFRNJ9'PYC5!Y)(*PFf9d)(4SC5"`EfPZG#"KFR*KH5"KCR4PFL"
PB@0S)(0`E'PZC5"TFb"NFQ&hEJ#3!cXk6Q9h)&"[D@jdFb!Y)(*PFf9dFb"`EfP
ZG#"KFR*KH5!SGfKPEL"KBQpfC5"cGfPdBfJJDA-JEfCQ+3#3!b)K4A*KFf8J9fP
ZC'ph)#dJGfKKG#"NEb"jEh8JG'KTEQXr!*!$!J%d!*!$#3K6C@GYC@jdF`#3!h&
`9'KP)'0SEfPMC5"TEQ4TBf&dCA-JG'KP)'jeE@*PFL"[CL"XD@jP)(0PCfePER4
c)(9cC@3JG'mJE@&VC5"dD'8JBh9bGQ8JBA"`EhKTE@&dD@pZ)'*PG(GPC@iJC@&
MD#"cCA3JEfBJF'pTER4c,J#3!`8%5'PZG!#3!fTT9(9bEL!R6Q9h)&"[D@jdFb"
&GQ9bH5"8D@eP*b"cGfPdBfJJEfCQ)'&ZC#"PH("PFQPYC@jd)(GTG'JJG'KP)'4
TCQCPFQ9ZBf8JBQ9dGf9PEL"#)'&ZC#"$BA4YG@aX)(0`E'PZCA-Z!*!$!J%e!*!
$2cj*)'K[F'8JG'KKG#"jEh8JC@jUEhNJ8h"XD@jP)%4PE@mZ)#"'C@9X)'CbC@8
JG'mJCfPfC5"TG#"KGf&j,J#3!bBP6'9d)'eP)'YZEhFJGfKKG#"jEh8JG'KTEQX
JN!9[CL"TG$S!N!048&0dCACP)&0`E'pZFfY[Gh0VD5#3$P!Z6biJ3Qpi)$%a-c3
j)*!44A9RC@jP,#"28L!J16Fd0$!!N!-#!6B!N!0%!*!(J!#!!)!!J!#!(r`!J!#
!!)!!J!#!!*!,J!#!!)!!J!#!(r`!J!#!!)!!J!#!!*!&#!!)!*!$(&036%i!N!-
"5801)`#3"B"'8N9'!*!&J!#3!`G"8&"-!*!'&"06F'aTEQ8J4'9YEb"f-L!e,cJ
e!!!"!!!"!*!$!S!!!!4!!!!))!!!%"!!!#!)!!"!"!!!J1)!!31j!!)'$)!%$!4
!#!J%)"3)""!X#!!)5"Jr")`33)*'F)"")m%`)K!"b"3)$Rq2"!S`"`)*!!F"$)!
(!)GJ"`""RqF!)))I!"#%"`!)#!!!""!!!!)J!!!"3!#3!i!!!!%!N!-$J!!!"m!
!!!rJ!!!Im!!!2rJ!!(rm!!$rrJ!"rrm!!rrrJ!Irrm!2rrrJ(rrrm$rrrrKrrrr
mrj!$rRrrN!-rrrrq(rrrr!rrN!-(rj!$!rq3!`(rN!-!rj!$!(rrr`!rrKm!(r`
(!!ri!!!(m!!!!q!!!!(!!*!$J!#3""J!N!-S!!!%Q!#3!`J!N!-J)$Sr2!!"UI!
!!#8%!*!$!8(k)XJV52c'3qhlH#Y*r-T#Td*R6VS!(&a23QG1ZL(H6PB!!%MR!!#
Tp%cI!!"1ANje6PErmNMR!!"1ZL')6VSKVNkk)DT)EIc#U'kSrUN5U6#Tc%KkrmU
THd*R2ccrrdkk*(jB6d+R2c`!!DQr)"mV32f',bhpKLmm4&*@8UP03UFr2!%!UEm
J(bY!rBT#Tcmm!3'T[b!I+d$pMN+R2c`"!UQr)"mV32f53UFr2!%$UEmJ(bY!rCC
#Tcmm!35T[b!I+d$pQN*Zrri-EJ!'rrjX!!!F0LlrrNM$jB0&lIf',c)i!%*RU69
5E[rqB0`[,If12c`!"DNk,bhpNMmm!!'T1LmYrC)r2!!#U6S[,If12c`!!cmmrrq
T45mYrCBr2!!$2ccrrkP&U6G#Tcmm!3#TZ5!I+d$pRNAYrDBLEIfH)&&f%#6B8F[
rr%+R2c`!"+Qj)"mV32fL4HhpkL*YrD)J8AB3*0K4brrmU&"#Tcmm!3")EIcH,cc
rN!5T[5!I+d$pHLmYrAUSFbmYrM*#Cd*RU)"#Ccmm!!%r2!!"6VS&@&a2UE4)E[r
bUA*#TkNN)"q`VIekCJ!!,N*R,blrmL4YrAV9r!#3!a![#ULY%"p+!'F!!!a)EIf
QU&&J!!!)5'hm9UK43QFr22rr5'hmcUP`%"p+!'F!!-B`,Ic1B!!!V%kk!-CJ!!#
f(@hmdrrl0Lhmh-Cm!3"R!!!F3UF@,[rl5)-r!kNq)"m[!%kk!D*B6f!!!"!@,[r
l5)-r!dkk"!486f!!!(JVEIc3rAiNEIeqYHhpHQB!!!J[,IeqU(0J!!"F+fhmd2e
q,bhpIUNL,bhpIUNM*'hpHYAm!*!$%#m+U+0+,IYXC`!!$$mmrrp1ZJ239%pJ!!!
Q!!,r4J!#rdi!![p1rkJ!![q-X(`!#@3!!!cM3$!l!1*1q`!!B!$qj%cI!!"1ANj
e6PErlNMR!!"#CbmYr0K)EIeqU5``(ce!rri`,[rqB!!!cN+R,bhmf+Np)"mY32r
f,blrpNkk!0"B6f!!!-*#TkNN)"q`VIekCJ!!M!aY!'6lD'i!!)*&l[rZ3qhmf#6
C5'lrlUKa0LhlD&*YqfK)`q@$*%0$lIiZeFP$l[rZ*0NEI!$rqf`pE[r`rr`pE[r
ZrrT)E[rb0Llrr&0$2`-f,[rk8d-r!cBZrra83cm$0LlrqP4$2`1STdKZrr+SS5m
YrC)r2!!"U6N[,If52c`!!UNjB!!!#$mm!!LTb'!!!#")EIc1,bhpIUQcB!!!%P0
!C`$r-&0!CqK63'F!rd*-h`!!6Pj1G8j@rp4)j`!!3QF[,J!)U'S`(f!!!M*#Cbm
Z!!LSDc!IX(`!!@m!!#B[,If'3QF[,J!)U'X`(cm!5'lriUP'3QG)E[rLUEB`(f!
!!Kj1ZJr#B!!#&URdB!!#%%*R,bi!#+KV-"pJ!!$Z5LhlF@F!!!T#,IYaB!!!#"Y
m!2rlF5mYrBir2!!"&LhlF8L$2`1T4@!!!04+,IY`C`!!#N)Yqh"J!!!)'h`!rrY
`,bhpMMmm!!)@,IY`5)-r!kP&B!!!U#4YrAV9r!#3!a![#ULM5LhlE'F!!!`r22r
r6VS"YP42B!!!K%SYqh*R!!!83LhlFLmYrBir2!!&U6PJ!!!5'h`!rrYb,bhpMMm
m!!@T1LmYrBir2!!$&LhlFNL$2`1T4@!!!%4#,IYX1h`!!IYS,bhpNMmm!!'T1Lm
YrC)r2!!#U6TJ!!!L!!,r"2m`ri!!![r!reb`I!!(C!!!$10!-$X!jNll!!"J!!%
!5LhlF@F!!!T#Cdkk!4a86d*R,bi!#+KV-"q`I!!"CJ!!)"BYqh")Jcm$0LhlD&0
$2`-r2!!"6VS"KPa2B!!!("BYqh")Jcm$0LhlD&0$2`-r2!!"6VS(r&a25LhlFQF
!!#"#,IYX1h`!!IYS,bhpNMmm!!'T1LmYrC)r2!!#U6TJ!!"m,bhpPMBYqfT63dM
$Kr`!!Mm$3QHT45mYrCC#CbmZ!!LSDc!I2`!r22rrU89#CbmZ!!LSDc!Iid"53$Y
!qfTJ!!!k3QF[,J!)U'X`(q0!8d!l32YZB!!!*&0!C`$pc*!!I!$rC`$q!P0!C`$
q!P0!C`$r$&0!CiT63'I)3QHT1%cI!!"1ANje6PB!!%MR!!!3,J!*5)"J!!!'B!!
!!NcI!!"1ANje6PErmNMR!!!-E3!"qfK[!!"q5Li!#@B!!!K)EIbkU*dpI!!"rri
f,[rqYQhlD'`!!&Jf,[rq5-2PJdAYrM!pFMJ!rr`f,[rq5-2PJdAYrLipFMJ!rrT
)E[rb0Llrr&0$2`-f,[rk8d-r!cBZrra83cm$0LlrqP4$2`1STdKZrr+SS9*Zrrj
JRNKYr,+SR8cI!!"1ANje6PErh%MR!!!GI!$rrpdr,IYZ2bhlEULEB!Jrm!#3"NK
krrC)EIr'2c`)$URV0LhlDMm$,`p)EIr32c`J$URV9%p)EIr35'hraMmm!!DTkdK
YrmC)E[rL2c`3%+RV5Li!$@B!!0if,J!)8d0)`q@$4Hhq-$3Z!!K)`Z@#3qhq-$)
a+!$M363Z!!K53NM#jB*$lIi`NR%S!$@"1!!f,J!)8d0)`q@$4Hhq,M3Z!!K)`Z@
#3qhq,M)a+!$M363Z!!K53NM#jB*$lIiZNR%S!$@"1!!f,J!+8N0)`q@$4Hhq-$3
Z!!T)`Z@#3qhq-$)a+!$M363Z!!T63NM#jB*$lIi`NR%S!$@"1!!f,J!+8N0)`q@
$4Hhq,M3Z!!T)`Z@#3qhq,M)a+!$M363Z!!T63NM#jB*$lIiZNR%S!$@"1!"J!!$
+0Li!#&0$5-2PJdAYrM!d,J!+5-,PJN2YrM!eX5J!1!!f,J!+8N0)`q@$4Hhq-$3
Z!!K)`Z@#3qhq-$@a+!!i!$BZ!!T83dM$jB0&lIi`0#i!#&*#5-,PJN2YrM!eX5J
!1!!f,J!)8d0)`q@$4Hhq,M3Z!!T)`Z@#3qhq,M@a+!!i!$BZ!!T53dM$jB0&lIi
Z0#i!#%M#jB*$lIiZ0E%S!$J!0Li!#P4$5-2PJdAYrLid,J!)8N*)`Z@#3qhq,M@
a+!!i!&*Z!!SpEJ!)rrSf,[rkYQi!#Q`!"'Bf,[rk8d0)`q@$4Hhq-$3b1!"%3MB
ZrrT)`q@$4Hhq-$)b1!$#r!!$e%%f,[rk8N0)`q@$4Hhq-$)b1!$#r!!$P%%f,[r
k9%0)`q@$4Hhq-04b1!!p3[rZ0LlrqP0$5-2PJdAYrLid-MJ!4%)f,[rk5-2PJdA
YrLib-MJ!`[`!!p4"0LlrqP*$5-2PJdAYrLib-MJ!`[`!!j4"0LlrqP4$5-2PJdA
YrLl8FMJ!28,rjMBZrrT63dM$jB0&lIi`0$)i!-6m!!-f,[rk5-2PJdAYrM!b-MJ
!`[`!"T4"0LlrqP*$5-2PJdAYrM!b-MJ!`[`!!p4"28,rm$BZrrT63dM$jB0&lIi
Z0$)i!-6m!!-f,[rk5-2PJdAYrLib-MJ!`[`!"T4"0LlrqP*$5-2PJdAYrLib-MJ
!`[`!!p4"28,rk$BZrrT63dM$jB0&lIi`0$)i!-6mrrdf,[rk8N0)`q@$4Hhq-$)
b1!$#r!!$e%%p3[rb0LlrqP0$5-2PJdAYrLid-MJ!a2crr6BZrrT53dM$jB0&lIi
Z-M)i!-,m!!2836e#rqSf,[rk8d0)`q@$4Hhq-$3ZrrT)`Z@#3qhq-$)a+!$P363
b1!$836BZrrT53dM$jB0&lIi`e()i!$e#rr3f,[rk8d0)`q@$4Hhq,M3ZrrT)`Z@
#3qhq,M)a+!$P363b1!$836BZrrT53dM$jB0&lIiZe()i!$e#rq`f,[rkYQi!#'B
!!!T#E[rfB!!!#$em!!(rpMeZrrErq$BZrrLfEIYUEJ!#&MBZrrJr!bm25'hraMm
m)!kTke425'lriNKYrmBr2"!%UHY)EIr'5'lrhMmm%"#TkcBZrqir!bm25'hraMm
m)!kTke425'lrhNKYrmBr2"!%UHXf,[r`2`-[$dKYrp!r2#!1UHY86dKYrp")EIr
'2c`!!+RV5'lrhNKYrmBr2"!%UHXf,[rb2`-[$dKYrp!r2#!1UHY86dKYrp")EIr
'2c`!!+RV5'lrhNKYrmBr2"!%UHXf,[rd2`-[$dKYrp!r2#!1UHY86dKYrp")EIr
'2c`!!+RVB!Jra999R1U'mNKkrrC)EIr'2c`)"+RV98p)EIr'2c`!&URV5'hraNK
[!!3r2#!3UHXf(ce$rrif,[rQ2`-[$dKYrmBr2#!1UHY86dKZrpj)EIr'2c`3"+R
V0Llrk$m$,`p)EIr32c`J$URV9%p)EIr35'hraMmm!!#TkdKZrpj)EIr'2c`3"+R
V0LlrkMm$,`p)EIr32c`J$URV9%p)EIr35'hraMmm!!#TkdKZrpj)EIr'2c`3"+R
V0Llrl$m$,`p)EIr32c`J$URV9%p)EIr35'hraMmm!!#Tkf!)2m999CcUK[*)H[r
f5'hraMmm#!5Tke925'hraMmm!"DTkdKYrmC)E`!%2c`J%+RV0Kmp3rrm5Llrh@F
!!"!r,[rq2blrr+L6B!!!$$mZrrir,[rmU*&#,[rG8Qlrq'!!rH*5E[rkB!$lNMm
m!!%r2!!"U*Y-h`!!6Pj1G8j@rpa)j`!!(A`!rrrG2bhlEMmYqfkSQf!)2r!!N!C
)H[rf5'hraMmm#!kTkcBYqfSr!bm25'hrd$mm)!kTke425'hrd%KYrmBr2!!'UHY
)EIr'5'lriMmm%"#TkdSZ!!eQ!!$H0Li!#&0$5-2PJdAYrM!d,J!)5-,PJN2YrM!
b-5J!id%d,J!)8N*)`Z@#3qhq-**a+!!eJ6J!0Li!#&0$5-2PJdAYrLid,J!)5-,
PJN2YrLib-5J!id%d,J!)8N*)`Z@#3qhq,T*a+!!eJ6J!0Li!#P*$5-2PJdAYrM!
d,J!+5-,PJN2YrM!b-5J!id%d,J!+8d*)`Z@#3qhq-**a+!!eJ6J!0Li!#P*$5-2
PJdAYrLid,J!+5-,PJN2YrLib-5J!id%d,J!+8d*)`Z@#3qhq,T*a+!!eJ6J!B!!
!bMBZ!!K63dM$jB0&lIi`0#i!#NM#jB*$lIi`0E%S!$J!0Li!#P*$5-2PJdAYrM!
d,J!)5-,PJN2YrM!eX5J!1!!f,J!+9%0)`q@$4Hhq-$3Z!!K53NM#jB*$lIi`0E%
S!$J!0Li!#&0$5-2PJdAYrLid,J!+5-,PJN2YrLieX5J!1!!f,J!+8N0)`q@$4Hh
q,M3Z!!K)`Z@#3qhq,M@a+!!i!$BZ!!T83dM$jB0&lIiZ0#i!#&*#5-,PJN2YrLi
eX5J!1!"5EJ!+2@i!#2rk0LlrqVCZ!!TX!!3Q0LlrqP0$5-2PJdAYrM!d-MJ!4%)
f,[rk5-2PJdAYrM!b-MJ!`[`!!p4"0LlrqP*$5-2PJdAYrM!b-MJ!`[`!!j4"0Ll
rqP4$5-2PJdAYrM$8FMJ!28,rlMBZrrT63dM$jB0&lIiZ0$)i!%4#0LlrqNM$jB0
&lIiZ-M)i!-,m!!2836BZrrT53dM$jB0&lIiZ-M)i!-,m!!1836BZrrT83dM$jB0
&lIiZe()i!$e#rqBf,[rk8d0)`q@$4Hhq-$3b1!$M3MBZrrT)`q@$4Hhq-$)b1!$
#r!!&P%%f,[rk8N0)`q@$4Hhq-$)b1!$P3G4"0LlrqP4$5-2PJdAYrM#8FMJ!28,
rm$BZrrT63dM$jB0&lIiZ0$)i!10#0LlrqNM$jB0&lIiZ-M)i!-,m!!@836BZrrT
53dM$jB0&lIiZ-M)i!19"e%%f,[rk9%0)`q@$4Hhq,T4b1!!p3[rS0LlrqP0$5-2
PJdAYrM!d-MJ!4%)f,[rk8N0)`q@$4Hhq-04b1!!p3[rb0LlrqP0$5-2PJdAYrLi
d-MJ!4%)f,[rk8N0)`q@$4Hhq,Y4b1!!p3[rU0LlrqNM$jB0&lIi`0$)i!10#28,
rp$BZrrT)`q@$4Hhq,M3b1!$M3Me#rq`f,[rkYQi!#'B!!!T#E[rfB!!!#$em!!(
rpMeZrrErq$BZrrLfEIYUEJ!#&MBZrrJr!bm25'hraMmm)!kTke425'lriNKYrmB
r2"!%UHY)EIr'5'lrhMmm%"#TkcBZrqir!bm25'hraMmm)!kTke425'lrhNKYrmB
r2"!%UHXf,[r`2`-[$dKYrp!r2#!1UHY86dKYrp")EIr'2c`!!+RV5'lrhNKYrmB
r2"!%UHXf,[rb2`-[$dKYrp!r2#!1UHY86dKYrp")EIr'2c`!!+RV5'lrhNKYrmB
r2"!%UHXf,[rd2`-[$dKYrp!r2#!1UHY86dKYrp")EIr'2c`!!+RVB!Jri!#3"NK
krrC)EIr'2c`)"+RV98p)EIr'2c`!&URV5'hraNK[!!3r2#!3UHXf(ce$rrif,[r
Q2`-[$dKYrmBr2#!1UHY86dKZrpj)EIr'2c`3"+RV0Llrk$m$,`p)EIr32c`J$UR
V9%p)EIr35'hraMmm!!#TkdKZrpj)EIr'2c`3"+RV0LlrkMm$,`p)EIr32c`J$UR
V9%p)EIr35'hraMmm!!#TkdKZrpj)EIr'2c`3"+RV0Llrl$m$,`p)EIr32c`J$UR
V9%p)EIr35'hraMmm!!#Tkf!)2q!!N!C)H[rf5'hraMmm#!5Tke925'hraMmm!"D
TkdKYrmC)E`!%2c`J%+RV0Kmp3rrm5Llrh@F!!"!r,[rq2blrr+L6B!!!$$mZrri
r,[rmU*&#,[rG8Qlrq'!!rH*5E[rkB!$ldMmm!!%r2!!"U*Y-h`!!6Pj1G8j@rc"
)j`!!3UFr2!!$3UF[22q3"+Pm)"mV32f#3UF[2%P$6L-r2!#!UD!J(be!rrC)E[q
#2c`!#Mmm!!Sr2!!U2c`!+ULR5'lrHMmm!+mr2!!+2c`"I$mm!1ZSTdKZrh)r2!#
c2c`!$Mmm!AJr2!$RU+F[,If#2c`!!Mmm!+![,[rf5'lrJUQ1,bhpJMmm!!K)E[p
N5'lrCNKZrebTM5mZrfBr2!$rU9d[,If#U49)E[m`U(3[,If#U(0)EIhUU&%pI!!
"rr`-EJ!%rraZ!!!`0Llrr%M$jB0&l[q+,`-[#N+R,ca69&)J2blrr+QJ)"mNAbB
I*B!i!&*ZrraJb%+R5'lrFUMc)"mY32mm*'lrML*58SN[#5mm!*!$$%KZrh*#CkR
12A`!)rpb2c`!!kL(*'lrNL*58SN[#5mm!*!$SdKZrh*#CkR12A`!M2pb*'lrPL*
58SN[#5mm!*!$A%KZrh*#CkR13QHSKcem!06rFMem!42rG#4ZrjSL8P+*,`N[2!#
3!`&)E[pb3QHTcUMd2A`!"Irm$'i!"rrmEJ!!-$BZrra)`q@$4HlrLLm$,`T#Tbm
m8e45)$mZrrbTS#!I*&mQ(b@!1!"5E[rmB-K)E[pb2c`!Xcmm!!ir2!&i2c`!jkL
R3UG)E[pbU2-J(be!rd!NE[qH)P*5L5m*,c`!N!-*5'lrFN*RUFj#CkKK-"mp32m
d5'lr0%kk#KaB6dM!JI`!(NK!d(`!36e!rcBpI!#qrcJlE[mirM3lE[mfrM*)E[p
80Llr1&0$2`-f,[mf8d-r!cBZrcK83cm$0Llr0P4$2`1STdKZre5SS8*RU'%`(ce
!rc4)E[md6VS*ZPK25-#"r!!H5%$3I!""28$r0Mem!1Er1$YZrcMq1$YZrcEq0NK
Zre3f,[mi8d-r!cBZrcC63cm$0Llr1&4$2`-f,[mf9%-r!kLR5'lr9+LK3QHSB6!
I28$r0%KZrc41ZJPB@%p)`)(m!"j)30"m!%%p32mf2A`"$[mi1flr12im1flr0[i
k5'lr9$BZrcK63cm$0Llr0P0$2`-f,[mi9%-r!cBZrcC83cm$U+G)E[p8U+&#CkK
K-"mp32md5'lr0%kk#2CB6dM!JI`!(NK!d(`!36e!rcBpI!%frcJlE[mirN!lE[m
frMj)E[p80Llr1&0$2`-f,[mf8d-r!cBZrcK83cm$0Llr0P4$2`1STdKZre5SS8*
RU'%`(ce!rc4)E[md6VS)P&K25-#"r!!H5%$3I!""28$r0Mem!9lr1$YZrcMq4$Y
ZrcEq3NKZre3f,[mi8d-r!cBZrcC63cm$0Llr1&4$2`-f,[mf9%-r!kLR5'lr9+L
K3QFr2!!&2c`!!8kklaCF6cem!'lrFMmm!!1SKb4Zrk)L8P+*,`N[2!#3!iP)E[p
b3QHTcN*RU)FpI!$8rh)pI!%6rh3NE[qQ)P*5L5m*,c`!N!-"5'lrFN*RUFkSp$e
m!!Mrr!aZ!!Vrr'i!!$!f,[rm5-2PJdAZriS[!bm+3UF[2&088L!r,[rmUD!J(b4
I*KmPJ$J!8Qlrr'$)5'lrFMmm!,-r2!!12c`"H$mm!1HSTd+R5'lrFUMc)"mY32p
%*'lrUL*58SN[#5mm!*!$$dKZrh*#CkR13QHSB6!I28$r0%KZrc41ZJGD@%p)`)(
m!"j)30"m!%%p32mf2A`![[mi1flr12id1flr0[ib5'lr9$BZrcK63cm$0Llr0P0
$2`-f,[mi9%-r!cBZrcC83cm$U+G)E[p8U+&#CkKK-"mp32md5'lr0%kk"[KB6dM
!JI`!(NK!d(`!36e!rcBpI!$QrcJlE[mirMJlE[mfrMC)E[p80Llr1&0$2`-f,[m
f8d-r!cBZrcK83cm$0Llr0P4$2`1STdKZre5SS8*RU'%`(ce!rc4)E[md6VS'PPK
25-#"r!!H5%$3I!""28$r0Mem!3lr1$YZrcMq2$YZrcEq1NKZre3f,[mi8d-r!cB
ZrcC63cm$0Llr1&4$2`-f,[mf9%-r!kLR5'lr9+LK3QHSB6!I28$r0%KZrc41ZJB
d@%p)`)(m!"j)30"m!%%p32mf2A`"0[mi1flr12j!1flr0[iq5'lr9$BZrcK63cm
$0Llr0P0$2`-f,[mi9%-r!cBZrcC83cm$U+G)E[p8U+&#CkKK-"mp32md5'lr0%k
k"G*B6dM!JI`!(NK!d(`!36e!rcBpI!&HrcJlE[mirN3lE[mfrN*)E[p80Llr1&0
$2`-f,[mf8d-r!cBZrcK83cm$0Llr0P4$2`1STdKZre5SS8*R2c`!"6mm!!&1Z[,
SA%mpI!"Nrh)r2!!$U)FNE[qZ)P*5L5m*,c`!N!2&5'lrFN*RUFj#CkL(2A`!e2p
b2A`"%rpd*'lrXL*58SN[#5mm!*!$!8KZrh*#CkR1U23pI!!,rr`-EJ!4rraZ!!!
`0Llrr%M$jB0&l[q+,`-[#N+R,ca69&)J2blrr+QJ)"mNAbBI*B!i!&*ZrraJb%K
Zrh)r2!#c2c`!$Mmm!AJr2!$RU+G#TdKZrh+Smb!I,8$r5#4ZrlBL8P+*,`N[2!#
3!`G)E[pb3QHTcMmm!!1SKcem!#2rFL4ZrlSL8P+*,`N[2!#3!c*)E[pb3QHTcMe
m!%ErFL4ZrliL8P+*,`N[2!#3!aa)E[pb3QHTcMem!&RrFL4Zrm)L8P+*,`N[2!#
3!dK)E[pb3QHTcMem!)crFL4ZrmBL8P+*,`N[2!#3!cT)E[pb3QHTcMem!,rrFL4
ZrmSL8P+*,`N[2!#3!b&)E[pb3QHTcN*RU)FpI!$8rh)pI!%6rh3NE[r1)P*5L5m
*,c`!N!-"5'lrFN*RUFkSp$em!",rr!aZ!"Err'i!!$!f,[rm5-2PJdAZriS[!bm
+3UF[2&088L!r,[rmUD!J(b4I*KmPJ$J!8Qlrr'$)5'lrFMmm!,-r2!!12c`"H$m
m!1HSTd+R5'lrFUMc)"mY32p-*'lrdL*58SN[#5mm!*!$#%KZrh*#CkR12A`!)rp
b2c`!!kL(*'lreL*58SN[#5mm!*!$F%KZrh*#CkR13QHSKcem!([rFL4ZrpSL8P+
*,`N[2!#3!`4)E[pb3QHTcMmm!!1SKcem!*!!rh)NE[rH)P*5L5m*,c`!N!0T5'l
rFN*RUFj#CkL(2A`!e2pb2A`"%rpd*'lriL*58SN[#5mm!*!$!8KZrh*#CkR1U23
pI!!Arr`-EJ!DrraZ!!!`0Llrr%M$jB0&l[q+,`-[#N+R,ca69&)J2blrr+QJ)"m
NAbBI*B!i!&*ZrraJb%KZrh)r2!#c2c`!$Mmm!AJr2!$RU+G#TdKZrh+Smb!I,8$
r8$mm!!1SKcem!"RrFL4ZrqBL8P+*,`N[2!#3!cj)E[pb3QHTcMem!'2rFL4ZrqS
L8P+*,`N[2!#3!b9)E[pb3QHTcMem!)crFL4ZrqiL8P+*,`N[2!#3!e")E[pb3QH
TcN*RU)FpI!$8rh)pI!%6rh3NE[rb)P*5L5m*,c`!N!-"5'lrFN*RUFkSp#mYrB)
r2!!"5'lrC%KZrfC)E[pFUBdr2!!$2c`!!kLE5'lrA$mmrr`r22rmU+P)E[pF2c`
!)cmm!#1SX+LH5'lrHULKU&")E[pb2c`!Xcmm!!ir2!&i2c`!jkLR,blr2%KZrh+
SpN*RU)G#,[ml3QlrqN+R5'lrrUQ4-#lrrQ!!!2BGI!$rrcYJ!!$q$'i!"IrkE!!
!DNKZrh+SSe*ZrrSf,[rk5-2PJdAZrc`[-MJ!5'lrFUMf,bhpJMmm!!K)E[pN5'l
rCNKZrebTM5mZrfC#CkPG$'i!"IrkCJ!!)LmYrB)r2!!(5'lrC%KZrfC)E[pFUBd
[,[pQ2c`!rkPGB!!!L!aZ!!$rqQm!!'K)E[pbU+06E[rk0LlrqNM$jB0&l[mm,c)
i!%KZrh+SpLmYrB)r2!!(5'lrC%KZrfC)E[pFUBd[,[pQ3QHTA8TZrrTQ!!!L,bh
pJMmm!!K)E[pN5'lrCNKZrebTM5mZrfBr2!$rU9eJ!!!88d"R!2m)A8"R!2m-8d"
R!2pm5Llr1fF!rZ3[,If#UB0#E[rm$'i!"IrmE!!!'MBZrra)`q@$4Hlr2#mb1!#
Sp9*ZrraJhLmZrc#SFcYm!!(lD%)Yqf`[,If52c`!!DNk,bhpNMmm!!+T1NcI!!"
1ANje6PB!!%MR!!!NEJ!)$&)!!'`!!!JNEJ!)4&*-h`!!6Pj1G5"2NI`!!#!!S#e
C6kPe@%p19[r+)$`!!!*#D`T"lIYi3PK4b2rm@8mN2%024%8[!Mmm!!'TS#4I,",
-[!$rN!0BKN(ZrmSaH!N!!"K$l[rm-M`"!'&QC`iK83!N4HhlD#&+!##J!M)m!3&
K8'FN*%eK*L4'B5*(l3!%e[J*0+!#)K&V$U!#*"(8LLD#8)Y4bIrd6Pj1qYm`S!)
Q%@X%+!eK$+!#*K&V"#J'B3*1GD!#+K(CXPJ!8F[rpNje*(J+8#45e1S!'$!54qS
!!V5EC`C+Qe()rrJ`'cC6emUb8fF-e[`!$&()rrC#J%je)#X!"-#m!2q3!b4i#P!
N8Y#5)8N!)#&m!*!$"!!N-A`!!3!X)8!!,U!#3QJ!,%U46R9)EIc#U'j`"`(i!9d
"q!)I3MJ)mL(mrj!%#GCC6cmm!"#TZ#"I)&!Kf!Sm)GJ+3%KYqi`Ke`RHU'pCMkM
B)GF*lL"i#Gj)D!!3U0m[1!RZU(P#Z!R@@BqSf#(I#I*#Z!U%3VJ+C%+i#QK1G5"
i!6"$q!%8)!L3!*&d$,##C4BL85()!43LJ%)4)RJ#UL+))),4U3!-6R@J0Nlk!!*
$lIri-S"1G8j@!!")j`J!5UhlG'F'*'hlG%k5H!#iI!!+E!`r"%kk!"T86e*%B1i
r,J!)6VS#T&4260m!%%jH6R919[q`51F1%$JZ!!JQEIc+Z(`!!'d'Z(`!#@m31hc
rrIrkF2p-h`K`6Pj1G8M%*J6MJcSc1!"+4@FZZQhrr'FSZRcrpfd'ZRcrqQmF5-3
Q"11$2A-i!2r)3QG)E[q`3QG1ZJ!J-"mm!%M%*J6MJd*c1!"+4QF)1dErqR$rB+C
`!'#L)Pm`(b"ICJ5J!@!#T!%qJ%l46PErF%MR#"!NEJ!-3K)r2!!k,bi!#%kk!Aa
F6bC!5S"Q)%AZrm!Y5[q#3QG)E[p`3QG1ZJ&1-"mi,[q'*Qi!#'!L3K-[,J!)B5T
B6cJ!*%Y5La5m!$T+4'B+F!"-h`J36Pj1G5m,,bi!$%kk!8*36c!%B1K19[p`51F
-%#CZ!!J@+`!"5)0+3fCB&K0)JlCm!$&Y6KB65)1fI!!jEN3@%dL$PR`!-$e$rmC
&l[p`,8Vr`N)Zrh"#E[r-3QG)E[q`3QG1ZJ%Z-"mk!%T!C`il4IrkF!"-h`J`6Pj
1G6!ZrmCJmRJ"286rc%AZrh!Y5[r#3LlrF%*R5'lrX%*R6VS!p$!I5N"Q)#m,5'l
rF%kk!4"B6bm!B4T36dT!CJB`,[r'B,*54'#q1hcrhIrkF!"JT%j@!!")j`JB*Qi
!##KZ!!`@%dL$2`01ZJ#3!&422`!@&%L$2`01ZJ##9%mf(cJ$Q%"+4'F+-!4-haJ
36Pj1G54,8SY+%QF)*%a5M%S5CX*`!'$N)Pm`(b"ICJ5J&'!#T"3qJ%l4)'m!"$!
[!!J5''F+XJ"Qq#!)8i"1G8+!6R8JE`!%)!JLE`!)%0PQr%je-#m!"-"m!2q`2!"
JB`U`2!"kBJ53!$`!)%je-#m!"-"m!2q`2!"!B`U`2!"DBJ632!!J6R8LAc!I)&p
Q"+!(B!+N"ck!6Y&+,IrqC`SJH!Tm-@m!"!!BUI3J,`!%S$*1G5"[!!3L5#!)3N%
5'@!#%0P4bIrm3K"1G3#3!a!!!3!(!*!$!3!!r`#3"`%!N!-b1!!!-6J!!!+1!!$
-(!#B!*!$(!+1!!Y048j9!!8!BNe%48B!N!1U9dP14!#3!lC%594-!*!$`N4-6dF
!N!218e45)!!C!0T$99*6!!!#%N*14%`!!!)H4P*&4J!!!LT68%a1!!!#0NP$6L-
!!!*#3dp%43!#!Ni""2rr!!!"C!!"$@S"!rrr!!!""J!"$@B"![rr!*!$b`!"$@)
"!Irr!*!$8`!"$9i"!2rr!*!$-J!"$9S!!Irr!*!&!3e@!36rr`!!!AX!!3eZ!3$
rr`!!!pd!!3eb!)(rr`!!!r3!!3hD!!2rr`!!"-i!!3hb!"Vrr`!!#QX!!-fX!"R
rr`!!#KB!!-fS!"Mrr`!!#H`!!-fN!"Irr`!!#DN!!-fJ!"Err`!!#D-!!-fF!"A
rr`!!#68!!-fB!"6rr`!!#5`!!-f8!"2rr`!!#,F!!-f3!!!5rrm!!!LU!!$0M!!
4rrm!!!LN!!$0L!!3rrm!!!Kq!!$0K!!2rrm!!!Jr!!$0J!!1rrm!!!Ib!!$0I!!
0rrm!!!I4!!$0H!!-rrm!!!HD!!$0G!!,rrm!!!H1!!$0F!!+rrm!!!H)!!$0E!!
*rrm!!!Dq!!$0D!!)rrm!!!DU!!$0C!!(rrm!!!DN!!$0B!!'rrm!!!B@!!%1'J!
&rrm!!!B)!!%1&J!%rrm!!!B#!!%1%J!$rrm!!!@K!!%1$J!#rrm!!!6j!!%1#J!
"rrm!!!6S!!%1"J%!rrm!!!Ta!!$0`!#!rrm!!!Uj!!$0b!#!rrm!!!VC!!$0i!!
!rrm!!!VN!!$0j!#!rrm!!!Vm!!%08J%!rrmJ!$%N!!%03J!"rrm`!!`F!!%02J!
!rrmJ!!`!N!8#4J: