home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sys / next / programm / 7290 < prev    next >
Encoding:
Text File  |  1992-11-18  |  30.3 KB  |  556 lines

  1. Newsgroups: comp.sys.next.programmer
  2. Path: sparky!uunet!dtint!usenet
  3. From: nevin@dtint.dtint.com
  4. Subject: Re: Coding Rules/Suggestions (RTF)
  5. Message-ID: <1992Nov18.211839.25767@dtint.uucp>
  6. Sender: usenet@dtint.uucp
  7. Reply-To: nevin@dtint.dtint.com
  8. Organization: Digital Technology, International
  9. Date: Wed, 18 Nov 92 21:18:39 GMT
  10. Lines: 544
  11.  
  12. Well, I'm glad you at least received some of what you where after  .  
  13. Why email vs. a post? I figured (perhaps incorrectly) that this  
  14. subject was, well, fairly subjective and tends to be religeous in  
  15. nature. That is, people tend to strongly hold opinions about how to  
  16. layout software. This is especially true when you collect a tallented  
  17. group of people who all have succeeded in past ventures and wish to  
  18. instill their experience into the group. I've seen people (myself  
  19. included) go to irrational lengths to support their positions. So, I  
  20. felt I'd respond to your challenge without insighting a jahad.
  21.  
  22. [...]
  23. It'll port easily to every NeXTSTEP supported platform and that's all  
  24. I care about.  Other programmers may not be as lucky, though, and may  
  25. not have that luxury.
  26.  
  27. Sigh... Most of us in the "Real World" (tm) don't have that luxury.  
  28. In fact, most business cases for making money cannot count on NeXT  
  29. (WP, Lotus, Boss, Adobe, etc), or the business plans are extremely  
  30. optimistic without much hard data (AppSoft), or are destined to  
  31. remain small players (Metrosoft, Stone Design). If NeXT can get their  
  32. act together for the cross-platform support many of us will be ready  
  33. and willing to ride the bow-wave. So far, NeXT lags in that area .  
  34. Hence, we look at markets like Windoze (tm).
  35.  
  36. [...]
  37.  
  38. I'm against Hungarian notation.  I'm also not inclined to make any  
  39. rules governing instance variable names, but class names are covered  
  40. (see comment above).
  41.  
  42. BTW: complete Hungarian covers variable, function, method, class, and  
  43. file names. In short, everything that you'd never want to see  
  44. Hungarian on :-).
  45.  
  46. [...]
  47.  
  48. Also notice the clarification at the end of the paragraph regarding  
  49. localized NIB's (I had one person email me in disagreement, arguing  
  50. that they wanted localized NIB names instead).
  51.  
  52. The one window-per-nib is considered proper NeXT IB ettiquete. It  
  53. also was originally related to early performance considerations (i.e.  
  54. wanting to lazy-load as much as possible). An anti-example of this  
  55. (If I remember correctly) is WordPerfect, which loads slowly because  
  56. multiple windows/panels in a single nib (in which the archived  
  57. objects will be getting a read: and awake call). I might add that  
  58. there has been discussion about nib loading and 3.0 which might tend  
  59. to reverse NeXT's original position (most of the 3.0 slow-down is  
  60. related to nib/disk/memory stuff). Although the stance has not  
  61. changed, hopefully this demonstrates that the convention rose from an  
  62. underlying intent: perforformance, which can change how things get  
  63. implemented.
  64.  
  65. I think that's also my position on standards: a standard for the sake  
  66. of a standard is nearly akin to dogma. A standard in and of itself is  
  67. there to serve a purpose or set of purposes. These purposes will  
  68. likely vary depending on the environment one finds themselves in, and  
  69. so the standards will be of increased service if they can adapt to  
  70. aims of the present application (broad meaning).
  71.  
  72. I perceive that you're attempting to implement a set of rules  
  73. (standards) that serve your best utility. IMHO, find out what goals  
  74. you're trying to achieve, prioritize them, and then see how they  
  75. codify into a rule-set. My experience is that you'll end up with a  
  76. different set of standards :-).
  77.  
  78. I presume you mean: "some panels/windows in some NIB's don't have  
  79. titles".  My question would then be: why doesn't the panel/window  
  80. have a title?  What would it hurt to put a title in?  Note that the  
  81. rule I gave does give you some discretion in the choice of the title:
  82.  
  83. Often times nibs are used to collection images (as in parts of WM),  
  84. or controls (common for custom windows), or insets to other panels  
  85. (i.e. customizing NeXT's print panel, NeXT's use of subpanels in the  
  86. Color picker). These titles never get displayed and often are  
  87. multi-purpose.
  88.  
  89. [...]
  90. re: never touching attributes/instance vars...
  91.  
  92. It depends on how "purist" or theoretical vs. practical you want to  
  93. get. Within the same module/class it may be acceptable to refer to  
  94. the instance variable vs. the method, especially where speed is  
  95. concerned.
  96.  
  97. If it's within the same instance of a class (i.e., the same "module"?  
  98. what do you mean by a "module", anyway?), the instance variables of a  
  99. given instance of a class are accessible to all methods of that  
  100. instance anyway, regardless of the variables' classification (public,  
  101. protected, or private) so in this case there would be no advantage to  
  102. declaring any of them public.
  103.  
  104.  
  105. But, if you are talking about different instances of the same class  
  106. what relevance does the fact that they are of the same class have?  I  
  107. guess if it executes faster, then we should all just go back to  
  108. having global variables for everything (ala Windoze)?
  109.  
  110. A module in ObjC is any *.m file. Strictly speaking I'll mean to  
  111. interpret the above as using an instance variable within the confines  
  112. of the original class category and within a single file. So, I'm not  
  113. advocating directly using an instance variable in a subclass or  
  114. category, only within the bounds of it's class implementation, and  
  115. then only for reasons of speed. Otherwise you risk skirting the  
  116. benefits of OOP.
  117.  
  118. [...]
  119.  
  120. I've been finding that the third checking you mention (invarients) is  
  121. especially important with Distributed Objects.  These types of  
  122. objects seem to either need state-machine logic inside of them, or  
  123. else provide some sort of mutex-locking methods.  And in any case, to  
  124. implement such mechanisms, the object must "remember" who sent each  
  125. message so "state" information is quite common.
  126.  
  127. Distributed Objects is probably a good place to apply the invarient  
  128. checking.
  129.  
  130. ..
  131.  
  132.     protocols are cool, but not supported outside NeXT :-(
  133.  
  134.  
  135.  So? :-) 
  136.  
  137. Actually, we use categories, but it's yet another thing that makes  
  138. life hell porting things to other platforms :-(
  139.  
  140.  
  141.  
  142. Thank-you for your response.  Should we start sharing our discussion  
  143. with the net?
  144.  
  145. If you'd like, perhaps you can post a summary.
  146.  
  147. regards,
  148.  
  149. Kevin
  150.  
  151. --
  152. Nevin Pratt, Digital Technology, Int'l    Orem, Ut
  153. NeXTmail preferred, but ONLY at my REAL email address:  
  154. nevin@dtint.dtint.com
  155.  
  156.  
  157.  
  158. -- NewsGrazer, a NeXTstep(tm) news reader, posting --
  159. M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9G-W:7-S($AE;'9E=&EC83M<9C)<
  160. M9FYI;"!4:6UE<RU2;VUA;CM<9C%<9FUO9&5R;B!#;W5R:65R.WT*7&UA<F=L
  161. M,3(P"EQM87)G<C$R,`I[7&-O;&]R=&)L.UQR960P7&=R965N,%QB;'5E,#M]
  162. M"EQP87)D7'1X-3(P7'1X,3`V,%QT>#$V,#!<='@R,3(P7'1X,C8V,%QT>#,R
  163. M,#!<='@S-S(P7'1X-#(V,%QT>#0X,#!<='@U,S(P7&8P7&(P7&DP7'5L;F]N
  164. M95QF<S(T7&9C,%QC9C`@5V5L;"P@22=M(&=L860@>6]U(&%T(&QE87-T(')E
  165. M8V5I=F5D('-O;64@;V8@=VAA="!Y;W4@=VAE<F4@869T97(@"GM[7$Y'1W)A
  166. M<&AI8S8V('-M:6QI92YE<',*,3`V-C(@32DR)3`T4E4A.29=0CDR5%(K0V!`
  167. M,34A,S%"5%(K0V`J*3(U-#HW,4PY,TA`(D(T13!7*44X-S%//$-(0`I-,2<I
  168. M03U02$4I-"U2.38E5#HV74XQ)B54.3-(0#56-40H)$E5.T)@0"TR8%(L,TA5
  169. M+B-(42TB8%$N,T11"DTB0C1%,49=4BY"(4<[)C5..T!(12DT,4\X5S5-.399
  170. M5#%&74X])RQ:*")!03TF-4XY(D0J*3(U,#@V/44*33Q32$`L(F!1(D(T13!&
  171. M754[1C%).T8](CM70%HH(R19+B)@5"U38$`L0RA7*",P6"TP2$4I-#5..20M
  172. M3PI-.S9513M',5,B0$A%*30I13E614XQ)EU#/39513M',%HH(EU5/%<H3SLF
  173. M14(K5%E%/B<Q,STF-5`K5R%2"DTZ-EE4-"8E0SI6)4<Y,EE0/%!(12@U(3,K
  174. M-"5$.U8I12LS*$XL8$A%*34Q23TF444N0B$P/$9%3CTF14X*33E2(3`X-BU+
  175. M.#8]12)"-$4Q-EE$,%9=33LV-4X])RPJ*34Y13Q'+4D[5EA:*",H3BQ@2$4P
  176. M5EU0/C<I20I-.59!5"Y"8%$N,T!8*R(A+CDU030K(B$I.T8L3B)`2$\W55TN
  177. M-B8Q13E'3%$H)D5..28U6"@G/4@Y-RE%"DT^5R%//"(A4#M78$`\)EU0/S=-
  178. M1#DV.5TZ-CE%.R<M13\V*4D[1C!`.28U1B)"73\W5%DX.$8Q13E'3%$*32@F
  179. M14XY)C58*"<]2#DW*44^5R%//"(A4#M78$`\)EU0/S=-0CHV640H)C%%.4=5
  180. M23E&-4P\5C5=.$9%3@I-.2(A1#DV."HK5353.3<I+SA&244X5S%3*",D4"@F
  181. M)5(\1B59*"5=/S-%040Y-C@J*U8Q13E&14XY-S53"DTY-RE/.$9)13A7,5LB
  182. M0$5%/B8M2"@F,54\(F!1*"8E1#DB(40]-V!`-3<M13Q$74(Z1C5#/2<L0#LF
  183. M-4X*33E7,4@H)CU4/E!(*2(V)5(\1B59*"8Q53PB8%`H)353.3<I+SA&244X
  184. M5S%3*"<A53TF14X])C52/48E3`I-(D!$*2M5-5,Y-RDO.$9)13A7,5,H)C58
  185. M.%9`0#DF-48B0$5=/E<A3SPG54DY1C5,/%8T0#4W+44\1%U""DTZ1C5#/2<L
  186. M0#DW04,Z(F!3*")442@G*4\[)E!`/"<U5")'53\W5%DX.$8Q13E`2$\]-EE$
  187. M.38Y23M&-54*33Q6-5([5BE*.38M5#Y5-5,Y-RDO.$9)13A7,5,H)C58.%9`
  188. M0#M'-4P[(B%0/3<Q73=572XV)BE$.38X*@I-*U8U6#DV+54\5C52.U8I2CDV
  189. M+50^5353.3<I+SA&244X5S%3*"8U6#A60$`Y5C54*"8U6#DV+5TW55TN"DTV
  190. M)BE$.38X*BM573\S14$R.38M5#0F)50Z)TQ4*",H0#Q&74P[(B%-.U<Y13TF
  191. M7$`L,B%).T8Q13XB8%`*32@G*4PZ-EE%/29<*BPB(44^)BU(*"<I3#HV644]
  192. M)EQ`.T8U1R@C8$`\1E%).T8U5#M2(4,[)EU3.3<A00I-/29!73=572XV)BE$
  193. M.38X*BM573\S14$P/$9=0SDW+5,T1C5#/20E4CE7+5LB0$11*"9%3CDF-5@H
  194. M)S%9"DT\)C1`*U8E4CQ&)5D])T50.3(A13PW3"HB,$5%/B8M2"@C8$`M(F!2
  195. M*"9%3CDF-5@H)E%%.T8]5#HB8%$*32@G+54X1TPJ(C!$*3DG-5`H(RQ`.#8Q
  196. M1"@C)$`Y-T%#.B=,42@F14XY)C58*"8U6#A60$`Y5C54*"8U6`I-.%9!73E&
  197. M75(B0$0I(C,T0"PR(5([5E%,*",T0#HV640Y-T!`.3=!13A02"DB-U5&.U<H
  198. M0#PF75`H)R%/"DT\8$@I/S=-13XF-4,_-D5&.3914SDP25TW55TN-B8I1#DV
  199. M."HK5RE%.%<Q1CHV44P^5CU3.#<Y12@F644*33U7(4$])D!`/E5=/S-%03(Y
  200. M-BU4-"8E5#HB(48Z-E%,/S(A/S=463@T)RE/.%8U4SQ5*44X5S$A/$8]4PI-
  201. M*"8]4CDW+50[5RE%/S5=/S-%04(Y)C5&(D)=4CDV+50X5E%)/"=-3CDW/5`X
  202. M-S%(*"=-/S=463@T1C5#"DT])2%!/29!72@E73\S14$P/$9=0SDW+5,T1C5#
  203. M/20E4CE7+$`X5E%)/"(A3CDW/5`X-S%(/S5=/S-%04(*33DF-48B0EU2.38M
  204. M5#Q7,5([5DU%/E!(*3E7+4$]1C1`.T8U5SPF)50Z(B%$/3=@0#TG15`Y,F!/
  205. M.#<I4@I-.#=%5#XW(44H)C51/E8Q53PB(4PY-EE'/29`0"U"(44\-U5;.48E
  206. M3#Q6-5TZ-CE%.R<M13Y02"DB-TU'"DT\5B56.3(A/S=463@T1C5#/24A03TF
  207. M0$`[1S5,.R(A0SM664,X-S!`/%<Q4CM6344H)CU2.3<M5#M7*44*33\P2"DB
  208. M-C%5/"(A3#DV64<])D!`.#<I4C@W1$`X5SE8*"8M3SPG1$`Y)S50*",H0"TB
  209. M8$TL,B%2.U913`I-*"<A53TB(3\W5%DX-"<I3SA6-5,\52E%.%<Q(3Q&/5,B
  210. M0$5=/E=-/S=463@T1C5#/24A03TF0$`\5S%2"DT[5DU%/S(A/S=463@T)RE/
  211. M.%8U4SQ5*44X5S$A/$8]4S\V148Y-E%3.3(A1SQ&-5,])EU2.3!)73=572X*
  212. M338F*40Y-C@J*U=!63Q604\]5TPJ(C-@0"PR8%,H)D5..28U6"@F444[1CU4
  213. M.B)@42@G+54X1TPJ(C!%0PI-/3<I4CDV650\)EU).T<P0"TB(4D[1C%%/B)@
  214. M4R@F14XY)C58*",D0#E6-50Z-EE4.3<I5C@V4$`\5D%/"DT]4$@I(C,L0#HV
  215. M640Y-T!`+%(A23M&,44^(F!2*"9553LB8%$H)B5$.2(A1SDW,$`X-C%$*"8U
  216. M6#A60"H*32(P1%,H)D5..28U6"(S+$`Z-EE$.3=`0"Q"(4T]-E!`.58U5"@F
  217. M)40Y(B%%/B8M2"@F54\]1C54.U(A4`I-.U=@*B(W548[5RA`/"9=4"@G(4\\
  218. M8$E=-U5=+C8F*40Y-C@J*U=!4SHF75<^4$@I+")@42@C+$`Z-EE$"DTY-T!`
  219. M.R8U3CE7,4@H(R1`/%<U0CY02"DB-BU5/$<I13M',5`[5D5./2)@5"@F14XY
  220. M)C58*",L0#HV640*33DW0$`L,B%'.3<Q23M',44\1SE!.R(A4SHF75<B0$0I
  221. M.3=!0SHB8%,H)D5..28U6"@C+$`Z-EE$.3=`0`I-.58U5"@F)40Y(B%%/B8M
  222. M2"@F54\]1C54.U(A4#M78"HB-U5&.U<H0#PF75`H)R%//&!)73=572XV)BE$
  223. M"DTY-C@J*U=%4SHF75<^4$@I+")@42@C+$`Z-EE$.3=`0#LF-4XY5S%(*",D
  224. M0#Q7-4(^4$@I(C8M53Q'*44*33M',5`[5D5./2)@5"@F14XY)C58*",L0#HV
  225. M640Y-T!`+#(A1SDW,4D[1S%%/$<Y03LB(5,Z)EU7(D!$*0I-+%(A23M&,44^
  226. M(F!3*"9%3CDF-5@H)CU%/2(A03DF,$`[-EU6.3<Q3R@G(4\\8$@I/S8Y3SQ"
  227. M(5`[5V!`"DT\)EU0(D=5/S=463@X1C%%.4!(3S@W*4,])TU!/$8M5#M2(5`[
  228. M5V!`/"9=4"@G(4\\(B%0.U<A73=572X*338F*40Y-C@J*U<M13TF*4([5T%;
  229. M/"9=4"@G(4\\(B%0.U=@0#PF75`_-5T_,T5!0CDF-48B0EU5.%8E0PI-.B8U
  230. M6S\U73\S14%".28U1B)"754X5B5#.B8U4STF)50]-RU;.S8E4CI28%`H(V!`
  231. M+")@4"@C(5TW55TN"DTV)BE$.38X*BM7+44])S5#.#8M2#DW(4$\1B5-/%=-
  232. M0SLF-4$\1S%/.S8E4CI753\W5%DX.$8Q13E`2$\*33TV)5`\)C5..2=-4SXW
  233. M+50Y-E5$.C8M5"@F*44Y5D5.*"8M5CXB(44^)C5#*"8U3CDG53\W5%DX.$8Q
  234. M10I-.4!(3STV-4\Y1D5,.R=-1SQ6)58Y,B%..3<]4#@W,4@H)S5!/"<A13M&
  235. M,$`Y-EU&.C913"@F/5(Y-RU4"DT[5RE%/S5=/S-%04(Y)C5&(D)=53E&14P[
  236. M)TU'/%8E5CDR(4XY-SU0.#<Q2"@G-4$\)R%%.T8P0#E&14P*33LB(4<\1C53
  237. M/29=4CDW53\W5%DX.$8Q13E`2$\]-RU4/$9=2SDW3"HB-CU3.#<Y12@F644]
  238. M5R%!/29`0`I-.2<U4"@F444[1CU4.B)@5B@F-5$B0$5;.3=!0SHB(54X-R%0
  239. M.3991"@F+4\[1BU!/2=56STV)5`\)C5."DTY)U5).48U3#Q6-"HB-RU4/$9=
  240. M2SDR(4<\1C53/29=4CDP25TW55TN-B8I1#DV."HK55T_,T5!53Q7,5(*33M6
  241. M344\)B54.B1503TG*4D^(B%$/3=@0#U6044\1C1`/E<A3SPB(5`[5R%=/E95
  242. M03TG*4D^(B%$.38Y70I-.C8Y13LG+44B0EU5/%<Q4CM6344\)B54.B=,*B(V
  243. M644]5R%!/29`0#DG-5`H)E%%.T8]5#HB8%8H)C51"DT^4$@I(C8U6#A60$`]
  244. M-B50/"8U3CDB(3\W5%DX/3<M5#Q&74LY-R%!/29!+3@W,5(Z-T!`.%<U4CQ&
  245. M-4X*33TF54$])RE)/B(A13XF+4@H)BU/.T8M03U@2"DB-RU4/$9=2SDW(4$]
  246. M)D!`/%8U5#LV)50\1D58(D!%70I-/E<U03PG(44[1C!`/%<Q4CM6344\)B54
  247. M.B=523E&-4P\5C0J/S(A/S=463@X1C%%.4!(3STW(4$])D%;"DTB0$4[.3=!
  248. M0SHB(5LK5S5#.#8M2#DR(4,]1T%=.C8X0#PF)50Z)BE".U=`0"M7+44])BE"
  249. M.U=`0#A7.5@*32)`1$`^4EU-.U<Y13TF7$`X5SE8/S=,3SLF14XY-S%/*"8M
  250. M5CXG55LK5BU5/$<Y13TF7$`X5SE8/S=,3PI-.%913SQ6-5`X-S%(*"8M5CXG
  251. M55`X-S%(.49=4C@V44PW-BU6/F!)72@E73\S14%".28U1B)"75,Y-S%3"DT]
  252. M)RE/.E8U03DF254\5S%;/"9=4#\U73\S14%".28U1B)"74,]-RE2.3995#Q7
  253. M,5([5DU%.#8Q2CTW+50*33Y6.4$[)RU%/S5=/S-%04(Y)C5&(D)=4SDV444X
  254. M5S%&.U995#Y6-5@X5D!`.49%3CDF.4\[1S!`.3=!0PI-.F!)1#TW8$`])T50
  255. M.3)@3S@W*5(X-T54/C<A12@F-5$H)TU-.#9-13E&74X])U5;/%8M03LF-48[
  256. M5EE4"DT_-D5&.3914SDR(5,Y-S%&.U995#\U73\S14%".28U1B)"73\S14$C
  257. M.U950CHV644P-RE2.#=%4SY02"D*33A6754[1S%4.U9503Q&3$`Y)S50*",H
  258. M0#@V,40H)D5..28U6"@F,54\(B%,.3991STF0$`L4F!-+#(A4@I-.U913"@G
  259. M3"HB,$12*"9%3CDF-5@H)E%%.T8]5#HB(5,]-BA`.2<U4"@C,$`L,B%2.U91
  260. M3"@C)$`Z-EE$"DTY-T!`.3=!0SHB8%0H(E11*"<I3SLF4$`\)S54.C995#DW
  261. M*58X-E!`.3=!0SI@2"D_-RE%/"8U03TB(5`*33M78$`\)EU0*"<A3SQ@25TW
  262. M55TN-B8I1#DV."HK5RU%/28M33XV34,[5E%//$=,*B(S)$XL(B%%/B8M2`I-
  263. M*"<M53A"(40]-V!`.2<U4"@C.$`K,R1`/$9=3#M@2"D\5S5"*"8Q53PB8%`H
  264. M)E%4/E<A3SPB8%`_-D5&"DTH(S1`+#(A4CM644PB0$14*")442@G*4\[)E!`
  265. M/%<U0B@F,54\(F!0*"915#Y7(4\\(F!0/S9%1B@C+$`*32PR(5([5E%,(D!%
  266. M13XF+4@H)RU5.$(A1#TW8$`L(B%,/2=-4#M78$`L)U5).4(A4SDW,5(Y5BE#
  267. M.U913PI-/$!)73=572XV)BE$.38X*BM6+54\1RE%.T<Q0SLW14LX5EU,.U<I
  268. M6SA7-5(\1C5./2<I1SA&+4\[)EU2"DTH(RU;+#)84"@F-5@X5D!`/%<U0B@C
  269. M+$`L,B%2.U913#\W*44\)C5!/2)@4#\U73\S14%".28U1B)"748*33LG-5,Z
  270. M)CU2.#<A2#HV+5,^5U5$.38X*BM7+44])SU).T8Q3SU7,5D\)C5;/"9=4"@G
  271. M(4\\)U5$.38X*@I-*U8M53Q'*44[1S%7.C991#M7/50^-R%%/E<A3SPB8%`_
  272. M-C%%.4!(3SQ6-50X-E%0.B8E6SPF75`_-C%%"DTY0$A/.%<U4CQ&-4X])B5,
  273. M/"9!03Y3)$XL)U5$.38X*BM604DY)C5#/3<I4SM7*5L_-C%%.4!(3SM6*5,*
  274. M33A7-5(Y-BU5/$<M3SQ'35TY)C5&(D)=4CDW.44X-E%#/3<I4SM7*5L_-C%%
  275. M.4!(3SQ6-50X5S52/%9=4@I-/E,P0#Y7(4\\)U52.3<A13@W,5TX1D5..2(A
  276. M1#DV."HK5RU(.U<]0STW*5,[5RE;/S8Q13E`2$\S1C58"DT])2U4.3<A)3M&
  277. M+4\Y)D5..5(A5SHF-5(Y,B%..U<Q6R)"72XY-T%4-%<Q13PD-4XX5EU$.C99
  278. M1R@E+50*33@V640X-RE$,3990SM6,4D[1CQ`+$,T5B@F)5(\1B59*"8M3SPG
  279. M1$`Y)C5&(D-@0#93)%(N,ETA.5<I00I-/48T3S`V)4,]-S%%*U0E0SHW*4,]
  280. M-E5&.R8U6"M4)50Z-E%$.3)=(3DF144\1C53.C<L3S`W*4D[1CQ/"DTP5BU%
  281. M.29%3#LF)$\Q-CU2.#<Y12)"724X-BU5/28T3S$V+4D\1BU5.S8Y3#DW0$\Q
  282. M-C%).3<I13Q615,*32M414<\1B56.3)=*3@V+54])C1/,C8M23Q&+54[-CE,
  283. M.3=`3S(V,4DY-RE%/%9%4R)"724])D!/,T<Q20I-.R8Q12M474<\1B56.3)=
  284. M+S@V+54])C1/,U8M23Q&+54[-CE,.3=`3S-7,4D[)C%%*U1=1#HV-5(Y-RU)
  285. M"DT\4ETU.5<I03U&-$\U-B5#/3<Q12)"734X5D52.%<U33E&444^(ETU.29%
  286. M13Q&-5,Z-RQ/-C8E0STW,44*32M5,4@[5RE.*U9552M6554[)S%)/"9162M6
  287. M,4D]1D5$.3)=0SM7(5D\1D5'.B<P*BPS/%8K5RE%.59%4PI-/28U4CDV,$`L
  288. M,T!1*U8I4CM6344[1BE!/$)@42XS8$\[)EU'.C8M03LF64\](F!1+C,H3SM6
  289. M644\5S50"DTY-RE).U<H0"Q#8%$K5S%7.U<M53PF-5(Z-EU2(D,H4"TB750Z
  290. M)RE%.3<M53PF-5(Z-EU2*",H4"XR75`*33LG-5,[-D5./3<L3SM6644\-S5!
  291. M/$<Q13Q"74\[1C5(.#911BM7,4@\1C5%/#<U03Q',44\1RQ/.#8]4@I-.#<Y
  292. M12)"74$X-BU5/28T3S@V+4D\1BU5.S8Y3#DW0$\X-S%).R8Q12M6)40Z-C52
  293. M.3<M23Q274$\1D5."DTY4EU#.%8U1#HV44PX,EU%.5<I03U&-$\Y-B5#/3<Q
  294. M12)"744X5D52.%<U33E&444^(EU%.29%13Q&-5,*33HW+$\Z-CU2.#<Y12@C
  295. M*%(M0EU).#8M53TF-$`L0RA8*U9%0SHW*4,]-E5&.R8U6"M6140Z-C52.3<M
  296. M20I-/%)=13TF0"HK5EE4.C911#DR8%(L4SA/.U8]4C@W.44K5EU!.%<U5#DR
  297. M74\X5D52.%<U33E&444^(EU/"DT])D5,.28T3SM6,4DY-RE%/%9%4R@C*%0L
  298. M0EU5.5<I03U&-$\]-B5#/3<Q12)"754X5D52.%<U33E&444*33XB8%(M(SA/
  299. M/38Q23DW*44\5D53*U=%03A7-50Y,F!2+3,H3STF04\\1EA//C8Q23DW*44\
  300. M5D53-S!)6PI-.2<U4"@G,5D\)C1`*U9903LV-50^-R%%*"8U42)"(5LS1C58
  301. M/24M5#DW(24[1BU/.29%3CE28%(H)D5."DTY)C58*",H0#HV640Y-T!`/"<U
  302. M5"@G(4\\(F!1*"8E1#DG55LY-T%#.B(A4#M7(5TZ-CE%.R<M12)'548*33M7
  303. M*4$[)E!`/"9=4")"72XY-T%4-%<Q13PD-4XX5EU$.C991R@D644^)S$S/28U
  304. M4#$V64,[5C%).T8\0`I-/$8U03DF74X[)T1`.28U1B@B8$`B0ET_,T5!1CQ7
  305. M,5(H(R12+B(A4STG*4D[1CQ`.2<U4"@C8$`J)5TN"DTV(D1`/"<U5#HV650Y
  306. M-RE6.#900#DF-48H(F!`(D)<2BI&.4D[1C%&.U995"@B748Z-EE$.49=3CTB
  307. M(4P*33M6)40H)C%%.4!(3SE&14XY)CE/.T<Q6R)"8$4H)"E%.%8E53Q6-$`]
  308. M5C1`.%8E3B@F644]1C52*"9110I-/2(A+CDW050T5S%%/"0U3CA6740Z-EE'
  309. M*"8]13TB(4D[1S%/(D)@12@E+4@X-RE%.20Y3SM',20Z-RE%"DTX5S%//$=$
  310. M3"@G/44H)BU!.T993STB(5(Y-C5..%9=1#DR(4$H)CE/.T<P0#TF7$`S1C58
  311. M/24M5#DW(24*33M&+4\Y)D5..5!(0"DR(4DY0B%7.3(A03Q&-$`Z-EA`/%9!
  312. M03Q&-40H)E5/.28T3B@B(3,[4B%).4(A0PI-/3<I4CDV650\5D%!/$8U1"@F
  313. M15,H)S%2/38T3")"8$4H)SU%*"8M03LF4$`])D%%*"993SQ&54$[(B%&"DTZ
  314. M-EE$.49=3CTB(4$[1C!`/$8U5#TW*4XH)S%(.#<P*B@B74,]-RE2.3995#Q6
  315. M04$\1C5$*"<]2#DW*44*32@G35`[5V!`.%<U4CQ&-4X])RU(.#<I13DG5$`^
  316. M5CE!.R<M13\R(4DY1C5,/%8T*B@G3$HJ1CE).T8Q1@I-.U995"@G5"HH)TU$
  317. M/3=@0#=463@Y1RU4/$)@4R@C)%(M,B%'.3<Q23M',44\1SE!.R(A0SU'+$`[
  318. M)C5."DTY5S%(*",L0#@V,40H)5TN-B8Y4STG*$`L(F!3*")442@G*4\[)E`J
  319. M*"(A1SDW,4D[1S%%/$<Y03LB(4,*33U&6$`Y-T%#.B(A)CM6650Q)D52.38M
  320. M5#M7*5DH(RA`.C991#DW0$`Z5EE//5980")"8$`^5R%//"(A)@I-.U995#$F
  321. M15(Y-BU4.U<I62@F-5@X5D!`.58U5#\P2$`H)TQ**D8Y23M&,48[5EE4*"8Q
  322. M53PB8$\Q-EE#"DT[5C%).T8\0#E6-50H)2U4.#991#@W*40Q-EE#.U8Q23M&
  323. M/$`Y-R0J*")@0#Y0140]-V!`.R8U3CE7,4@*32@F,4DX5S!`.3=!0SI@2"D^
  324. M4R1`.C991#DW0$`K5#DI,2(A3CDR(5LL0B%).T8Q13XB8%,H(R1`/$9=3`I-
  325. M.R(A4#TW,5T^5R%//"(A4#M7(5TZ-CE%.R<M13\V.4\\1B5,.V!(*2@F,54\
  326. M(F!/,3990SM6,4D[1CQ`"DTS1C58/24M5#DW(24[1BU/.29%3CE2(5`]-S!`
  327. M.28U1CHV644Y1EU./6!(*3\W344^)BU(*"<A3SPG5$`*33HV.44[)RU%(D)@
  328. M0"@G54DY1C5,/%8T*B@G54DY1C5,/%8T*C\V*4D[1C!`.28U1B)'55L\)EU0
  329. M/S9%1@I-.3914SDP2$\W5%DX-"<I3SA4)5(\1B59*",T0#@W*5(X-T1`-U5=
  330. M+C8F,44Y0$A/-U19.#!604$[1EE%"DT[)RQ`+"(A/S=463@Y)C5&(D)=/S-%
  331. M030[5S%!.R0I63TF-5,H(V!`-U5=+C8F,44Y0$A/-U19.#$F72D*33LV)4<Y
  332. M-%U0/E!(*2PR(4D[1C%%/B=-1#TW(5T^4R5=.C8Y13LG+44H(ET_,T5!(SHF
  333. M)4X[1C5,/%(A10I-/B8M2"@G+50[5RE%(D!%/S-%02,Z)B5..T8U3#Q28%(H
  334. M)B5$.2)@4B@G*4\[)E!`-U19.#0G*4\X5"52"DT\1B59*"-@0#=463@P5D%!
  335. M.T9913LG+$`Y5C54.C995#DW*58X-E!`.#<M5#M7*44H)R%//&!(*2TR(4D*
  336. M33M&,44^(F!4*"9%3CDF-5@H)E55.R)@4B@F14XY)C58/E,D0#Q7-4(H(T!`
  337. M.C8Q23U"8%$H)B5$.2(A30I-/39173Y6554[(F!1*"<M53A"8%@H)D5$.C<X
  338. M0"PR(4$Y)C%=.C8Y13LG+44B0$14*"9%3CDF-5@H)E55"DT[(F!/-U19.#4F
  339. M750X-E$B/C<Q13Q2(44^)BU(*"<M5#M7*44H)R%//"(A13XF+4@H)R%//&!(
  340. M*3E7+4$*33U&-$`[-B54/$9%6"@F14X]1C52/29503TG*4D^(B%#.U990S@W
  341. M,$`L(EA5*"<M13TF/5(X-T1`+")@4`I-*",P0"Q"(5([5E%,*"<I13A7,48Z
  342. M-E%,*"8]4CDW+50[5RE%(D!%6R(S8$`L,B$_,T5!(SHF)4X[1C5,"DT\4F!1
  343. M*"<M53A'3"HB,$0I-U19.#0G*4\X5"52/$8E62@F-5@X5D!`.58U5"@F-5@Y
  344. M-BPJ(C!$*3LF-4X*33E7,4@H)5TN-B4Q3STF)4PP1T54.3<L0#DW04,Z(B%3
  345. M/38H0"M572XV)3%//28E3#!'150Y-RQ`.3=!0PI-.B(A4STF75(Y-U5&.U<H
  346. M*B(P13\S14$T.U<Q03LD*5D])C53*"-@0#LF-5LY-T%)/2=523E`2"D_-E%/
  347. M"DT[5V!`*U5=+C8E(5([5BTA/$<I03XR8%4H)B52/$8E62@F,44Y0$E=-U5=
  348. M+C8F*40Y-C@J*U8M3SLF75(*33HV54$Y5C5;-U19.#$F72D[-B5'.31=4#\U
  349. M73\S14%".28U1B)"74$[)R%(.#9%33@V/44^4R1`.#8Q1`I-*"5=+C8D,4\R
  350. M-E5!.58U+SPG540Y-C@J*3(U)3M&,20[5BU5.S8U3CU@2"HY5RU!/48T*B@B
  351. M73\W5%DX"DTX1B53.39503TG*4D^(B%-.#<Q4CHW0$`X5S52/$8U3CTF54$]
  352. M)RE)/B(A1#DV."HY5RE%/%<Q3SQ&-"H*32DR-24[1C$P/$9=3#M6/"HI,C4B
  353. M.38]23M%+44])S50(D)=3SU&)4PH)TPJ*")@0"@G,5(X-EE3.R8E5`I-.3(A
  354. M4SA6)4PY,B%..3<]4#@W,4@H(V!.+3)@4"M#-$`L(EA5*"-@0"Q3.%`H)B52
  355. M.%!)72@F,44Y0F!/"DT[)D5..3(A6R)"8$`H(B%-.U<Y13TF7$`\1E%).T8U
  356. M5#M2(5,])RE/.E8T*C\R(40Y-CA`*U<M13TG-5`*32@G3"HH(F!`*"<M13TF
  357. M44D[1C57.C8Q5#HB(5,Y-S%,.C9913A6)5`H)RU%/29123M&-4H[5D5.*"8]
  358. M4PI-.#<Y12)'5$`Y)C5&*")=03Q'*4\]4B%;(D)@0"@B(4XY-SU0.#<Q2"@F
  359. M54\]1C54.U(A1#TW8$`\1EU4"DTX-S%%*")442Q28%8H)RE,.C9913TF7$`M
  360. M(F!-+4(A4CLF14XY-S%/*")45"@B5%8H)RE,.C9913TF7$`*33A644\\5C50
  361. M.#<Q2"@F/5,X-SE%*"-@0#Q6-50[)D5..39)3SHV6$`\5S%2.U9-12@F/5(Y
  362. M-RU4.U<I10I-*"8Y23LF4$`[1C5'*"<I3STF)50Y,$E=*"8Q13E`2$4I-#5.
  363. M.24M13TG-5`B0V!`+")@5RXS*$`L,V!0"DTN(B%2.38M5#A644D\8$A1+C,L
  364. M0"TC.%,H(RQ9*",H5RM#-$`\1C5#/28M3#HW8"HL,T13*",P5BQ28%,*32XR
  365. M8%(M4EA5*"<I13A7,4,[)D50(D-@0"PB8%(H)RU%/2<U4")#+%DK0RA8+3,\
  366. M4"U"8%(M4V!.+4,D50I-+%,T5B@G,5(X-EE3.R8E5#DP2%`K0SQ1+2,H6"U"
  367. M8%`K0SA1+3,L6"TR(5,X5B5,.3!(4"@G+44])CU2"DTX-T0J+#(A4SDW,4$[
  368. M)R%(.#!)1SQ6)58Y,$E..3<]4#@W,4@B1RU9/%<Q13LV,4DX5S`J.$8U1SHV
  369. M6"H*32Q#*%4H(RQ2+2)@4BU#8$`L4RQ7*"<M13TF*4([5T`J+$,H52@C+%,M
  370. M4B%-.U<Y13TF7"HL,F!0*"<I3`I-.C9913TF7"HL,F!0*"<I3#HV644])EPJ
  371. M+#)@32PR(5([)D5..3<Q3R)#)$`L(B%2.R9%3CDW,4\B0V!`"DTK,R1`/$91
  372. M23M&-50[4$A1*")442@G*4PZ-EE%/29<*BPR8$TL,B%2.R9%3CDW,4\B0R1`
  373. M*S,D0#Q&44D*33M&-50[4$A0*")442@G*4PZ-EE%/29<*BPR8%`H)RE,.C99
  374. M13TF7"HL(F!-+#(A4CLF14XY-S%/(D-@0`I-*S,D0#Q&44D[1C54.U!(42@C
  375. M8$`\1E%).T8U5#M02%`H(E11*"<I3#HV644])EPJ+#)@4"@G*4PZ-EE%"DT]
  376. M)EPJ+")@32PR(5([)D5..3<Q3R)#)$`L(B%2.R9%3CDW,4\B0V!`*S,D0#Q&
  377. M44D[1C54.U!(42@C8$`*33Q&44D[1C54.U!(42@C8$`\1E%).T8U5#M02%`H
  378. M(E11*"<I3#HV644])EPJ+#)@4"@G*4PZ-EE%/29<*@I-+#)@4"@G*4PZ-EE%
  379. M/29<*BPR8%`H)RE,.C9913TF7"HL,F!0*"<I3#HV644])EPJ+#)@32PR(5([
  380. M)D5."DTY-S%/(D,D0"PB(5([)D5..3<Q3R)#)$`L(B%2.R9%3CDW,4\B0R1`
  381. M+"(A4CLF14XY-S%/(D,D0"PB(5(*33LF14XY-S%/(D,D0"PB(5([)D5..3<Q
  382. M3R)#)$`L(B%2.R9%3CDW,4\B0V!`+#(A4CLF14XY-S%/(D,D0`I-+"(A4CLF
  383. M14XY-S%/(D-@0"PR(5([)D5..3<Q3R)#)$`L(B%2.R9%3CDW,4\B0V!`+#(A
  384. M4CLF14XY-S%/"DTB0V!`+#(A4CLF14XY-S%/(D,D0"PB(5([)D5..3<Q3R)#
  385. M8$`L,B%2.R9%3CDW,4\B0R1`+#(A4CLF14X*33DW,4\B0V!`+#(A4CLF14XY
  386. M-S%/(D,D0"PB(5([)D5..3<Q3R)#8$`L,B%2.R9%3CDW,4\B0R1`+#(A4@I-
  387. M.R9%3CDW,4\B0R1`+#(A4CLF14XY-S%/(D,D0"PR(5([)D5..3<Q3R)#)$`L
  388. M(B%2.R9%3CDW,4\B0V!`"DTL,B%2.R9%3CDW,4\B0R1`+"(A4CLF14XY-S%/
  389. M(D,D0"PB(5([)D5..3<Q3R)&-4XY8$E3/2<I3SI6-"H*33E7*44\5S%//$8T
  390. M*CE7*44\5S%//$8T*BPB8%`H(V!.+3(A4SDW,54\8$E'/%8E5CDP2%`K0RQ3
  391. M+%,L4PI-+%(A4SDW,4<\1B59(D,D0#Q6-50X-E%0.B8D*BTR8%<H(RA0+4)@
  392. M5"U30$`[5SE!.R(A1CHV44PB1CU2"DTY-RU4.U<I12)#8$`\5C54.5<I03XP
  393. M2%$H)RU%/28E3#PF04$B0S1`+5)@4BPC.$`M(SQ8*"9=5C@V4$`*33LV)50\
  394. M1D58*"8Q13E&)54[)S%-.#<Q4CHW0$`\5C54.S8E5#Q&15@H)RU4/$9=2SDP
  395. M24<\1C53/29=4@I-.3!(4"@C8$`L(EA5*"<M13TG-5`B1CU3.#<Y12)#8$XL
  396. M4RQ3+%,L4RQ2(5,Y-S%'/$8E62)#)$`\5C54"DTX-E%0.B8D*BTR8%<H(RA1
  397. M+2)@5"U3/$`[5SE!.R(A1CHV44PB1CU2.3<M5#M7*44B0V!`/%8U5#E7*4$*
  398. M33XP2%$H)RU%/28E3#PF04$B0S1`+5)@4BPS,$`M(SQ7*"9=5C@V4$`[-B54
  399. M/$9%6"@F,44Y1B55.R<Q30I-.#<Q4CHW0$`\5C54.S8E5#Q&15@H)RU4/$9=
  400. M2SDP24<\1C53/29=4CDP2%`H)RU%/28]4C@W1"HL(EA3"DTL4RQ3+%,L0#Q6
  401. M-50Y5RE!/C!)1SQ6)58Y,$A0*"-@0"U31%(H(R10+"-`0#Q&-4,])BU,.C=@
  402. M*C93)$`*22PB8%`H(E11*"-@0"PS8%`N)51`.%9=3CA6)50B1CU2.3<M5#M7
  403. M*44B0C1%-2<I03HV444\0$@J"F`*?0JL?5QP87)D7'1X-3(P7'1X,3`V,%QT
  404. M>#$V,#!<='@R,3(P7'1X,C8V,%QT>#,R,#!<='@S-S(P7'1X-#(V,%QT>#0X
  405. M,#!<='@U,S(P7&8P7&(P7&DP7'5L;F]N95QF<S(T7&9C,%QC9C`@+B!7:'D@
  406. M96UA:6P@=G,N(&$@<&]S=#\@22!F:6=U<F5D("AP97)H87!S(&EN8V]R<F5C
  407. M=&QY*2!T:&%T('1H:7,@<W5B:F5C="!W87,L('=E;&PL(&9A:7)L>2!S=6)J
  408. M96-T:79E(&%N9"!T96YD<R!T;R!B92!R96QI9V5O=7,@:6X@;F%T=7)E+B!4
  409. M:&%T(&ES+"!P96]P;&4@=&5N9"!T;R!S=')O;F=L>2!H;VQD(&]P:6YI;VYS
  410. M(&%B;W5T(&AO=R!T;R!L87EO=70@<V]F='=A<F4N(%1H:7,@:7,@97-P96-I
  411. M86QL>2!T<G5E('=H96X@>6]U(&-O;&QE8W0@82!T86QL96YT960@9W)O=7`@
  412. M;V8@<&5O<&QE('=H;R!A;&P@:&%V92!S=6-C965D960@:6X@<&%S="!V96YT
  413. M=7)E<R!A;F0@=VES:"!T;R!I;G-T:6QL('1H96ER(&5X<&5R:65N8V4@:6YT
  414. M;R!T:&4@9W)O=7`N($DG=F4@<V5E;B!P96]P;&4@*&UY<V5L9B!I;F-L=61E
  415. M9"D@9V\@=&\@:7)R871I;VYA;"!L96YG=&AS('1O('-U<'!O<G0@=&AE:7(@
  416. M<&]S:71I;VYS+B!3;RP@22!F96QT($DG9"!R97-P;VYD('1O('EO=7(@8VAA
  417. M;&QE;F=E('=I=&AO=70@:6YS:6=H=&EN9R!A(&IA:&%D+EP*7`I;+BXN75P*
  418. M"EQP87)D7'1X,3$R,%QT>#$V.#!<='@R,C0P7'1X,C@P,%QT>#,S-C!<='@S
  419. M.3(P7'1X-#0X,%QT>#4P-#!<='@U-C`P7'1X-C$R,%QF,EQF<S(X7&QI,S8P
  420. M7&9C,5QC9C$@270G;&P@<&]R="!E87-I;'D@=&\@979E<GD@3F585%-415`@
  421. M<W5P<&]R=&5D('!L871F;W)MT&%N9"!T:&%T)W,@86QL($D@8V%R92!A8F]U
  422. M="X@($]T:&5R('!R;V=R86UM97)S(&UA>2!N;W0@8F4@87,@;'5C:WDL('1H
  423. M;W5G:"P@86YD(&UA>2!N;W0@:&%V92!T:&%T(&QU>'5R>2Y<"@I<<&%R9%QT
  424. M>#4R,%QT>#$P-C!<='@Q-C`P7'1X,C$R,%QT>#(V-C!<='@S,C`P7'1X,S<R
  425. M,%QT>#0R-C!<='@T.#`P7'1X-3,R,%QF,%QF<S(T7&9C,%QC9C`@7`I3:6=H
  426. M+BXN($UO<W0@;V8@=7,@:6X@=&AE(")296%L(%=O<FQD(B`H=&TI(&1O;B=T
  427. M(&AA=F4@=&AA="!L=7AU<GDN($EN(&9A8W0L(&UO<W0@8G5S:6YE<W,@8V%S
  428. M97,@9F]R(&UA:VEN9R!M;VYE>2!C86YN;W0@8V]U;G0@;VX@3F585"`H5U`L
  429. M($QO='5S+"!";W-S+"!!9&]B92P@971C*2P@;W(@=&AE(&)U<VEN97-S('!L
  430. M86YS(&%R92!E>'1R96UE;'D@;W!T:6UI<W1I8R!W:71H;W5T(&UU8V@@:&%R
  431. M9"!D871A("A!<'!3;V9T*2P@;W(@87)E(&1E<W1I;F5D('1O(')E;6%I;B!S
  432. M;6%L;"!P;&%Y97)S("A-971R;W-O9G0L(%-T;VYE($1E<VEG;BDN($EF($YE
  433. M6%0@8V%N(&=E="!T:&5I<B!A8W0@=&]G971H97(@9F]R('1H92!C<F]S<RUP
  434. M;&%T9F]R;2!S=7!P;W)T(&UA;GD@;V8@=7,@=VEL;"!B92!R96%D>2!A;F0@
  435. M=VEL;&EN9R!T;R!R:61E('1H92!B;W<M=V%V92X@4V\@9F%R+"!.95A4(&QA
  436. M9W,@:6X@=&AA="!A<F5A("X@2&5N8V4L('=E(&QO;VL@870@;6%R:V5T<R!L
  437. M:6ME(%=I;F1O>F4@*'1M*2Y<"EP*"EQF8S%<8V8Q(%LN+BY=7`H*7&9C,%QC
  438. M9C`@7`H*7&(@22=M(&%G86EN<W0@2'5N9V%R:6%N(&YO=&%T:6]N+B`@22=M
  439. M(&%L<V\@;F]T(&EN8VQI;F5D('1O(&UA:V4@86YY(')U;&5S(&=O=F5R;FEN
  440. M9R!I;G-T86YC92!V87)I86)L92!N86UE<RP@8G5T(&-L87-S(&YA;65S(&%R
  441. M92!C;W9E<F5D("AS964@8V]M;65N="!A8F]V92DN7`H*7&(P(%P*0E17.B!C
  442. M;VUP;&5T92!(=6YG87)I86X@8V]V97)S('9A<FEA8FQE+"!F=6YC=&EO;BP@
  443. M;65T:&]D+"!C;&%S<RP@86YD(&9I;&4@;F%M97,N($EN('-H;W)T+"!E=F5R
  444. M>71H:6YG('1H870@>6]U)V0@;F5V97(@=V%N="!T;R!S964@2'5N9V%R:6%N
  445. M(&]N(#HM*2Y<"EP*"EQF8S%<8V8Q(%LN+BY=7`H*7&)<9F,P7&-F,"!<"D%L
  446. M<V\@;F]T:6-E('1H92!C;&%R:69I8V%T:6]N(&%T('1H92!E;F0@;V8@=&AE
  447. M('!A<F%G<F%P:"!R96=A<F1I;F<@;&]C86QI>F5D($Y)0B=S("A)(&AA9"!O
  448. M;F4@<&5R<V]N(&5M86EL(&UE(&EN(&1I<V%G<F5E;65N="P@87)G=6EN9R!T
  449. M:&%T('1H97D@=V%N=&5D(&QO8V%L:7IE9"!.24(@;F%M97,@:6YS=&5A9"DN
  450. M7`H@7`H*7&(P(%1H92!O;F4@=VEN9&]W+7!E<BUN:6(@:7,@8V]N<VED97)E
  451. M9"!P<F]P97(@3F585"!)0B!E='1I<75E=&4N($ET(&%L<V\@=V%S(&]R:6=I
  452. M;F%L;'D@<F5L871E9"!T;R!E87)L>2!P97)F;W)M86YC92!C;VYS:61E<F%T
  453. M:6]N<R`H:2YE+B!W86YT:6YG('1O(&QA>GDM;&]A9"!A<R!M=6-H(&%S('!O
  454. M<W-I8FQE*2X@06X@86YT:2UE>&%M<&QE(&]F('1H:7,@*$EF($D@<F5M96UB
  455. M97(@8V]R<F5C=&QY*2!I<R!7;W)D4&5R9F5C="P@=VAI8V@@;&]A9',@<VQO
  456. M=VQY(&)E8V%U<V4@;75L=&EP;&4@=VEN9&]W<R]P86YE;',@:6X@82!S:6YG
  457. M;&4@;FEB("AI;B!W:&EC:"!T:&4@87)C:&EV960@;V)J96-T<R!W:6QL(&)E
  458. M(&=E='1I;F<@82!R96%D.B!A;F0@87=A:V4@8V%L;"DN($D@;6EG:'0@861D
  459. M('1H870@=&AE<F4@:&%S(&)E96X@9&ES8W5S<VEO;B!A8F]U="!N:6(@;&]A
  460. M9&EN9R!A;F0@,RXP('=H:6-H(&UI9VAT('1E;F0@=&\@<F5V97)S92!.95A4
  461. M)W,@;W)I9VEN86P@<&]S:71I;VX@*&UO<W0@;V8@=&AE(#,N,"!S;&]W+61O
  462. M=VX@:7,@<F5L871E9"!T;R!N:6(O9&ES:R]M96UO<GD@<W1U9F8I+B!!;'1H
  463. M;W5G:"!T:&4@<W1A;F-E(&AA<R!N;W0@8VAA;F=E9"P@:&]P969U;&QY('1H
  464. M:7,@9&5M;VYS=')A=&5S('1H870@=&AE(&-O;G9E;G1I;VX@<F]S92!F<F]M
  465. M(&%N('5N9&5R;'EI;F<@:6YT96YT.B!P97)F;W)F;W)M86YC92P@=VAI8V@@
  466. M8V%N(&-H86YG92!H;W<@=&AI;F=S(&=E="!I;7!L96UE;G1E9"Y<"EP*22!T
  467. M:&EN:R!T:&%T)W,@86QS;R!M>2!P;W-I=&EO;B!O;B!S=&%N9&%R9',Z(&$@
  468. M<W1A;F1A<F0@9F]R('1H92!S86ME(&]F(&$@<W1A;F1A<F0@:7,@;F5A<FQY
  469. M(&%K:6X@=&\@9&]G;6$N($$@<W1A;F1A<F0@:6X@86YD(&]F(&ET<V5L9B!I
  470. M<R!T:&5R92!T;R!S97)V92!A('!U<G!O<V4@;W(@<V5T(&]F('!U<G!O<V5S
  471. M+B!4:&5S92!P=7)P;W-E<R!W:6QL(&QI:V5L>2!V87)Y(&1E<&5N9&EN9R!O
  472. M;B!T:&4@96YV:7)O;FUE;G0@;VYE(&9I;F1S('1H96US96QV97,@:6XL(&%N
  473. M9"!S;R!T:&4@<W1A;F1A<F1S('=I;&P@8F4@;V8@:6YC<F5A<V5D('-E<G9I
  474. M8V4@:68@=&AE>2!C86X@861A<'0@=&\@86EM<R!O9B!T:&4@<')E<V5N="!A
  475. M<'!L:6-A=&EO;B`H8G)O860@;65A;FEN9RDN7`I<"DD@<&5R8V5I=F4@=&AA
  476. M="!Y;W4G<F4@871T96UP=&EN9R!T;R!I;7!L96UE;G0@82!S970@;V8@<G5L
  477. M97,@*'-T86YD87)D<RD@=&AA="!S97)V92!Y;W5R(&)E<W0@=71I;&ET>2X@
  478. M24U(3RP@9FEN9"!O=70@=VAA="!G;V%L<R!Y;W4G<F4@=')Y:6YG('1O(&%C
  479. M:&EE=F4L('!R:6]R:71I>F4@=&AE;2P@86YD('1H96X@<V5E(&AO=R!T:&5Y
  480. M(&-O9&EF>2!I;G1O(&$@<G5L92US970N($UY(&5X<&5R:65N8V4@:7,@=&AA
  481. M="!Y;W4G;&P@96YD('5P('=I=&@@82!D:69F97)E;G0@<V5T(&]F('-T86YD
  482. M87)D<R`Z+2DN7`H*7&(@7`I)('!R97-U;64@>6]U(&UE86XZ(")S;VUE('!A
  483. M;F5L<R]W:6YD;W=S(&EN('-O;64@3DE")W,@9&]N)W0@:&%V92!T:71L97,B
  484. M+B`@37D@<75E<W1I;VX@=V]U;&0@=&AE;B!B93H@=VAY(&1O97-N)W0@=&AE
  485. M('!A;F5L+W=I;F1O=R!H879E(&$@=&ET;&4_("!7:&%T('=O=6QD(&ET(&AU
  486. M<G0@=&\@<'5T(&$@=&ET;&4@:6X_("!.;W1E('1H870@=&AE(')U;&4@22!G
  487. M879E(&1O97,@9VEV92!Y;W4@<V]M92!D:7-C<F5T:6]N(&EN('1H92!C:&]I
  488. M8V4@;V8@=&AE('1I=&QE.EP*7`H*7&(P($]F=&5N('1I;65S(&YI8G,@87)E
  489. M('5S960@=&\@8V]L;&5C=&EO;B!I;6%G97,@*&%S(&EN('!A<G1S(&]F(%=-
  490. M*2P@;W(@8V]N=')O;',@*&-O;6UO;B!F;W(@8W5S=&]M('=I;F1O=W,I+"!O
  491. M<B!I;G-E=',@=&\@;W1H97(@<&%N96QS("AI+F4N(&-U<W1O;6EZ:6YG($YE
  492. M6%0G<R!P<FEN="!P86YE;"P@3F585"=S('5S92!O9B!S=6)P86YE;',@:6X@
  493. M=&AE($-O;&]R('!I8VME<BDN(%1H97-E('1I=&QE<R!N979E<B!G970@9&ES
  494. M<&QA>65D(&%N9"!O9G1E;B!A<F4@;75L=&DM<'5R<&]S92Y<"@I<8B!<"@I<
  495. M8C`@6RXN+EU<"G)E.B!N979E<B!T;W5C:&EN9R!A='1R:6)U=&5S+VEN<W1A
  496. M;F-E('9A<G,N+BY<"EP*270@9&5P96YD<R!O;B!H;W<@(G!U<FES="(@;W(@
  497. M=&AE;W)E=&EC86P@=G,N('!R86-T:6-A;"!Y;W4@=V%N="!T;R!G970N(%=I
  498. M=&AI;B!T:&4@<V%M92!M;V1U;&4O8VQA<W,@:70@;6%Y(&)E(&%C8V5P=&%B
  499. M;&4@=&\@<F5F97(@=&\@=&AE(&EN<W1A;F-E('9A<FEA8FQE('9S+B!T:&4@
  500. M;65T:&]D+"!E<W!E8VEA;&QY('=H97)E('-P965D(&ES(&-O;F-E<FYE9"Y<
  501. M"EP*"EQB($EF(&ET)W,@=VET:&EN('1H92!S86UE(&EN<W1A;F-E(&]F(&$@
  502. M8VQA<W,@*&DN92XL('1H92!S86UE(")M;V1U;&4B/]!W:&%T(&1O('EO=2!M
  503. M96%N(&)Y(&$@(FUO9'5L92(L(&%N>7=A>3\I+"!T:&4@:6YS=&%N8V4@=F%R
  504. M:6%B;&5S(&]F(&$@9VEV96X@:6YS=&%N8V4@;V8@82!C;&%S<R!A<F4@86-C
  505. M97-S:6)L92!T;R!A;&P@;65T:&]D<R!O9B!T:&%T(&EN<W1A;F-E(&%N>7=A
  506. M>2P@<F5G87)D;&5S<R!O9B!T:&4@=F%R:6%B;&5S)R!C;&%S<VEF:6-A=&EO
  507. M;B`H<'5B;&EC+"!P<F]T96-T960L(&]R('!R:79A=&4IT'-O(&EN('1H:7,@
  508. M8V%S92!T:&5R92!W;W5L9"!B92!N;R!A9'9A;G1A9V4@=&\@9&5C;&%R:6YG
  509. M(&%N>2!O9B!T:&5M('!U8FQI8RY<"EP*7`I"=70L(&EF('EO=2!A<F4@=&%L
  510. M:VEN9R!A8F]U="!D:69F97)E;G0@:6YS=&%N8V5S(&]F('1H92!S86UE(&-L
  511. M87-ST'=H870@<F5L979A;F-E(&1O97,@=&AE(&9A8W0@=&AA="!T:&5Y(&%R
  512. M92!O9B!T:&4@<V%M92!C;&%S<R!H879E/R`@22!G=65S<R!I9B!I="!E>&5C
  513. M=71E<R!F87-T97(L('1H96X@=V4@<VAO=6QD(&%L;"!J=7-T(&=O(&)A8VL@
  514. M=&\@:&%V:6YG(&=L;V)A;"!V87)I86)L97,@9F]R(&5V97)Y=&AI;F<@*&%L
  515. M82!7:6YD;WIE*3]<"EP*"EQB,"!!(&UO9'5L92!I;B!/8FI#(&ES(&%N>2`J
  516. M+FT@9FEL92X@4W1R:6-T;'D@<W!E86MI;F<@22=L;"!M96%N('1O(&EN=&5R
  517. M<')E="!T:&4@86)O=F4@87,@=7-I;F<@86X@:6YS=&%N8V4@=F%R:6%B;&4@
  518. M=VET:&EN('1H92!C;VYF:6YE<R!O9B!T:&4@;W)I9VEN86P@8VQA<W,@8V%T
  519. M96=O<GD@86YD('=I=&AI;B!A('-I;F=L92!F:6QE+B!3;RP@22=M(&YO="!A
  520. M9'9O8V%T:6YG(&1I<F5C=&QY('5S:6YG(&%N(&EN<W1A;F-E('9A<FEA8FQE
  521. M(&EN(&$@<W5B8VQA<W,@;W(@8V%T96=O<GDL(&]N;'D@=VET:&EN('1H92!B
  522. M;W5N9',@;V8@:70G<R!C;&%S<R!I;7!L96UE;G1A=&EO;BP@86YD('1H96X@
  523. M;VYL>2!F;W(@<F5A<V]N<R!O9B!S<&5E9"X@3W1H97)W:7-E('EO=2!R:7-K
  524. M('-K:7)T:6YG('1H92!B96YE9FET<R!O9B!/3U`N7`I<"ELN+BY=7`H*7&(@
  525. M7`I))W9E(&)E96X@9FEN9&EN9R!T:&%T('1H92!T:&ER9"!C:&5C:VEN9R!Y
  526. M;W4@;65N=&EO;B`H:6YV87)I96YT<RD@:7,@97-P96-I86QL>2!I;7!O<G1A
  527. M;G0@=VET:"!$:7-T<FEB=71E9"!/8FIE8W1S+B`@5&AE<V4@='EP97,@;V8@
  528. M;V)J96-T<R!S965M('1O(&5I=&AE<B!N965D('-T871E+6UA8VAI;F4@;&]G
  529. M:6,@:6YS:61E(&]F('1H96TL(&]R(&5L<V4@<')O=FED92!S;VUE('-O<G0@
  530. M;V8@;75T97@M;&]C:VEN9R!M971H;V1S+B`@06YD(&EN(&%N>2!C87-E+"!T
  531. M;R!I;7!L96UE;G0@<W5C:"!M96-H86YI<VUS+"!T:&4@;V)J96-T(&UU<W0@
  532. M(G)E;65M8F5R(B!W:&\@<V5N="!E86-H(&UE<W-A9V70<V\@(G-T871E(B!I
  533. M;F9O<FUA=&EO;B!I<R!Q=6ET92!C;VUM;VXN7`H*7&(P(%P*1&ES=')I8G5T
  534. M960@3V)J96-T<R!I<R!P<F]B86)L>2!A(&=O;V0@<&QA8V4@=&\@87!P;'D@
  535. M=&AE(&EN=F%R:65N="!C:&5C:VEN9RY<"@I<8B!<"@I<8C`@+BXN7`I<"@EP
  536. M<F]T;V-O;',@87)E(&-O;VPL(&)U="!N;W0@<W5P<&]R=&5D(&]U='-I9&4@
  537. M3F585"`Z+2A<"EP*7`H*7&(@(%-O/R`Z+2D@7`H*7&(P(%P*06-T=6%L;'DL
  538. M('=E('5S92!C871E9V]R:65S+"!B=70@:70G<R!Y970@86YO=&AE<B!T:&EN
  539. M9R!T:&%T(&UA:V5S(&QI9F4@:&5L;"!P;W)T:6YG('1H:6YG<R!T;R!O=&AE
  540. M<B!P;&%T9F]R;7,@.BTH7`I<"EP*"EQF,2!<"@I<8B!4:&%N:RUY;W4@9F]R
  541. M('EO=7(@<F5S<&]N<V4N("!3:&]U;&0@=V4@<W1A<G0@<VAA<FEN9R!O=7(@
  542. M9&ES8W5S<VEO;B!W:71H('1H92!N970_7`I<"@I<9C!<8C!<9F,Q7&-F,2!)
  543. M9B!Y;W4G9"!L:6ME+"!P97)H87!S('EO=2!C86X@<&]S="!A('-U;6UA<GDN
  544. M7`I<"G)E9V%R9',L7`I<"DME=FEN"EQP87)D7'1X,3$U,EQT>#(S,#1<='@S
  545. M-#4V7'1X-#8P.%QT>#4W-C!<='@V.3$R7'1X.#`V-%QT>#DR,39<='@Q,#,V
  546. M.%QT>#$Q-3(P7&8Q7&9C,%QC9C`@7`I<"BTM7`I.979I;B!0<F%T="P@1&EG
  547. M:71A;"!496-H;F]L;V=Y+"!);G0G;"`@("!/<F5M+"!5=%P*3F585&UA:6P@
  548. M<')E9F5R<F5D+"!B=70@3TY,62!A="!M>2!214%,(&5M86EL(&%D9')E<W,Z
  549. =(&YE=FEN0&1T:6YT+F1T:6YT+F-O;5P*7`H*?0I,
  550. `
  551. -- 
  552. ---
  553. root                                   root@dtint.dtint.com
  554. Digital Technology Int.                (801)226-2984    
  555. 500 W. 1200 South, Orem UT, 84057      FAX (801) 226-8438
  556.